GESP第九次认证真题解析|C++二级真题回顾

四季读书网 2 0
GESP第九次认证真题解析|C++二级真题回顾

点击上方蓝字·关注我们

GESP第九次认证真题解析|C++二级真题回顾-第1张图片-四季读书网
GESP第九次认证真题解析|C++二级真题回顾-第2张图片-四季读书网
GESP第九次认证真题解析|C++二级真题回顾-第3张图片-四季读书网

CCF编程能力等级认证,英文名Grade Examination of Software Programming(以下简称GESP),由中国计算机学会发起并主办,是为青少年计算机和编程学习者提供学业能力验证的平台。GESP覆盖中小学全学段,符合条件的青少年均可参加认证。GESP旨在提升青少年计算机和编程教育水平,推广和普及青少年计算机和编程教育。

GESP考察语言为图形化编程、Python编程及C++编程,主要考察学生掌握相关编程知识和操作能力,熟悉编程各项基础知识和理论框架,通过设定不同等级的考试目标,让学生具备编程从简单的程序到复杂程序设计的编程能力,为后期专业化编程学习打下良好基础。

本次为大家带来的是20253月C++二级认证真题解析。

C++

202503

1单选题(每题2分,共30分)

题号

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

答案

D

C

A

A

D

A

D

A

C

B

C

D

B

C

C

1题 2025年春节有两件轰动全球的事件,一个是DeepSeek横空出世,另一个是贺岁片《哪吒2》票房惊人,入了全球票房榜。下面关于DeepSeek与《哪吒2》的描述成立的是( )

A.《哪吒2》是一款新型操作系统

B. DeepSeek是深海钻探软件

C.《哪吒2》可以生成新的软件

D. DeepSeek可以根据《哪吒2》的场景生成剧情脚本

答案:D

考纲知识点:计算机基础(⼀级)

解析:DeepSeek是AI模型,具备生成剧情脚本的能力;《哪吒2》是电影,不涉及操作系统或软件生成功能。

2题 对整型变量N,如果它能够同时被35整除,则输出N是含有至少两个质因数。如果用流程图来描述处理过程,则输出语句应该在哪种图形框中( )。

A.圆形框

B.椭圆形框

C.平行四边形框

D.菱形框

案:C

考纲知识点:流程图的概念(二级)

解析:流程图中输出语句应使用平行四边形框,表示数据的输入/输出操作。

3题 下面C++代码执行,其输出是(  )

GESP第九次认证真题解析|C++二级真题回顾-第4张图片-四季读书网

A. 3 4

B. 3 3

C. 4 4

D. 4 3

案:A

考纲知识点:基本运算(一级)

解析:a == bb == a是逻辑比较,不修改变量值,故输出初始值3 4

4题 求三色彩球的颜色。有数量无限的红(Red)绿(Green)(Blue)三种彩球排成一行,每组先为5个红色球,随后3个绿色,最后为2个蓝色。每个球都有编号,从左到右依次为1,2,3……。输入整数代表编号,求该编号球的颜色。下面是C++代码是实现,正确说法是(  )

GESP第九次认证真题解析|C++二级真题回顾-第5张图片-四季读书网

A.else if ((remainder == 9) || (remainder == 0))修改为else效果相同

B.((1 <= remainder) && (remainder<= 5))修改为(remainder <= 5)效果相同

C.else if ((6 <= remainder) &&  (remainder <= 8))写法错误,应修改为else if (6 <= remainder <= 8)

D.根据题意remainder = N % 10应修改为remainder = N / 10

案:A

考纲知识点:分支结构(一级)

解析:remainder = N % 10正确计算编号在周期中的位置,else if可替换为else因剩余情况唯一。

5题 下面C++代码执行后其输出是(  )

GESP第九次认证真题解析|C++二级真题回顾-第6张图片-四季读书网

A. 18

B. 17

C. 16

D. 14

案:D

考纲知识点:多层分支/循环结构(二级)

解析:循环中i % 3非零时tnt += 16次分别为124578),否则tnt += 24次分别为0369),总和为6 * 1 + 4 * 2 = 14

6题 下面C++代码执行后输出是(  )

GESP第九次认证真题解析|C++二级真题回顾-第7张图片-四季读书网

A. 10

B. 8

C. 0

D.因为循环执行时会执行break语句而终止循环,所以i的值不确定

