万卷网> GESP认证 >C++ > 2024年9月CCF—GESP(C++一级)编程能力等级认证试卷

2024年9月CCF—GESP(C++一级)编程能力等级认证试卷
一级 2024 2025-05-16 14:53:15 99

一、单选题

1.

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

int count= 0, i, s;
for (i = 0, s = 0 ; i < 20; i++, count++)
	s += i++;
cout << s << " " << count;
A.

190 20

B.

95 10

C.

90 19

D.

90 10

2.

下面C++代码执行时输入 14+7 后,正确的输出是( )。

int P;
printf("请输入正整数P: ");
scanf("%d", &P);
if (P % 3 || P % 7)
	printf("第5行代码%d, %d", P % 3, P % 7);
else
	printf("第7行代码%2d", P % 3 && P % 7);
A.

第5行代码2, 0

B.

第5行代码1, 0

C.

第7行代码 1

D.

第7行代码 0

3.

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

A.

14

B.

4

C.

1

D.

0

4.

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

int N = 0;
for (int i = 1; i < 10; i +=2){
	if (i % 2 == 1)
		continue;
	N += 1;
}
cout << N;
A.

5

B.

4

C.

2

D.

0

5.

C++语句 printf("6%2={%d}", 6%2) 执行后的输出是( )。

A.

"6%2={6%2}"

B.

6%2={6%2}

C.

0=0

D.

6%2={0}

6.

C++程序执行出现错误,不太常见的调试手段是( )。

A.

阅读源代码

B.

单步调试

C.

输出执行中间结果

D.

跟踪汇编码

7.

在C++中,假设N为正整数10,则 cout <<(N / 3 + N % 3) 将输出( )。

A.

6

B.

4.3

C.

4

D.

2

8.

如果一个正整数N能够表示为X*(X+1)的形式,这里称它是一个“兄弟数”。例如,输入6,则输出“6是一个兄弟数”。下面C++代码用来判断N是否为一个“兄弟数”,在横线处应填入的代码可从i)-iv)中选择,则有几个能完成功能?( )。

int N;

cin >> N;
for(int i = 0; i <= N; i++)
	if(___________________)
		cout << N << "是一个兄弟数\n";
		
i) N==i*(i+1) ii) N==i*(i-1) iii) N/(i+1)==i iv) N/(i-1)==i
A.

1

B.

2

C.

3

D.

4

9.

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

int Sum = 0;
for (int i = 0; i < 10; i++)
Sum += i;
cout << Sum;
A.

55

B.

45

C.

10

D.

9

10.

在C++中,下列表达式错误的是( )。

A.

cout << "Hello,GESP!" << endl;

B.

cout << 'Hello,GESP!' << endl;

C.

cout << """Hello,GESP!""" << endl;

D.

cout << "Hello,GESP!' << endl;

11.

下面的C++代码用于求连续输入的若干正五位数的百位数之和。例如输入 32488 25731 41232 0 ,则输出 3个正五位数的百位数之和为13 。有关描述错误的是( )。

int M, Sum=0, rc=0;
cout << "请输入正整数:";
cin >> M;

while (M){
	M = (M / 100 % 10); // L6
	Sum += M;
	rc++;
	cin >> M;
}

cout << rc << "个正五位数的百位数之和为" << Sum;
A.

执行代码时如果输入 23221 23453 12345 11111 0 ,则最后一行Sum的值是 10

B.

执行代码时如果输入 2322 2345 1234 1111 0 ,程序也能运行

C.

将代码标记为 L6 那行改为 M = (M % 1000 / 100); ,同样能实现题目要求

D.

将代码标记为 L6 那行改为 M = (M % 100 / 10); ,同样能实现题目要求

12.

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

int N = 0;
for (int i = 0; i < 10; i++)
	N += 1;
cout << N;
A.

55

B.

45

C.

10

D.

9

13.

据有关资料,山东大学于1972年研制成功DJL-1计算机,并于1973年投入运行,其综合性能居当时全国第三位。DJL-1计算机运算控制部分所使用的磁心存储元件由磁心颗粒组成,设计存贮周期为2μs(微秒)。那么该磁心存储元件相当于现代计算机的( )。(2024.9-1)

A.

内存

B.

磁盘

C.

CPU

D.

显示器

14.

下面C++代码拟用于计算整数N的位数,比如对 123 则输出 123是3位整数 ,但代码中可能存在bug。下面有关描述正确的是( )。

int N, N0, rc=0;
cout << "请输入整数:";
cin >> N;

N0 = N;
while (N){
	rc++;
	N /= 10;
}

