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



第8题 += 与 =+ 的区别(★★★★★)

答案:C


1、看代码:

复制代码
int cnt = 0;
for (int i = 0; i < 5; i++)
    cnt += 1;
cout << cnt;

2、计数器

第一次:

复制代码
0+1=1

第二次:

复制代码
1+1=2

第三次:

复制代码
2+1=3

......

最后得到

复制代码
5

这就是

复制代码
cnt += 1;

意思就是

复制代码
cnt = cnt + 1;

3、四个选项分析

(1)A选项

复制代码
cnt = cnt + 1;

完全一样。

正确。


(2)B选项

复制代码
cnt = 1 + cnt;

交换律。

还是一样。

正确。


(3)C选项

复制代码
cnt =+ 1;

很多同学第一次都会被骗。

它不是

复制代码
+=

而是

复制代码
= +

也就是

复制代码
cnt = (+1);

每次循环都把cnt重新赋值成1。


过程:

复制代码
第一次 1

第二次 1

第三次 1

......

最后还是1

因此与原程序不同。

答案C。


(4)D选项

复制代码
cnt = +1 + cnt;

其实就是

复制代码
cnt = cnt + 1;

一样。


4、记忆点

一定分清:

复制代码
+=

复制代码
=+

完全不是一个东西!



第9题 三个运算符填空

答案:A


1、程序输出:

复制代码
1 2 3 4
5 6 7 8 9 10 11
......

是在模拟一个数字不断变化。


2、观察输出:

复制代码
1

2

3

......

11

然后

5

6

......

(1)说明:

当数字

复制代码
>10

以后

需要重新变成

复制代码
num/=2

否则

一直

复制代码
num+=1

(2)因此三个运算符分别是

复制代码
>

/=

+=

答案是A。


3、本题考查

找规律,填写程序,这需要有较好的理解推理能力。



第10题 continue 的作用(★★★★★)

答案:

A


1、看代码:

复制代码
int i;
for(i=1;i<5;i++)
    if(i%2==0)
    {
        continue;
        cout<<i<<"#";
    }

cout<<i<<"END#";

2、continue在前面

cpp 复制代码
if(i%2==0)
    {
        continue;
        cout<<i<<"#";
    }

这题对于一级小朋友是个脑筋急转弯的题目。


3、continue后面的代码,被跳过。

例如

i=2

进入

复制代码
continue;

那么

复制代码
cout<<i<<"#";

不会执行。


4、循环结束

此时

复制代码
i=5

输出

复制代码
5END#

答案A。


5、记忆口诀

continue 后面的代码,被跳过了。



第11题 break 的执行过程(★★★★★)

答案:

B


1、看代码:

cpp 复制代码
int N,i;
cin >> N;
for(i=2;i<N;i++)
    if(N % i == 0)
    {
        cout<<"1#";
        break;
    }
    else
        cout<<"0#";

我们逐个模拟。


2、看选项

(1)A选项

输入2

循环:

复制代码
i=2

2<2?

假的。

循环一次都没执行。

什么都不会输出。

A错误。


(2)B选项

输入15

i=2

复制代码
15%2!=0

输出

复制代码
0#

i=3

复制代码
15%3==0

输出

复制代码
1#

break退出。

得到

复制代码
0#1#

正确。


(3)C选项

输入1

循环根本不会执行。

没有输出。

错误。


(4)D选项

输入3

复制代码
2<3

成立。

复制代码
3%2!=0

输出

复制代码
0#

结束。

不是

复制代码
1#

错误。


3、考试技巧

一定要一轮一轮模拟。



第12题 while循环

答案:

A(错误)


1、看代码:

cpp 复制代码
int i,tot;
i=0;
tot=0;

while(0<=i&&i<10)
{
    tot+=1;
    i+=1;
}

2、循环次数:

复制代码
0

1

2

3

...

9

一共

复制代码
10次

所以

复制代码
tot=10

3、看选项

(1)A为什么错?