案:A

考纲知识点:分支结构(一级)

解析:break立即终止循环,i保持初始值10

7题 下面C++代码执行后输出是( )。

GESP第九次认证真题解析|C++二级真题回顾-第8张图片-四季读书网

A.0#0#0#0#0#0#

B.0#0#0#0#0#0#0#1#

C.0#0#0#0#1#

D.0#0#0#0#0#0#1#

案:D

考纲知识点:多层分支/循环结构(二级)

解析:i%3!=0时输出0#i=1,2,4,5,7,86次),循环结束后i=10输出1#,结果为0#0#0#0#0#0#1#

8题 下面C++代码执行后的输出是( )。

GESP第九次认证真题解析|C++二级真题回顾-第9张图片-四季读书网

A.1-2-1-3-2-1-4-3-2-1-

B.1-2-1-3-2-1-4-3-2-1

C.0-0-1-0-1-2-0-1-2-3-

D.0-0-1-0-1-2-0-1-2-3

案:A

考纲知识点:多层分支/循环结构(二级)

解析:外层循环i=0时内层不执行;i=1输出1-i=2输出2-1-;依此类推,结果为1-2-1-3-2-1-4-3-2-1-

9题 下面C++代码执行后,将输出能被2整除且除以7余数为2的数。下列选项不能实现的是( )。

GESP第九次认证真题解析|C++二级真题回顾-第10张图片-四季读书网

A.((i % 2 == 0) && (i % 7 == 2))

B.((!(i % 2)) && (i % 7 == 2))

C.((!(i % 2)) && (!(i % 7)))

D.((i % 2 != 1) && (i % 7 == 2))

案:C

考纲知识点:基本运算(一级)

解析:选项C中未明确除以7余数是否为2

10题 下面C++代码用于求1N之间正整数中含有3的数的个数,比如12332都是符合条件的数。则前后两处横线应填入代码分别是( )。

GESP第九次认证真题解析|C++二级真题回顾-第11张图片-四季读书网

A.GESP第九次认证真题解析|C++二级真题回顾-第12张图片-四季读书网

B.GESP第九次认证真题解析|C++二级真题回顾-第13张图片-四季读书网

C.GESP第九次认证真题解析|C++二级真题回顾-第14张图片-四季读书网

D.GESP第九次认证真题解析|C++二级真题回顾-第15张图片-四季读书网

案:B

考纲知识点:多层分支/循环结构(二级)

解析:当前数位为3使用break结束检查当前数字,j /= 10逐位检查。

11题 在数学中N!表示N的阶乘,即1N的乘积,如3!=1*2*3,且0! = 1。下面的两段C++代码用于求1N的阶乘之和,如N3,则结果是91!+2!+3!的值)。选项中的说法正确的是( )。

GESP第九次认证真题解析|C++二级真题回顾-第16张图片-四季读书网
GESP第九次认证真题解析|C++二级真题回顾-第17张图片-四季读书网

A.虽然实现1的代码短小,但效率并不高

B.实现2的代码效率更高,且更易于理解

C.实现1因为应用了前项计算结果,计算量更小,因此效率高

D.两种实现,效率几乎一致

案:C

考纲知识点:简单算法复杂度的估算

解析:实现1利用阶乘累积减少计算量(O(n)),实现2重复计算阶乘(O(n²)),效率差异显著。

12题 哥德巴赫猜想是指大于2的偶数都可以分解为两个质数之和,下面的代码用于验证4-1000之内的偶数能否分解为两个质数之和。下面C++代码中假设isPrime()是已经定义好用于判断正整数N是否为质数,返回bool值。对该段代码,错误的说法是( )。

GESP第九次认证真题解析|C++二级真题回顾-第18张图片-四季读书网

A.将代码isPrime(j) && isPrime(i-j)修改为

isPrime(j) == true && isPrime(i-j) == true效果相同

B.代码执行后,输出的一对质数,一定是小的数在前

C.即便将外层循环中i的上界1000修改为很大的整数,也不能说从数学上证明了哥德巴赫猜想

D.根据题意,break语句应该移到if语句块之外

答案D

考纲知识点:多层分支/循环结构(二级)

解析:break应在找到质数对后立即退出内层循环,移至if外会导致错误跳过后续检查。

13题 已知C++代码和执行后的期望输出如下,相关说法正确的是( )。

