1. 说明
“iostream”的意思是输入输出流。直接点说就是in、out、 stream(流),从字面就可以理解这个函数库所要操作的无非是从流中获取输入,向终端流中输出。
“iostream”库的基础是两种命名为 istream 和 ostream 的类型,分别表示输入流和输出流。流是指要从某种 IO 设备上读出或写入的字符序列。术语“流”试图说明字符是随着时间顺序生成或消耗的。
需要注意的是命名空间,当使用“iostream”的时候,该头文件没有定义全局命名空间,必须使用namespace std;这样才能正确使用cout。C++标准程序库中的所有标识符都被定义于一个名为std的namespace命名空间中。
2. 笔试必掌握内容
使用该头文件,无非是想对终端获取输入和输出到终端的功能。标准形式:
#include<iostream> //注意头文件没有.h,那个传统C表示方式,现在使用较少
using namespace std; //记得标注命名空间是std标准库
(datatype) variable;
cin>>variable;
cout<<variable<<endl; //endl是换行的意思
流输入输出接收几乎所有类型,datatype可以为如字符串数组,string类,整型,浮点类型,bool类型(输出为0或1,而不是英文中false或者true,如果想输出为一个文字下面再介绍)。
另外,注意一下流输入输出符号”>>”和”<<”的区别,教个好记忆的方式,流中数据传向哪里,符号箭头指向哪里。cin是从终端读取数据存向变量,即指向变量,所以为cin>>variable
。而cout是将变量中数据提取出来写入终端,所以是从变量中流出到输出缓存区中,即cout<<variable
。
正常获取输入输出,cin/cout就能完成大部分工作。下面介绍一些也可能会在笔试中遇到的冷门功能。
2.1 读取/写入字符,包括空白字符:
char ch;
cin.get(ch); //功能类似stdio.h中getchar()
cout.put(ch);//功能类似stdio.h中putchar()
2.2 十六进制输出
int nVal = 1234;
cout<<hex<<nVal;
2.3 bool输出false/true
这里调用boolalpha函数,功能是把布尔类型值显示为true或false。
bool bFlag =true;
cout<<boolalpha<< bFlag; //如果正常输出,只会输出为1
2.4 输入一行字符串
这个功能在笔试中经常会被使用到,题设经常会让输入一行字符串。而正常cin获取遇到空格就会停止,所以cin正常只会获取一个单词,而并不能保存一句完整的字符串语句。
char nzArr[100];
cin.getline(nzArr,100) //接受空格,第二个参数控制输入字符个数,不够遇'\n'即停止
个人学习记录,由于能力和时间有限,如果有错误望读者纠正,谢谢!