如果改成

复制代码
1<=i&&i<10

开始:

复制代码
i=0

第一轮就失败。

循环一次都不会执行。

tot变成

复制代码
0

不是一样。

所以错误。


(2)B选项

复制代码
i=tot=0;

这是合法写法。

等价。

正确。


(3)C选项

交换:

复制代码
tot+=1

i+=1

顺序。

互不影响。

正确。


(4)D选项

两个赋值交换。

也一样。

正确。


4、一级考试特点

循环条件

尤其注意

复制代码
<=

<

>=

>

一个符号都不能看错。



第13题 取百位、十位、个位

答案:

B


1、题目:

复制代码
c

也就是

十位数字。


2、例如

复制代码
5836

四位:

复制代码
千位 5

百位 8

十位 3

个位 6

3、求十位的方法:

复制代码
/10

变成

复制代码
583

复制代码
%10

得到

复制代码
3

所以

复制代码
(n/10)%10

答案B。


4、常见公式

复制代码
个位

n%10

十位

(n/10)%10

百位

(n/100)%10

千位

n/1000

这几个公式一级考试经常出现。



第14题 秒针位置

答案:

B


1、钟表只有

复制代码
0~59

秒。

所以:

经过很多秒以后

必须循环。

怎么办?

就是

复制代码
%

2、例如:

(1)现在

复制代码
58

再过

复制代码
5秒

58+5=63

但是钟没有63。


(2)需要

cpp 复制代码
63 % 60 = 3

所以:

第一空:

复制代码
(start+n)%60

(3)什么时候回到12点?

就是

复制代码
0秒

所以:

复制代码
pos==0

答案B。


3、考试口诀

涉及

复制代码
时钟

星期

圆圈

循环编号

第一想到

复制代码
%


第15题 判断质数

答案:

B


1、看代码:

复制代码
for(i=2;____;i++)

横线填什么。


2、判断质数:

最经典的方法:

复制代码
2

3

4

...

√N

因此

复制代码
i*i<=N

效率最高。


3、其它几个:

复制代码
i<N

可以。

只是慢。


复制代码
i<=N

最后会检查到自己。

这样无论是不是质数,都会输出" no",所以错误了。


复制代码
i<=N/2

也可以。

因为除了自己以外

最大的因子不会超过一半。


答案B。


一级考试知识总结(8~15题)

题号 考点 必须掌握
第8题 +==+ += 是累加,=+ 是重新赋值
第9题 运算符 >/=+= 的含义
第10题 continue 跳过本次循环剩余代码
第11题 break 立即结束整个循环
第12题 while 循环 循环条件决定循环次数
第13题 拆分数字 n%10(n/10)%10(n/100)%10
第14题 % 取模 解决循环、时钟、星期等问题
第15题 质数判断 推荐使用 i*i<=N,避免检查到自身

相关推荐
鹏易灵1 小时前
C++——7.类与对象,掌握封装、继承、多态.详解
开发语言·c++·算法
Mortalbreeze1 小时前
深入 Linux 线程机制(三):线程互斥——竞争条件与互斥锁的本质
linux·运维·服务器·c++·算法
汉克老师1 小时前
GESP2026年6月认证C++一级( 第一部分选择题(1-7))精讲
c++·运算符·表达式·赋值·gesp1级·输入与输出·单循环
ALex_zry1 小时前
C++26 Freestanding 库扩展详解:无操作系统也能用标准库
java·jvm·c++
码上有光2 小时前
c++:map和set的底层实现
android·java·c++·set·map
zh_xuan2 小时前
c++ std::Any 用法
开发语言·c++·any
QiLinkOS12 小时前
第三视觉理解徐玉生与他的商业活动(30)
大数据·c++·人工智能·算法·开源协议
mit6.82412 小时前
阅读的核心,是再读
c++
upgrador14 小时前
基础知识:C++ STL构造函数的左闭右开惯例及其实现原理
开发语言·c++