c++简单的输入输出
运行时: 例:int i , j ; float x , y ; 输入:1 ⎣⎦ 2 <回车> cin >> i >> j ; 3.2 ⎣⎦ 4.5 <回车> cin >> x >> y ; 则 变量 i、j 的值为 1、2 变量 x、y 的值 3.2 和 4.5 输入的数据之间用分隔符分隔:<空格>、<回车>、 <Tab键>
5 南京航空航天大学信息学院计算机基础教研室 制作(版权所有)
3.2 cin 输入流
用户输入的数据个数大于变量的个数。则输入语 句只依次提取输入行中的部分数值给变量。而多余 的数值会被下一条cin输入语句中的变量所提取,或 者在没有后续的输入语句的情况下被程序舍弃。 int i , j ; cin >> i >> j ; 若输入:100 200 300<Enter>,300将被程序舍 弃。 如果用户输入的一行仅仅是一个回车键,则cin把 该键作为分隔符来处理(将其忽略),只是在屏幕 上显示光标换行,程序会继续等待用户输入数据。
南京航空航天大学信息学院计算机基础教研室 制作(版权所有)
3.2.1 输入十六进制或者八进制数据
使用非十进制输入数据时,要注意几点: 1.八进制或十六进制数的输入,只适用于整型变量, 不适用于字符型变量、实型变量。 2.当在cin中指明使用的输入数制后,则所指明的数 制一直有效,直到在下一个cin语句中指明采用不同 的输入数制时为止。 3.用户从键盘输入数据的格式、个数和类型必须与 cin中所列举的变量类型一一对应。一旦输入出错, 不仅使当前的输入数据不正确,而且使得后面的提 取数据也不正确。
南京航空航天大学信息学院计算机基础教研室 制作(版权所有)
16
3.3 cout 输出流
cout一般格式:
cout << <表达式1> [ << <表达式2>... << <表达式n> ]
“<<”称为插入运算符,表示将表达式的运算结果 插入到输出流的末尾,即在显示器上显示。 将cout想象成显示器,“<<”想象成数据流向箭 头,可以很容易记忆输出操作 注意: 运行结果: 1020 例3.6:int a=10, b=20,♦输出数据之间无空白。 c=30, d=40; 3060 double m=5.23, n=100; ♦ endl 与 ‘\n’ 等价。 5.23100 cout << a << b << endl; cout << c << ♦ 输出实型数,小数点后若 n-d << endl; 为0,则不输出小数点。 cout << m << n << endl; 17
南京航空航天大学信息学院计算机基础教研室 制作(版权所有)
3.2 cin 输入流
例如:
int a; float b; cin >> b >> a;
执行cin时,若输入:300 1.234 <Enter>. 实型b变量获得300.0的数值。而整型变量a同样进 行数据类型转换,将小数1.234转换为整数1,小数 部分被丢弃。
6 南京航空航天大学信息学院计算机基础教研室 制作(版权所有)
3.2 cin 输入流
输入数据的类型由cin根据变量的类型来自动判定。 从键盘上输入数据的个数、类型及顺序,必须与cin 中列举的变量一一对应。 例如: int a, b; cin >> a >> b; 执行cin时,若输入字符数据: D F <Enter> 由于用户输入的数据是字符类型,而对应的接收 变量是整数类型,两者类型不匹配,变量a得不到有 效值,其值为0。后续的变量b受影响无法继续获得 数值,其值为一个随机数。错误会继续向后延伸, 7 造成后续的cin语句也不能正确提取数据。
8 南京航空航天大学信息学院计算机基础教研室 制作(版权所有)
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 }
⎣⎦
则 变量 c1、c2、c3 的值为 'a' 、'
<回车> 变量 c1、c2、c3 的值为 'a' 、'b' 、'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。 14 剩余的‘7’字符和‘8’字符将被舍弃。
2 南京航空航天大学信息学院计算机基础教研室 制作(版权所有)
3.2 cin 输入流
键盘输入称为标准输入(standard input) 显示器输出称为标准输出(standard output) C++中通过输入/输出流来实现标准输出/输出操作。 输入操作通过流cin来实现 输出操作通过流cout来实现 使用输入流 cin ,必须在程序的第一行包含头文件。 即:#include <iostream.h>
4 南京航空航天大学信息学院计算机基础教研室 制作(版权所有)
3.2 cin 输入流
每行末尾输入回车键的作用是: 1.告诉cin一行数据已经输入完毕,cin开始提取用户 输入的数据(忽略分隔符),并依次将所提取的数 据赋值给cin中所列举的变量中尚未获得数据的变量。 2.在屏幕上显示光标换行,为下一行的输入或者显示 程序的输出结果做好准备,起到输入数据之间以及 输入数据与输出结果之间的分隔符的作用。 用户输入数据的个数小于变量的个数。则在提取 完输入行的有效数据后仍有变量没有获得数值,当 前的输入语句不会结束,会继续等待用户输入新的 一行数据。
南京航空航天大学信息学院计算机基础教研室 制作(版权所有)
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 >> d; //指明输入为十进制数 a=32, b=17, c=18, d=23 cout << a <<','<< b <<','<< c <<','<< d << endl; 10 }
南京航空航天大学信息学院计算机基础教研室 制作(版权所有)
还可以使用cin.ignore( )函数对输入的内容有选 择的接收。cin.ignore( )的作用是在字符读取过程 中忽略若干个字符,而读取后面的字符。其格式为: cin.ignore( <忽略的字符个数> ); 例如: cin >> a >> b; cin.ignore(3); cin >> c >> d; 输入:12 34 5678 <Enter>
南京航空航天大学信息学院计算机基础教研室 制作(版权所有)
3.3 cout 输出流
为了区分输出的数据项,在每一个输出数据之间要输出分隔符。 分隔符可以是空格、标点符号或者换行符等。 例如:cout << a << ',' << b<< endl;
cout << c << ',' << n-d << endl; cout << m << ',' << n << endl;
输出结果:12, 34, 7, 8
15 南京航空航天大学信息学院计算机基础教研室 制作(版权所有)