GESP第九次认证真题解析|C++二级真题回顾-第19张图片-四季读书网

A.倒数第二行的printf("\n")有错,应该修改为cout << endl;printf( )函数不能输出换行

B.last += 1修改为last = last + 1执行效果相同

C.代码中L1标记行中的j < i + 1应修改为j < i

D.外层for循环前的last = 1修改为last = 0执行效果相同

答案B

考纲知识点:多层分支/循环结构(二级)

解析:last += 1last = last + 1完全等价。

14题 在C++中,( )最适合填入横线处连续5次正确生成110之间的随机整数?

GESP第九次认证真题解析|C++二级真题回顾-第20张图片-四季读书网

A.rand( ) % 11

B.rand( ) % 10

C.rand( ) % 10 + 1

D.rand() % 9 + 1

案:C

考纲知识点:简单数学函数(二级)

解析:rand() % 10 + 1生成1~10的随机数。

15题 在C++中,如果ab均为float类型的变量,那么二者如果相差足够小(比如0.000001),就可以视作相等。比如2.23456762.2345677就可以视作相等。下列哪个表达式能用来正确判断“a等于b” (  )

A.((b-a) < 0.000001 )

B.((b-a) <= 0.000001 )

C.(abs(b-a) <= 0.000001 )

D.(sqrt(b-a) <= 0.000001 )

答案:C

考纲知识点:简单数学函数(二级)

解析:浮点数相等需用绝对值误差判断,abs(b-a) <= 0.000001覆盖正负差异。

2判断题(每题2分,共20分)

题号

1

2

3

4

5

6

7

8

9

10

答案

×

×

1C++Python都是高级编程语言,它们的每条语句最终都要通过机器指令来完成。( )

答案:正确

考纲知识点:计算机基础与编程环境(一级)

解析:高级语言需编译/解释为机器指令执行。

2题 在C++代码中,假设N为正整数,则N - N / 10 * 10N % 10都将获得N的个位数。(   )

答案:正确

考纲知识点:基本运算(一级)

解析:N - N/10*10等价于N % 10,均获取个位数。

3C++语句cout << ((10 <= N <= 12)? "true":"false")中,假设整型变量N12,则其输出为true。原因是执行10 <= N后其值为truetrue12相比仍然是true(   )

答案:正确

考纲知识点:基本运算(一级)

析:<=运算符为左结合,先运算为10 <= N后其值为truetrue <= 12运算时true被类型转换为11 <= 12的值为true

4C++表达式(sqrt(N) * sqrt(N)) == N中的N如果为正整数,则表达式的值为true,相当于开平方后平方是本身。( )

答案:错误

考纲知识点:简单数学函数(二级)

解析:浮点数精度问题会导致即使是浮点数sqrt(N)*sqrt(N)也与N相等(如N=2.56)。

5题 下面C++执行后将输出3*2=6(   )

GESP第九次认证真题解析|C++二级真题回顾-第21张图片-四季读书网

答案:正确

考纲知识点:基本运算(一级)

解析:该段代码交换了ab的值。

6题 下面C++代码执行后将输出10。( )

GESP第九次认证真题解析|C++二级真题回顾-第22张图片-四季读书网

答案:正确

考纲知识点:循环结构

解析:循环结束后i=10cout输出10

7题 下面C++代码执行后将输出1。( )

GESP第九次认证真题解析|C++二级真题回顾-第23张图片-四季读书网

答案:正确

考纲知识点:循环结构(一级)

解析:break立即终止循环,i保持初始值1

8题 下面的C++代码执行后将输出10"OK"。( )

GESP第九次认证真题解析|C++二级真题回顾-第24张图片-四季读书网

答案:正确

考纲知识点:多层分支/循环结构(二级)

解析:内层循环次数为0+1+2+3+4=10次,输出10"OK"

9题 将下面C++代码中的for循环中的i = 1调整为i = 0的输出结果相同。( )

GESP第九次认证真题解析|C++二级真题回顾-第25张图片-四季读书网

答案:正确

考纲知识点:循环结构(一级)

解析:i=1i=0起始均累加1~4,结果相同。

10题 下面C++代码执行后将输出0123。( )

GESP第九次认证真题解析|C++二级真题回顾-第26张图片-四季读书网

答案:错误

考纲知识点:循环结构(一级)

