一.标准输入输出流库及输入输出流对象及符号介绍
< iostream >:input output stream的缩写,是标准的输入输出流库,定义了标准的输入输出流对象。
std::cin:istream类的对象,是 C++ 标准库中用于从标准输入(键盘)读取数据的对象,定义在 头文件中。
std::cout:ostream类的对象,是 C++ 标准库中用于向标准输出(屏幕)打印数据的对象,定义在 头文件中。
std::endl:是一个函数,流输入输出时,相当于插入一个换行字符并刷新缓冲区。
<<:流插入运算符,是 C++ 标准库中用于将数据写入输出流、配合std::cout实现屏幕输出的运算符,定义在头文件中。
>>:流提取运算符,是 C++ 标准库中用于从输入流读取数据、配合std::cin实现键盘输入的运算符,定义在头文件中。
cout/cin/endl等都属于C++标准库,C++标准库都放在一个叫std(stander)的命名空间里,所以要通过使用命名空间内对象的方法来使用它们。
二.C++输入与输出语法演示
cout 与 << 搭配
cout<<输出内容
表示将 “输出内容” 插入到 cout输出流 中输出
#include <iostream> using namespace std; int main() { cout<<"hello world"<<endl; cout<<78<<22<<endl; return 0; }cin 与 >> 搭配
cin>>接收输入内容的对象
表示将 从cin输入流中提取出来的内容,即输入内容 输入到 “接收输入内容的对象” 中
#include <iostream> using namespace std; int main() { int receive; cin>>receive; int re1,re2; cin>>re1>>re2; return 0; }三.C++输入输出相较C输入输出优点
C++输入输出不需要像scanf和printf那样指定格式和类型,C++输入输出可以自动识别变量类型(本质通过函数重载实现),还能更好的支持 自定义类型对象 的输入输出
四.C++输出的精度控制
C++输出能够像C那样决定输出精度吗?
C++能够使用 fixed和setprecision函数 像C那样决定输出精度
setprecision:是 C++ 标准库中用于控制浮点数输出精度的流操纵符,定义在 < iomanip > 头文件中。
fixed:是 C++ 输出流格式控制标志,属于ios格式控制常量,作用是将浮点数设置为固定小数形式输出,定义在 < iomanip > 头文件中。
语法如下
//总共保留n位有效数字(不固定小数) cout << setprecision(n) << 变量;//固定保留小数点后 n 位 cout << fixed << setprecision(n) << 变量;实际上,C++一定程度上兼容了C,可以穿插着使用两种输出模式完成输出格式和输出精度的控制
五.提高输入输出效率的三行代码
在io需求比较高的地方,如部分大量输入的竞赛题中,加上以下3行代码
可以提高C++的io效率
int main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); return 0; }