printf("%d是%d位整数\n", N, rc); // L11
A.

变量N0占用额外空间,可以去掉

B.

代码对所有整数都能计算出正确位数

C.

L11标记的代码行简单修改后可以对正整数给出正确输出

D.

L11标记的代码行的输出格式有误

15.

成功执行下面的C++代码,先后从键盘上输入5回车和2回车,输出是( )。

cin >> a;
cin >> b;
cout << a + b;
A.

将输出整数7

B.

将输出52,5和2之间没有空格

C.

将输出5和2,5和2之间有空格

D.

执行结果不确定,因为代码段没有显示a和b的数据类型

二、判断题

1.

下面C++代码能够执行,则将输出45。( )

for (int i = 0; i < 10; i++)
	Sum += i;
cout << Sum;
A.正确 B.错误
2.

本题考察关系运算和语句的执行顺序,表达式(a<b<c)的执行顺序可以写为((a<b)<c),先执行a<b,其值为false,然后执行false<c,其中false转为int类型的0,结果为true(逻辑真)。所以本题错误。

A.正确 B.错误
3.

在C++代码中,不可以将变量命名为 five-star ,因为变量名中不可以出现 - (减号)符号。( )

A.正确 B.错误
4.

下面C++代码执行后,最后一次输出是10。( )

for (int i = 1; i < 10; i+=3)
	cout << i << endl;
A.正确 B.错误
5.

小杨最近开始学习C++编程,老师说C++是一门面向对象的编程语言,也是一门高级语言。( )

A.正确 B.错误
6.

在C++代码中整型变量X被赋值为20.24,则 cout << (X++, X+1) / 10 执行后输出的是 2.124 。( )

A.正确 B.错误
7.

C++中,定义变量 int a=5,b=4,c=3 ,则表达式 (a<b<c) 的值为逻辑假。 ( )

A.正确 B.错误
8.

N是C++程序中的整型变量,则语句 scanf("%d", &N) 能接收形如正整数、负整数和0输入,但如果输入含字母或带小数点数,将导致无法执行。 ( )

A.正确 B.错误
9.

在C++中,表达式 10/4 和 10%4 的值相同,都是整数2,说明 / 和 % 可以互相替换。( )

A.正确 B.错误
10.

在C++, break 语句通常与if语句配合使用。( )

A.正确 B.错误

三、编程题

1.

小杨购物

时间限制:1.0 s

内存限制:512.0 MB

题面描述

小杨有 n 元钱用于购物。商品 A 的单价是 a 元,商品 B BB 的单价是 b 元。小杨想购买 相同数量 的商品 A 和商品 B。

请你编写程序帮小杨计算出他最多能够购买多少个商品 A 和商品 B。

输入格式

第一行包含一个正整数 n,代表小杨用于购物的钱的金额。

第二行包含一个正整数 a,代表商品 A 的单价。

第三行包含一个正整数 b,代表商品 B 的单价。

输出格式

输出一行,包含一个整数,代表小杨最多能够购买的商品 A 和商品 B 的数量。


输入样例

12
1
2

输出样例

4

对于样例1,由于需要购买相同数量的两种商品,因此小杨最多能够购买 4 件商品 A 和 4 件商品 B,共花费4×1+4×2=12 元。因此,样例1的答案为 4 44。

输入样例

13
1
2

输出样例

4

对于样例2,由于需要购买相同数量的两种商品,因此小杨最多能够购买 4 件商品 A 和 4 件商品 B ,共花费 4×1+4×2=12 元。如果小杨想购买 5 件商品 A 和 5 件商品 B,则需花费 5×1+5×2=15 元,超过了小杨的预算 13 元。因此,样例2的答案为 4。

对于全部数据,保证有1≤n,a,b≤105。


2.

美丽数字

时间限制:1.0 s

内存限制:512.0 MB

题面描述

小杨有 n 个正整数,他认为一个正整数是美丽数字当且仅当该正整数是 9 的倍数但不是 8 的倍数。

小杨想请你编写一个程序计算 n 个正整数中美丽数字的数量。

输入格式

第一行包含一个正整数n,代表正整数个数。

第二行包含 n 个正整数 a1,a2,a3,...,an。

输出格式

输出一个整数,代表其中美丽数字的数量。


输入样例

3
1
9
72

输出样例

1

对于样例:

1 既不是 9 的倍数,也不是 8 的倍数;

9 是 9 的倍数,不是 8 的倍数;

72 既是 9 的倍数,也是 8 的倍数;

因此答案为 1。

对于全部数据,保证有 1≤n≤105,1≤ai≤105。

公众号
客服 反馈
顶部