GESP2026年6月认证C++一级( 第一部分选择题(1-7))精讲




第一题 输入设备与输出设备

答案:C


1、题目

湿度传感器不断检测土壤湿度,把数据发送给中央控制器,它相当于计算机中的什么?

A.处理器

B.存储器

C.输入设备

D.输出设备


2、故事

(1)未来农场里有一位机器人农夫。

机器人每天都会问:

土地湿了吗?


(2)于是,湿度传感器就像一位小侦察兵

它每天负责:

👀 看一看

🌱 测一测

📨 把结果告诉电脑


(3)注意:

只是告诉电脑信息,并没有自己做决定。

真正决定是否浇水的是中央控制器(CPU)。


3、对应到计算机

(1)计算机工作分成四步:

输入 ↓ 处理 ↓ 存储 ↓ 输出

湿度传感器

采集信息

送给电脑


(2)所以属于

输入设备


4、为什么其它错?

(1)A 处理器

CPU负责思考。

不是传感器。


(2)B 存储器

负责保存数据。

不是采集数据。


(3)D 输出设备

输出的是:

显示器

打印机

音箱

都不是。


5、记忆口诀

采集数据的是输入,显示结果的是输出。



第二题 Dev-C++编辑器功能

答案:D


1、题目

下面哪项说法错误?


(1)A

批量修改变量名

例如

count ↓ number

编辑器都有:

Replace(替换)

正确。


(2)B

可以连续撤销

Ctrl+Z

连续很多步。

正确。


(3)C

Tab调整缩进

例如:

if(...) {

按Tab

cout<<1;

正确。


(4)D

注释中不能中英文混用

这是假的。

例如:

// 输出 Hello 世界

完全合法。

甚至:

// score表示成绩

也没有问题。

所以错误。


2、这一题其实是在考:

编辑器的功能。



第三题 float为什么输出6.5?

答案:D


1、看代码:

float a = 3 + 3.5; cout << a;

2、很多同学容易被骗

(1)他们觉得:

3 是整数 3.5 是小数 不能加?

当然可以!


(2)编译器发现:

3

是int

3.5

是double


(3)于是自动把3变成

3.0

再计算:

3.0+3.5 = 6.5

(4)然后赋值给float

a=6.5

最后输出

6.5

3、自动类型转换

因为

整数

可以自动转换

浮点数

这叫

自动类型转换


4、为什么其它错?

(1)A

说程序报错。

错。


(2)B

说必须写3.0。

其实不用。


(3)C

输出6。

错。


5、记忆口诀

以后看到:

int + double

结果就是

double


第四题 运算符优先级

答案:

C


1、原表达式:

- 2 * 2 % 4

计算:

第一步

-2×2=-4

第二步

-4%4=0

结果

0

2、现在看四个选项。


(1)A选项

-(2*2)%4 =-4%4 =0

一样。


(2)B选项

(-2*2)%4 =-4%4 =0

一样。


(3)C选项

-2*(2%4) =-2×2 =-4

变成

-4

不一样。

所以答案C。


(4)D选项

4%-4 =0

一样。


3、记忆口诀

看到:

* / %

优先级相同

从左往右算。



第五题 赋值和复制

答案:

B


1、看代码:

int a=3; int b=a; a=4; printf("%d %d",a,b);

2、小故事

(1)有两个宝箱:

a b

(2)开始:

a=3

然后:

b=a

(3)注意!

不是绑在一起。

只是:

复制了一份。


(4)于是:

a=3 b=3

(5)后来:

a=4

只是改了a。

b不会变。


(6)最后:

a=4 b=3

(7)输出:

4 3

最后答案是B。


3、最容易犯的错误

有的同学会认为:

b一直跟着a变

其实不会。

赋值就是:

复制当时的值。



第六题 cin为什么可以输入2026-6-27?

答案:

D


1、看代码:

int N; cin>>N; cout<<N;

2、输入:

2026-6-27

3、cin读取整数的规则

(1)它会一直读数字。

遇见:

-

立即停止。


(2)于是:

读到了

2026

(3)后面的:

-6-27

留在输入缓冲区。


(4)所以输出:

2026

4、为什么?

(1)cin读取整数时:

0123456789

都可以。


(2)遇到:

- 空格 字母

都会停止。


(3)所以答案:

D


5、知识点

一级考试经常考:

cin>>int

遇到字母

遇到减号

遇到空格

到底读多少。

一定要熟悉。



第七题 if-else判断

答案:

C(错误的说法)


1、看代码:

int N,M; cin>>N>>M; if(N>M) cout<<"A "<<N-M; else cout<<"B "<<M-N;

2、程序意思

(1)如果:

N>M

输出:

A 差值

(2)否则:

输出

B 差值

注意:

相等也属于

else

3.看选项

(1)A选项

输入

4 3

因为:

4>3

输出:

A 1

正确。


(2)B选项

输入:

3 4

输出:

B 1

正确。


(3)C选项

输入:

3 3

相等。

不会进入

if

而会进入

else

输出:

B 0

不是

A 0

所以错误。


(4)D选项

输入:

4 4

同样:

B 0

正确。


本节知识总结(1~7题)

题号考点记忆口诀
第1题输入设备采集数据就是输入
第2题编辑器替换、撤销、缩进都会,注释可中英文混写
第3题自动类型转换整数+小数=小数
第4题运算符优先级*、/、%同级,从左向右
第5题赋值赋值是复制,不会绑定
第6题cin >> int读到非数字字符就停止
第7题if...else相等时不会进入>分支,而是进入else

这 7 道题覆盖了一级考试最常见的基础知识点:

计算机基础、编辑器使用、数据类型、运算符、变量赋值、输入输出以及分支判断