一、初识输入输出
一、初识输入输出
1. cin 标准输入对象
cin 需要头文件 <iostream>,并且 cin 是定义在名为 std 的命名空间 (namespace) 中的。
std::cin >> v1 >> v2;
上述代码是一个输入示例,表示将第一个输入的值存入 v1,第二个输入的值存入 v2。输入运算符 >> 返回其左侧运算对象作为其计算结果,并且存入右侧对象当中。上述代码等价于:
(std::cin >> v1) >> v2;
它与下面两条语句执行结果是一样的:
std::cin >> v1;
std::cin >> v2;
2. cout 标准输出对象
给出示例代码:
std::cout << "The sum of " << v1 << " and " << v2 << " is " << v1 + v2 << std::endl;
endl是一个被称为操纵符的特殊值,作用是结束当前行,并将与设备相关联的缓冲区 (buffer) 中的内容刷到设备中。
如果不想在每一个 cin 和 cout 之前都加上 std::,可以在程序的最开始加上语句:
using namespace std;
3. 示例:读取数量不定的输入数据
#include <iostream>
using namespace std;
int main (){
int sum = 0, value = 0;
//读取数据直到遇到文件尾,计算所有读入的值的和
while(cin >> value){
sum += value; //等价于 sum = sum + value
}
cout << "Sum is: " << sum << endl;
return 0;
}
如果输入数据为:
3 4 5 6
则程序会输出:
Sum is: 18
当我们使用一个 istream 对象作为判断的条件时,其效果是检测流的状态,如果流未遇到错误则检测成功,当遇到文件结束符 (end-of-file),或者遇到一个无效输入时,istream 对象的状态会变成无效,判断条件此时为假。
从键盘输入文件结束符
Windows:Ctrl+Z
UNIX 以及类 UNIX 系统(包括linux和Mac OS):Ctrl+D