image

编辑人: 流年絮语

calendar2025-06-12

message2

visits208

2023年12月CCF-GESP编程能力等级认证C++编程一级真题参考答案

一、单选题

1、以下C++不可以作为变量的名称的是(   )。

A、

CCF GESP

B、

ccfGESP

C、

CCFgesp

D、

CCF_GESP


2、C++表达式 10 - 3 * (2 + 1) % 10 的值是(   )。

A、

0

B 1

C 2

D 3


3、假设现在是上午十点,求出N小时(正整数)后是第几天几时,如输入20小时则为第2天6点,如N输入4则为今天14点。为实现相应功能,应在横线处填写代码是(   )。

A、

(10 + N) % 24 , (10 + N) / 24

B、

(10 + N) / 24 , (10 + N) % 24

C、

N % 24 , N / 24

D、

10 / 24 , 10 % 24


4、下面的程序用于判断N是否为偶数,横线处应填写代码是(   )。(2023年12月C++一级)

A、

N % 2 == 0

B、

N % 2 = 0

C、

N % 2

D、

N % 2 != 0


5、下面对C++代码执行后输出的描述,正确的是(   )。

A、

如果输入的N小于2整数,第5行将输出0。

B、

如果输入的N是大于等于2整数,第5行将输出N-1。

C、

如果输入的N是大于等于2整数,第5行将输出N。

D、

以上说法均不正确。


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

A、

10

B、

9

C、

3

D、

1


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

A、

90

B、

44

C、

20

D、

10


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

A、

11

B、

10

C、

5

D、

4


9、下面C++代码用于判断一个数是否为质数(素数),在横线处应填入代码是(   )。

A cnt = 1

B cnt = 2

C cnt =+ 1

D cnt += 1


10、对下面的代码,描述正确的是(   )。

A、

输出 2 6 3 5 4 8 1 0 9 10 10

B、

输出 2 6 3 5 4 8 1 0 9 9

C、

输出 2 6 3 5 4 8 1 0 9 10

D、

提示有编译错误


11、执行下面C++代码后输出是(   )。

A、

3


B、

21

C、

27

D、

49


12、定义变量 char c ,下面对 c 赋值的语句,不符合语法的是(   )。

A、

c = (char)66;

B、

c = (char)(66);

C、

c = char(66);

D、

c = char 66;


13、下图所示C++代码对大写字母 'A' 到 'Z' 分组,对每个字母输出所属的组号,那么输入 'C' 时将输出的组号是?(   )。

A、

3

B、

3 5

C、

3 5 9

D、

以上都不对


14、某公司新出了一款无人驾驶的小汽车,通过声控智能驾驶系统,乘客只要告诉汽车目的地,车子就能自动选择一条优化路线,告诉乘客后驶达那里。请问下面哪项不是驾驶系统完成选路所必须的。(   )(2023年12月C++一级)

A 麦克风

B 扬声器

C 油量表

D 传感器


15、现代计算机是指电子计算机,它所基于的是(   )体系结构。(2023年12月C++一级)

A、

艾伦·图灵

B、

冯·诺依曼

C、

阿塔纳索夫

D、

埃克特-莫克利


二、判断题

16、C++表达式 int(3.14) 的值为3。(   )

A 正确

B 错误


17、C++语句 cout << (2 * 3, 3 % 10, 2+3) 的输出为 6,3,5 。 (   )

A 正确

B 错误


18、for(int i = 1; i < 10; i += 3;) ; 表示i从1开始到10结束间隔为3,相当于1、4、7、10。(   )

A 正确

B 错误


19、C++表达式010+100+001的值为111。(   )

A 正确

B 错误


20、if 语句中的条件表达式的结果可以为 int 类型。(   )

A 正确

B 错误


21、在下面的C++代码 while(1) continue; 中,由于循环中的 continue 是无条件被执行,因此将导致死循环。(   )

A 正确

B 错误


22、C++表达式 ('1'+'1'=='2'? flag=1:flag=2) 的结果值和表达式 (flag==2) 的相同。(   )

A 正确

B 错误


23、在C++的程序中,不能用 scanf 作为变量名。(   )

A 正确

B 错误


24、小杨最近在准备考GESP,他用的Dev C++来练习和运行程序,所以Dev C++也是一个小型操作系统。(   )(2023年12月C++一级)

A 正确

B 错误


25、任何一个 while 循环都可以转化为等价的 for 循环(   )。(2023年12月C++一级)

A 正确

B 错误


三、实操题

26、小杨的考试

时间限制:1.0 s

内存限制:128.0 MB

问题描述

今天是星期X,小杨还有N天就要考试了,你能推算出小杨考试那天是星期几吗?(本题中使用7表示星期日)

输入描述

输入 2 行,第一行一个整数X(1≤X≤7);第二行一个整数N(1≤N≤364)。

输出描述

输出一个整数,表示小杨考试那天是星期几。

特别提醒

在常规程序中,输入、输出时提供提示是好习惯。但在本场考试中,由于系统限定,请不要在输入、输出中附带任何提示信息。


样例输入 1

1
6

样例输出 1

7

样例解释 1

今天是星期 1,那么 6 天后就是星期日,星期日在本题中用7表示。


样例输入 2

5
3

样例输出 2

1

样例解释 2

今天是星期 5,那么 3 天后就是星期 1。

参考答案:根据题目要求,我们需要根据给定的星期数N和当前星期数X,计算出N天后是星期几。由于一周有7天,我们可以使用取模运算来计算。具体的计算过程如下:1. 计算N天后是星期几,用(X + N) % 7表示。2. 如果计算结果为0,表示N天后是星期日,输出7。3. 如果计算结果为1,表示N天后是星期一,输出1。4. 如果计算结果为2,表示N天后是星期二,输出2。5. 如果计算结果为3,表示N天后是星期三,输出3。6. 如果计算结果为4,表示N天后是星期四,输出4。7. 如果计算结果为5,表示N天后是星期五,输出5。8. 如果计算结果为6,表示N天后是星期六,输出6。


27、小杨报数(2023年12月C++一级)

时间限制:1.0 s

内存限制:128.0 MB

问题描述

小杨需要从1到N报数。在报数过程中,小杨希望跳过M的倍数。例如,如果N=5,M=2,那么小杨就需要依次报出1 、3 、5 。

现在,请你依次输出小杨报的数。

输入描述

输入 2 行,第一行一个整数N(1≤N≤1000);第二行一个整数M(2≤M≤100)。

输出描述

输出若干行,依次表示小杨报的数。

特别提醒

在常规程序中,输入、输出时提供提示是好习惯。但在本场考试中,由于系统限定,请不要在输入、输出中附带任何提示信息。


样例输入 1

5
2

样例输出 1

1
3
5

样例输入 2

10
3

样例输出 2

1
2
4
5
7
8
10

参考答案:br />```cpp#includeusing namespace std;int main() int N, M;cin >> N >> M;for(int i = 1; i <= N; i++) {if(i % M != 0) {cout << i << endl;}}return 0;```


喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!

创作类型:
原创

本文链接:2023年12月CCF-GESP编程能力等级认证C++编程一级真题参考答案

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。
分享文章
share