C++与C语言的区别——C++是对C语言的扩展(二)——输入cin与输出cout
来源:互联网 发布:共享 网络打印机 运行 编辑:程序博客网 时间:2024/05/29 04:26
C++中使用cin和cout 完成输入输出操作。与scanf和printf 不同,scanf 和printf 是函数,而cin 和cout 是类对象。,属于流操作符。什么是流呢?术语“流”想要表达的意思是:随着时间的推移,字符是顺序生成或者消耗的。咱们看一下是如何“流”的.
1) 流输入只决定了先后顺序
比如说下面这段代码
int a,b;cin >> a >>b;
实际上等价于cin >>a, cin >>b,你千万不要以为此时a =b了。
2)可以输入输出不同类型的变量
int a;char b;cin >>a>>b;
在C++中这样输入是完全可以的,不受空格、回车或者Tab键的影响。但是在C语言中,输入就比较麻烦。
3)格式化输出
C语言中,Printf() 函数拥有强大的格式控制输出。C++也可以实现。说明一个小知识点,由于计算机没有FPU,对于浮点型的数据,小数位都是不准确的。
cout 默认输出6位有效数字。但是流算子setw()可以设置域宽,但是要包含头文件 #include <iomanip>。比如下面这段代码。
int main(){int a = 12345;cout << "xxxxxxxxxxxx" << endl;cout << setw(8) << a << endl;}
输出结果为:
是不是就输出了8位啊~
如果要设置左对齐呢,也很方便,比如下面:(右对齐是 right)
int main(){int a = 12345;cout << "xxxxxxxxxxxx" << endl;cout << setiosflags(ios::left )<<setw(8) << a << endl;}得到结果:
如果我们想设置小数点位数呢?将setprecision(n)<<setiosflag(ios::fiexed)组合起来使用即可
int main(){float a = 1.28273959705267;cout << setprecision(3) << setiosflags(ios::fixed) << a << endl;//setprecision(3)设置小数点位数,需要四舍五入cout << setprecision(4) << setiosflags(ios::fixed) << a << endl;}
得到结果:
如果想按照进制输出呢?代码如下
int main(){int a = 100;cout << dec << a << endl;//默认是十进制cout << oct << a << endl;//八进制cout << hex << a << endl;//十六进制cout << setbase(16) << a << endl;//十六进制}结果如下:
如果想设置填充符呢,代码如下:
int main(){int a = 1234;cout << "xxxxxxxxxxxxxx" << endl;cout << setw(10) << a << endl;cout << setfill('x') << setw(10) << a << endl;cout << setfill('x') <<setiosflags(ios ::left) << setw(10) << a << endl;//左对齐以后,在右面填充 x}结果如下:
4) 读取数量不定的输入数据
当我们使用一个istream对象作为条件时,其效果是检测流的状态。如果遇到文件结束符(按下 Ctrl +Z,松开手,然后按回车)或者遇到一个无效输入时,istream对象状态变为无效。比如说读取 n 和数,计算前 n 个数据之和。代码如下:
int main(){int sum = 0, value = 0;while (cin >> value){sum += value;}cout << "sum = " << sum << endl;return 0;}
注意,空格和 enter 键都不能结束流输入。
- C++与C语言的区别——C++是对C语言的扩展(二)——输入cin与输出cout
- C++与C语言的区别——C++是对C语言的扩展(一)
- C++对C的扩展之cin与cout
- C语言的本质(23)——C标准库之输入与输出(上)
- C语言的本质(24)——C标准库之输入与输出(下)
- C语言数据的输入与输出
- C语言的输入与输出
- C语言的输入与输出
- C语言控制台的输入与输出
- 【C/C++】Cin与Cout
- C语言基础二 -----文件的输入与输出
- C++输入与输出—cout和cin的用法
- C++输入与输出—cout和cin的用法
- 初识C++——C语言与C++的区别
- C++语言(二)——C++对C语言基础语法的扩展
- 黑马程序员—C语言输入与输出
- C语言输入与输出
- C语言输入与输出
- 参数一个以上的问题解决方法
- (3)选择器练习
- 创建一个继承父类的类
- Xamarin.Android开发入门——Hello,Android Multiscreen深入理解
- 第四章:组件之间的通讯
- C++与C语言的区别——C++是对C语言的扩展(二)——输入cin与输出cout
- PAT basic 1006
- sublime text 3配置java编译和运行环境,调用cmd
- windows服务器部署tomcat及项目
- 设置一个对象的属性
- C++11 多线程
- ios 调用系统功能打电话、发信息
- PAT basic 1007
- go defer简单理解