备战大晨7月GESP C++ 1级(4):顺序结构实战,cin让程序听你说话

上篇聊完变量和数据类型,文末我放了句话:顺序结构实战,cin让程序读入用户输入,加加减减算起来。 今天就来填这个坑。

顺序结构是个啥

说白了就是——程序从上到下,一行一行地执行,不跳、不绕、不回头。

就跟大晨早上起床一样:睁眼→穿衣服→刷牙→吃饭→出门上学,一步一步来,前一步没干完后一步就不会开始。

大晨听我说完,来了句:”那不就是正常做事的顺序吗?”

对,顺序结构就是最朴素的”按顺序来”,但别小看它,GESP一级考试里大量题目都是顺序结构。

cin:让程序听你说话

之前我们用cout往外输出东西,今天的主角是cin——它让程序能”听”用户输入。

cin的语法特别简单:

1
2
int a;
cin >> a;

注意看,cout用的是 <<,cin用的是 >>箭头方向是反的,这个大晨刚开始老搞混。

我跟他说:”你就想,cout是把东西推出去,箭头朝外;cin是把东西拉进来,箭头朝里。”

大晨”哦”了一声,在键盘上敲了半天,回头跟我说:”爸,我输入了个999,它真读了!”

那一刻他眼睛亮了,比考100分还高兴。

加加减减算起来

好,cin会用了,咱来个完整例子。《一本通》上有一道题,输入两个整数,输出它们的和与差。

1
2
3
4
5
6
7
8
9
#include <iostream>
using namespace std;

int main() {
int a, b;
cin >> a >> b;
cout << a + b << " " << a - b << endl;
return 0;
}

输入 10 5,程序输出 15 5

大晨自己敲完运行,输入了 100 200,看到输出 300 -100,愣了一下问:”爸,减出来是负数也行?”

当然行,int类型能存负数,这正好复习上篇讲的有符号整数。

我又让他改了一版,用变量把结果存起来:

1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
using namespace std;

int main() {
int a, b;
cin >> a >> b;
int sum = a + b;
int diff = a - b;
cout << sum << " " << diff << endl;
return 0;
}

两种写法结果一样,但第二种更清晰。养成用变量存中间结果的习惯,以后写复杂程序才不会乱。

老父亲陪跑笔记

今天这节大晨学得挺顺,大概花了40分钟,把《一本通》顺序结构那几道基础题刷完了。

有几个小坑提醒一下:

  1. cin输入多个变量用空格隔开,不是逗号。大晨第一次输 10,5,程序读进去的b是个乱码,他盯着屏幕看了半天不知道咋回事。
  2. >><< 别搞反,这是初学者高频错误,考前务必注意。
  3. 变量先声明再使用,大晨有次忘了写 int a, b; 直接cin,编译报错一脸懵。

顺序结构虽然简单,但它是后面所有结构的基础。 就跟搭积木一样,地基打稳了,后面加分支、套循环才不会塌。

小结

今天大晨搞定了三件事:理解顺序结构、学会cin读入输入、能做简单的加减运算。从”程序只会说”到”程序会听会算”,这进步不小。

下篇我们往上走一步——如果题目有条件判断呢?比如成绩大于等于60算及格,否则不及格?这就得靠if-else分支结构了,程序终于要学会”做选择”了。


免责声明:本文仅为自家孩子学习记录,不构成任何教学建议。C++知识点以官方教材为准,如有疏漏欢迎指正。