第03章 简单的输入输出
C++学习
第3章 简单的输入/输出
C++学习
第3章 简单的输入/输出3.1 传统的输入/输出函数实现方法输入:从键盘输入数据赋给变量 输出:指计算机把计算结果送到显示器上显示 应用程序可以包含零个或多个输入 应用程序至少包含一个或多个输出
传统程序使用I/O函数实现输入/输出操作 C++程序使用操作符重载方法实现输入/输出流技术 C++中输入/输出实现更加简单方便2
C++学习
3.2 cin 输入流键盘输入称为标准输入(standard input) 显示器输出称为标准输出(standard output) C++中通过输入/输出流来实现标准输出/输出操作。 输入操作通过流cin来实现 输出操作通过流cout来实现 使用输入流 cin ,必须在程序的第一行包含头文件。 即:#include <iostream.h>
C++学习
3.2 cin 输入流cin一般格式: cin >> <变量1> [ >> n> ]
<变量2>... >>
<变量
运行时: 例:int i , j ; 输入:1 2 <回车> float x , y ; 3.2 4.5 <回车> cin >> i >> j ; 则 变量 i、j 的值为 1、2 cin >> x >> y ; 变量 x、y 的值 3.2 和 4.5
“>>”称为提取运算符,表示程序暂停执行,等待 从输入流中提取数据赋给变量 将cin想象成键盘,“>>”想象成数据流向箭头, 可以很容易记忆输入操作
输入的数据之间用分隔符分隔:<空格>、<回车>、 <Tab键> 4
C++学习
3.2 cin 输入流每行末尾输入回车键的作用是: 1.告诉cin一行数据已经输入完毕,cin开始提取用户 输入的数据(忽略分隔符),并依次将所提取的数 据赋值给cin中所列举的变量中尚未获得数据的变量。 2.在屏幕上显示光标换行,为下一行的输入或者显示 程序的输出结果做好准备,起到输入数据之间以及 输入数据与输出结果之间的分隔符的作用。 用户输入数据的个数小于变量的个数。则在提取 完输入行的有效数据后仍有变量没有获得数值,当 前的输入语句不会结束,会继续等待用户输入新的 一行数据。5
C++学习
3.2 cin 输入流用户输入的数据个数大于变量的个数。则输入语 句只依次提取输入行中的部分数值给变量。而多余 的数值会被下一条cin输入语句中的变量所提取,或 者在没有后续的输入语句的情况下被程序舍弃。 int i , j ; cin >> i >> j ; 若输入:100 200 300<Enter>,300将被程序舍 弃。 如果用户输入的一行仅仅是一个回车键,则cin把 该键作为分隔符来处理(将其忽略),只是在屏幕 上显示光标换行,程序会继续等待用户输入数据。6
C++学习
3.2 cin 输入流输入数据的类型由cin根据变量的类型来自动判定。 从键盘上输入数据的个数、类型及顺序,必须与cin 中列举的变量一一对应。 例如: int a, b; cin >> a >> b; 执行cin时,若输入字符数据: D F <Enter> 由于用户输入的数据是字符类型,而对应的接收 变量是
整数类型,两者类型不匹配,变量a得不到有 效值,其值为0。后续的变量b受影响无法继续获得 数值,其值为一个随机数。错误会继续向后延伸, 7 造成后续的cin语句也不能正确提取数据。
C++学习
3.2 cin 输入流例如:int a; float b; cin >> b >> a;
执行cin时,若输入:300 1.234 <Enter>. 实型b变量获得300.0的数值。而整型变量a同样进 行数据类型转换,将小数1.234转换为整数1,小数 部分被丢弃。
C++学习
3.2.1 输入十六进制或者八进制数据必须在cin中指明相应的数据类型:hex表示十六 进制,oct表示八进制,dec表示十进制。 例3.3:#include <iostream.h> void main( ) { int a,b,c,d; // 变量名a,b,c,d cin >> hex >> a; //指明输入为十六进制数 cin >> oct >> b; //指明输入为八进制数 cin >> c; //输入仍旧是八进制数 cin >> dec >> d; //指明输入为十进制数 cout << a <<','<< b <<','<< c <<','<< d << endl; 9 }
C++学习
3.2.1 输入十六进制或者八进制数据必须在cin中指明相应的数据类型:hex表示十六 进制,oct表示八进制,dec表示十进制。 例3.3:#include <iostream.h> void main( ) { int a,b,c,d; // 变量名a,b,c,d cin >> hex >> a; //指明输入为十六进制数 cin >> oct >> b; //指明输入为八进制数 cin >> c; //输入仍旧是八进制数 输入:20 21 22 23 <Enter> cin >> dec >> a=32, b=17, c=18, d=23 d; //指明输入为十进制数 cout << a <<','<< b <<','<< c <<','<< d << endl; 10 }
C++学习
3.2.1 输入十六进制或者八进制数据使用非十进制输入数据时,要注意几点: 1.八进制或十六进制数的输入,只适用于整型变量, 不适用于字符型变量、实型变量。 2.当在cin中指明使用的输入数制后,则所指明的数 制一直有效,直到在下一个cin语句中指明采用不同 的输入数制时为止。 3.用户从键盘输入数据的格式、个数和类型必须与 cin中所列举的变量类型一一对应。一旦输入出错, 不仅使当前的输入数据不正确,而且使得后面的提 取数据也不正确。
C++学习
3.2.2 输入字符数据 例: char c1 , c2 , c3 ; cin >> c1 >> c2 >> c3;
运行时: 输入:a b c <回车> 或输入:abc <回车> 则 变量 c1、c2、c3 的值为 'a' 、'b' 、'c'
cin 自动跳过输入的空格12
C++学习
欲将空格输入给变量,则应使用 cin.get( ) 函数。 例: char c1 , c2 , c3 ; cin.get(c1); cin.get(c2); cin.get(c3); 运行时: 输入:a b c <回车>则 变量 c1、c2、c3 的值为 'a' 、'
' 、'b'
输入:abc
<回车>
13 则 变量 c1、c2、c3 的值为 'a' 、'b' 、'c'
C++学习
例3.4:#include <iostream.h> void main( ) { int a, b; char c, d; cin >> a >> b; cin >> c >> d; cout << a <<','<< b <<','<< c <<','<< d << endl; } 用户输入:12 34 5678 <Enter>.将12赋值给变量a,将34赋值给变量b。 将‘5’字符赋值给变量c,将‘6’字符赋值给变量d。 剩
余的‘7’字符和‘8’字符将被舍弃。 14
C++学习
还可以使用cin.ignore( )函数对输入的内容有选 择的接收。cin.ignore( )的作用是在字符读取过程 中忽略若干个字符,而读取后面的字符。其格式为: cin.ignore( <忽略的字符个数> );例如: cin >> a >> b; cin.ignore(3); cin >> c >> d;
输入:12
34
5678 <Enter>
输出结果:12, 34, 7, 815
C++学习
借助函数cin.get( )可以将三种分隔符作为字符 输入计算机。 函数cin.get( )的作用是把从键盘上输入的每一 个字符,包括空格符和回车符等分隔符都作为一个 输入字符赋给字符型变量。其格式为: cin.get( <字符型变量> ); 例如:char c5, c6, c …… 此处隐藏:1805字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [幼儿教育]【完整版】2019-2025年中国药物发现外
- [幼儿教育]2018-2019年初中信息技术广东初一竞赛
- [幼儿教育]最新外研版(一起)小学英语五年级上册《
- [幼儿教育]农业推广与创新管理专业 -中农大毕业论
- [幼儿教育]2017-2022年中国更年期用药行业市场深
- [幼儿教育]数学1.1.2第1课时棱柱、棱锥和棱台的结
- [幼儿教育]二年级群文阅读课例欣赏
- [幼儿教育]2010-2015年中国保险行业投资分析及深
- [幼儿教育]厄运打不垮的信念第一课时
- [幼儿教育]巧用文本,让表达在言语中绽放论文
- [幼儿教育]中学生百科知识竞赛题及答案
- [幼儿教育]八大菜系英文简介
- [幼儿教育]中国男装牛仔裤市场发展研究及投资前景
- [幼儿教育]远程数字视频监控系统在银行的应用
- [幼儿教育]光纤光缆制造工艺及设备
- [幼儿教育]国家安全法试题及答案
- [幼儿教育]2011高中提前招生及竞赛试题(物理卷1)
- [幼儿教育]宁夏第三产业房地产业、科学研究和技术
- [幼儿教育]中兴通讯 ME3000模块用户硬件设计手册_
- [幼儿教育]紫外线灯管的辐照强度问题
- 苏联东欧剧变的原因和历史教训浅析
- 人工智能导论实验报告(学生)
- 思科ITE章考试原题及答案
- 《学习雷锋好榜样》主题班会教案
- 加油站建设项目安全评价报告
- 剖析社保卡管理系统
- 2017-2018年影视剧新媒体版权运营行业
- 2017-2018学年四川省成都市高一上学期
- 2019最新高中数学 第三章 3.2.1 几类不
- 2011-2015年中国基酸市场调查及行业前
- 人教版新课标选修八Unit 1 课件Warming
- 郭溪燎原小学辅导学生记录表
- 教师资格证统考综合素质写作秘笈
- 国外校园绿色建筑研究方向与建设实践
- 15.1 动物运动的方式 课件(北师大版八
- 民用飞机空调系统
- 长安侠文化传统与唐诗的任侠主题
- 《中国近现代史纲要》名词解释
- 11金本《保险学概论》复习资料
- 民用建筑机电安装工程专业施工图图纸会




