C++标准输入输出

在C++中,I/O数据是一些从源设备到目标设备的字节序列,称为字节流。流分为输入流和输出流两类。输入流(input stream)是指从输入设备(通常为键盘)流向内存的字节序列。输出流(output stream)是指从内存流向输出设备(通常是显示器)的字节序列。
C++程序为了从键盘中输入数据和将数据输出到显示器上,必须包含头文件iostream.h,包括了输入流istream和输出流ostream两种数据类型,并且用这两种数据类型定义了两个变量“istream cin”和“ostream cout”。
一、 cin 和析取运算符>>
cin用于从键盘输入数据。
用法:cin>>x;
x为程序中定义的变量名,原则上为系统内置的简单数据类型。程序执行到cin语句时,就会停下来等待键盘数据的输入,输入数据被插入到输入流中,按Enter键结束。当遇到>>时,就从输入流中提取一个数据,存入内存变量x中。
cin可以同时为多个变量输入数据,在各输入数据之间用一个或多个空白(空格,回车,Tab)作为间隔符,按Enter键结束。
如cin>>x1>>x2>>x3;
等价于
cin>>x1;
cin>>x2;
cin>>x3;
析取运算符>>后只能出现变量名,且应该是系统预定义的简单类型。
cin 能够自动识别数据类型。
int a,b;
char c;
double d;
cin>>a>>b>>c>>d;
输入:23 34 A 34.5 与 23 34 A 34.5.67.8输出结果相同。
二、输出格式控制符
C++提供了许多控制数据输出输入格式的函数和操纵符,定义在头文件iomanip.h中。
① 设置浮点数精度:使用操纵函数setprecision(),用法为:setprecision(n) n代表有效数位,包括整数的位数和小数位数。除非用该函数再次改变输出精度,否则输出精度都指定为上次指定的精度。系统默认精度为6位,输出时按四舍五入取相应的位数输出。
这里写图片描述
② setw(n):设置输出域宽(占用的字符个数)和对齐方式。默认按右对齐。输出数据的位数应该小于n,不足n位,左边留空。只对紧随其后的第一个数据有效。
③ setiosflags() 和resetiosflags():设置和取消输入/输出数据格式,改变数据基数,设置浮点数精度,转换字母大小,设置对齐方式。前者设置一直有效,直到用resetiosflags()取消。
setiosflags(ios::left)左对齐
setiosflags(ios::right)右对齐
setiosflags(ios::fixed)以定点格式显示浮点数据,小数位数显示6位,不足补0。
setiosflags(ios::uppercase)对于16进制数值显示大写字母A~F,对于科学格式显示大写字母E。
setiosflags(ios::showpos)对于正数显示“+”
setiosflags(ios::scientific)以科学格式显示浮点数值。
这里写图片描述
三、数制基数
iostream.h 定义了hex oct dec 分别表示十六进制,八进制,十进制,默认为十进制。用cin 输入时,十六进制数前加0x 或 0X,八进制前加0。设置数值基数后,一直有效,直到设置下一个基数。设置方式cout<

猜你喜欢

转载自blog.csdn.net/Little_Star_XingNian/article/details/81367684