文章目录
- 4.cin
- 4.1 基本功能
- 4.2 常见数据类型的输入
- 4.3 cin多项输入中的分隔符
- 如果需要将空格作为输入的一部分读入
- 4.4 使用 cin 一次读取多个整数
- 方法一
- 方法二
接上一篇 cout C++入门(07)标准输入输出_cout、缓冲、\n endl
4.cin
4.1 基本功能
C++ 标准输入
cin 是一个控制台输入对象, 使用 >> 操作符(提取操作符)
示例:
cin >> number;
这行代码运行时,控制台界面光标闪烁,是在等待用户的输入
当用户输入一个整数并按下回车后,输入的整数会被存储在number变量中
4.2 常见数据类型的输入
cin 不仅可以读取整数,还可以读取其他数据类型,如浮点数、字符和字符串等
在实际项目中,尤其是复杂项目中,很多企业和开源项目的代码规范,都明确建议、要求、推荐显式使用std::前缀
在小型示例,课程学习过程中,通常使用 using namespace std; 来减少代码的冗长
4.3 cin多项输入中的分隔符
cin(标准输入)读取用户输入时,默认使用 空格、回车Enter、制表符Tab 作为输入的分隔符
这里将 空格、回车Enter、制表符Tab 统称为 “空白”
意味着在输入缓冲里,缓存着 文本和空白的混合项,
cin 在缓存里从第一个非空字符开始的位置提取输入项,直到遇到空白,则停止读取,作为一项
然后,把读取的这一项存储到变量中【需要类型匹配】,
然后,结束该项的读取动作
空白后面的内容会在下一个cin请求中继续读取
示例:
cin在读取时遇到空格就会停止,因此它只读取了Li,忽略了空格后的 Lei
如果需要将空格作为输入的一部分读入
如果需要读取包括空格在内的整行输入,使用 getline()函数,读取整行的输入(包括空格),直到遇到回车为止
4.4 使用 cin 一次读取多个整数
方法一
用户一次输入多个整数,以空格或回车分隔,适用于输入的项数是确定的情况
例如,cin >> a >> b >> c;
依次读取数据到变量a、b、c中【输入项和变量需要类型匹配】
在用户的输入中是有数字、空格或回车多种类型的符号的
cin在遇到空格或回车时认为一项提取完
然后寻找下一个非空开头的位置,读取下一项到下一个变量中
方法二
循环读取多个整数,直到用户结束输入,例如输入非整数或者 Ctrl+Z(Windows)
适用于输入项的个数不确定的情况
while (cin >> number)
在用户每次输入一个整数后读取并输出
循环持续运行
直到用户输入非整数值(cin读入的项和存储该项的变量类型不匹配,导致cin进入错误状态,while循环的条件不成立)
或者直到手动结束 ctrl + z