
一起动脑筋 · 先看一个小故事
机器人不知道你有几颗糖,必须先问你。你输入 3,它再告诉你加两颗后有多少。
把过程摊开来看
- 输入键入 3
- 保存candies 变成 3
- 计算3 加 2
- 输出显示 5
std::cin 常用于读取输入,std::cout 常用于输出。
输入把外面的数据带进程序;输出把结果送出来。变量连接这两个方向,让程序记住刚收到的数。
01程序为什么需要输入和输出?
很多程序都需要接收数据,再把处理结果告诉我们。
输入→处理→输出
02cout 是怎样输出的?
std::cout << "Score: " << 95 << '\n';std::cout 是标准输出流对象,<< 把右边的数据依次写进输出流。
03cin 是怎样输入的?
int age;
std::cin >> age;std::cin 是标准输入流对象,>> 会按照变量类型尝试读取并转换输入。
04一个完整的小例子
#include <iostream>
int main() {
int a, b;
std::cin >> a >> b;
std::cout << a + b << '\n';
return 0;
}输入 3 5,程序会输出 8。
05输入的数据怎样变成变量?
终端输入本质上是一串字符,std::cin 会根据目标变量类型尝试转换。给整数变量输入 hello 时,输入会失败。
06cin 为什么会受空格和换行影响?
使用普通 >> 读取数字或单词时,前导空白通常会被跳过,空格、Tab、换行常作为分隔。读取一整行文字常用 std::getline。
07程序真的在和我们聊天吗?
“让程序和我们说话”只是比喻。更准确地说,cin 和 cout 是输入输出数据流。
你已经知道了什么
- cin 和 cout 属于 C++ 标准输入输出流。
- cout 写标准输出,cin 读标准输入。
- 输入字符会根据变量类型尝试转换。
- 普通 >> 读取常用空白分隔数据。
- 读取整行文本时可以使用 getline。
轮到你来试一试
程序要求两个整数,你只输入一个就停下,它可能为什么没有给出结果?
想好了吗?点开看解释
它可能仍在等待第二个输入。先核对输入格式和数量,别马上认定程序坏了。