4.1 KiB
4.1 KiB
C++ 输入 (cin) 讲义
一、 程序只能算固定数据吗?
我们之前写的代码,所有的数字都是直接写在程序里的,比如 int a = 5; int b = 3;。这种写法把数据写死了。
大家思考一下,如果用户明天想算 100 + 200 怎么办?难道每次都要让程序员打开代码,改完数字再重新算一次吗?这显然是不现实的!
一个真正有价值的程序,应该是智能的——它能够随时接收用户提供的新数据,并自动计算出结果。今天,我们就要学习如何让程序接收用户提供的数据。
二、 认识 cin:控制台的数据接收员
为了让程序接收用户的键盘输入,C++ 提供了一个强大的工具:cin。
- 含义:
cin是 Console Input(控制台输入)的缩写, c 对应着 Console, in 对应着 input。 - 作用:让用户在黑框框里==用键盘==输入数据,然后程序会自动把这个数据==存入==我们提前准备好的==变量==中。
cin使用 >> 运算符跟上准备好的变量来接收用户输入。
1. cin 的运作过程
我们来看看 cin 是如何与我们之前学习的变量配合的:
int num;
cin >> num;
cout << num;
int num;\rightarrow程序向内存申请了一个整数类型的空柜子,并在外面贴上名字标签num。cin >> num;\rightarrow程序==暂停运行==,等待用户操作。用户在键盘上敲下数字7并按下回车。**>>(称为提取符)**就像传送带一样,把键盘上的7抓过来,放进了名为num的抽屉里。cout << num;\rightarrow获取名为num抽屉里的数据,并将其展示在屏幕上(输出 7)。
2. 语法与规则
输入单个数据:
==语法格式==: cin >> 变量名;
如果你想一次性让用户输入多个数据,那就需要准备多个变量,然后把传送带连起来用:
==语法格式==: cin >> 变量名 >> 变量名 >> 变量名; (可以通过 >> 变量名 的格式继续扩展)
int a, b, c;
cin >> a; // 接收用户输入的一个整数到变量 a 中
cin >> b >> c; // 依次接收用户输入的两个整数到变量 b, c 中
输入规则: 当使用
cin >> a >> b;时,用户在黑框框里输入数据,必须使用“空格”或者“回车”来隔开两个数字(比如输入5 10)。cin它只要一遇到空格或回车,就知道第一个数据输入结束了,准备把下一个数据放进第二个抽屉里。
三、 解决题目中要求有输入的题目
现在我们拥有了所有的基础工具(变量、加减乘除、输入、输出)。接下来,我们要做一道完整的带有输入程序题。务必要记住:
=="输入 -> 处理 -> 输出" 是完成程序题目的三个基本步骤。==
题目描述:请你实现输入两个整数,输出这两个整数的差。
(样例输入:2 3 \rightarrow 样例输出:-1;样例输入:10 2 \rightarrow 样例输出:8)
分析思路:
- 提取有效信息:题目需要什么?(==输入两个数==
\rightarrow相减\rightarrow输出结果)。 - 整理思路:
- 准备两个变量(空抽屉)装输入的数。
- 用
cin把用户敲的字放进抽屉。 - 处理数据:拿出来相减,结果放进第三个抽屉。
- 用
cout展示第三个抽屉。
- 将思路一步步翻译为C++ 代码:
int num1, num2; // 准备抽屉
cin >> num1 >> num2; // 接收输入
int diff = num1 - num2; // 计算并存入新抽屉
cout << diff; // 输出结果
- 编译运行:按下 F11。如果有报错,不要慌,检查是不是漏了分号,或者
>>和<<的方向写反了。 - 输入测试数据,验证结果:在弹出的黑框里输入测试用例
2 3,看看结果是不是-1。 - 修正错误:如果输出不对(比如输出了 5),说明语法没问题,但是逻辑错了。回去检查代码,是不是把减号写成加号了?修改后重新测试,直到完全正确为止。