解析:printf在循环外,只能输出一次i

3编程题(每题25分,共50分)

3.1编程题1

  • 试题名称:等差矩阵

  • 时间限制1.0 s

  • 内存限制512.0 MB

3.1.1题面描述

A想构造一个nm列的矩阵,使得矩阵的每一行与每一列均是等差数列。小A发现,在矩阵的第i行第j列填入整数j,得到的矩阵能满足要求。你能帮小输出这个矩阵吗?

3.1.2输入格式

一行,两个正整数n,m

3.1.3输出格式

n行,每行m个由空格分割的整数,表示小需要构造的矩阵。

3.1.4样例

3.1.4.1输入样例1

3 4

3.1.4.2输出样例1

1 2 3 42 4 6 83 6 9 12

3.1.5数据范围

对于所有测试点,保证1≤n≤50,1≤m≤50

知识点】循环结构

【解题思路】依照题目要求使用双层for循环模拟。循环枚举i:1~n,循环枚举j:1~m,输出i * j

3.1.6参考程序

GESP第九次认证真题解析|C++二级真题回顾-第27张图片-四季读书网

3.2编程题2

  • 试题名称:时间跨越

  • 时间限制:4.0 s

  • 内存限制:512.0 MB

3.2.1题面描述

假设现在是ymdh时而k小时后是yGESP第九次认证真题解析|C++二级真题回顾-第28张图片-四季读书网mGESP第九次认证真题解析|C++二级真题回顾-第29张图片-四季读书网dGESP第九次认证真题解析|C++二级真题回顾-第30张图片-四季读书网hGESP第九次认证真题解析|C++二级真题回顾-第31张图片-四季读书网时,对于给定的y,m,d,h,k,小杨想请你帮他计算出对应的yGESP第九次认证真题解析|C++二级真题回顾-第32张图片-四季读书网,mGESP第九次认证真题解析|C++二级真题回顾-第33张图片-四季读书网,dGESP第九次认证真题解析|C++二级真题回顾-第34张图片-四季读书网,hGESP第九次认证真题解析|C++二级真题回顾-第35张图片-四季读书网,是多少。

3.2.2输入格式

输入包含五行,每行一个正整数,分别代表y,m,d,h,k

3.2.3输出格式

输出四个正整数,代表yGESP第九次认证真题解析|C++二级真题回顾-第36张图片-四季读书网,mGESP第九次认证真题解析|C++二级真题回顾-第37张图片-四季读书网,dGESP第九次认证真题解析|C++二级真题回顾-第38张图片-四季读书网,hGESP第九次认证真题解析|C++二级真题回顾-第39张图片-四季读书网,

3.2.4.1输入样例1

2008228231

3.2.4.2输出样例1

2008 2 29 0

3.2.5数据范围

对于全部数据,保证有2000≤y≤30001≤m≤121≤d≤310≤h≤231≤k≤24。数据保证为合法时间。

3.2.6提示

闰年判断规则

  • 普通闰年:年份能被整除,但不能被100 整除。

  • 世纪闰年:年份能被400 整除。

满足以上任意一条规则的年份就是闰年,否则是平年。

【知识点】多层分支、循环结构

【解题思路】注意数据范围1≤k≤24保证了时间不会跨越多天,因此逐小时累加并处理日//年进位即可,注意闰年判断。

3.2.7 参考程序

GESP第九次认证真题解析|C++二级真题回顾-第40张图片-四季读书网

策划:GESP技术委员会副主席 刘晓庆

技术支持:GESP技术委员会委员 宋旭彤

GESP第九次认证真题解析|C++二级真题回顾-第41张图片-四季读书网
GESP第九次认证真题解析|C++二级真题回顾-第42张图片-四季读书网
联系方式

1.GESP微信:关注CCF GESP公众号,点击"GESP小助手"即可交流

2.GESP邮箱:gesp@ccf.org.cn

注:请在邮件中详细描述咨询的问题并留下考生的联系方式及姓名、身份证号,以便及时有效处理。

3.GESP电话:0512-67656856

咨询时间:周一至周五(法定节假日除外):上午 8:30-12:00;下午 13:00-17:30

扫描下方二维码,关注GESP公众号了解更多资讯
GESP第九次认证真题解析|C++二级真题回顾-第43张图片-四季读书网

抱歉,评论功能暂时关闭!