GESP认证C++编程真题解析 | 202403 一级

附上汇总帖:GESP认证C++编程真题解析 | 汇总


单选题

第1题

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

A. -13

B. 8

C. 2

D. 0

【答案】:B

【解析】

1 * 3 + 5 = 8

第2题

C++语句cout << "5%2=" <<5 % 2执行后的输出是( )。

A. 2 2

B. 1 1

C. 5%2=2

D. 5%2=1

【答案】:D

【解析】

双引号的内容需要正常输出,5%2为1

第3题

执行C++语句cin >> a时如果输入5+2,下述说法正确的是( )。

A. 变量a将被赋值为整数7

B. 变量a将被赋值为字符串,字符串内容为5+2

C. 语句执行将报错,不能输入表达式

D. 依赖于变量a的类型。如果没有定义,会有编译错误

【答案】:D

【解析】

如果a是字符串类型,就没问题。如果没有定义类型就会有编译错误。

第4题

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

int a = 1;
cout << "a+1= " << a+1 << endl;

A. a+1= 2

B. a+1=2

C. 2=2

D. 2= 2

【答案】:A

【解析】

1 + 1 = 2。双引号内部正常输出。

第5题

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

int a = 1;
printf("a+1=%d\n", a+1);

A. a+1= 2

B. a+1=2

C. 2=2

D. 2= 2

【答案】:B

【解析】

1 + 1 = 2。双引号中的%d最后被替换为2。

第6题

下面C++代码执行时输入21后,有关描述正确的是( )。

int N;
cin >> N;
if (N%3==0)
	cout << "能被3整除";
else if (N%7==0)
	cout << "能被7整除";
else
	cout << "不能被3和7整除";
cout << endl;

A. 代码第4行被执行

B. 第4和第7行代码都被执行

C. 仅有代码第7行被执行

D. 第8行代码将被执行,因为input()输入为字符串

【答案】:A

【解析】

第4行被执行后,其他就不会执行了。

第7题

下面C++代码第2行,总共被执行次数是( )。

for (int i=-10; i<10; i++)
	cout << i << " ";

A. 10

B. 19

C. 20

D. 21

【答案】:C

【解析】

从-10到9,一共20个数字

第8题

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

int tnt = 0;
for (int i=0; i<10; i++)
	if (i%3 && i%7)
		tnt += i
cout << tnt << endl;

A. 0

B. 7

C. 18

D. 20

【答案】:D

【解析】

i 不能被3或7整除。1、2、4、5、8,合计为20。

第9题

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

int N = 10;
while (N) {
	N -= 1;
	if (N%3==0)
		cout << N << "#";
}

A. 9_#6#_3#

B. 9_#6#_3_#0#_

C. 8_#7#_5_#4#_2_#1#_

D. 10_#8#_7_#5#_4_#2#_1#

【答案】:B

【解析】

N 为 3 的倍数时才输出

第10题

下面C++代码用于判断键盘输入的整数是否为质数。质数是只能被1和它本身整除的数。在横线处应填入代码是( )。

int N;
cin >> N;
int cnt = 0;  //记录N被整除的次数
for (int i=1; i<N+1; i++)
	if (____)
		cnt += 1;
if (cnt == 2)
	cout << N << "是质数";
else
	cout << N << "不是质数";

A. N%i

B. N%i==0

C. N/i==0

D. N/i

【答案】:B

【解析】

cnt存的是约数个数,所以下划线部分应该判断能否被整除。

第11题

下面关于整型变量int x的赋值语句不正确的是( )。

A. x=(3.16);

B. x=3.16;

C. x=int(3.16);

D. x=3.16 int;

【答案】:D

【解析】

A和C都是正确的,B也是可以的。

第12题

C++语言中下面可以完成数据输入的语句是( )。

A. printf语句

B. scanf语句

C. default语句

D. cout语句

【答案】:B

【解析】

scanf和cin都是数据输入语句,cout和printf是输出语句

第13题

在Dev C++中对一个写好的C++源文件要生成一个可执行程序需要执行下面哪个处理步骤?( )

A. 创建

B. 编辑

C. 编译

D. 调试

【答案】:C

【解析】

编译的目的是为了把源代码转换成机器可执行的目标代码

第14题

小杨的父母最近刚刚给他买了一块华为手表,他说手表上跑的是鸿蒙,这个鸿蒙是?( )

A. 小程序

B. 计时器

C. 操作系统

D. 神话人物

【答案】:C

【解析】

鸿蒙是操作系统

第15题

中国计算机学会(CCF)在2024年1月27日的颁奖典礼上颁布了王选奖,王选先生的重大贡献是( )。

A. 制造自动驾驶汽车

B. 创立培训学校

C. 发明汉子激光照排系统

D. 成立方正公司

【答案】:C

【解析】

计算机常识,记忆即可

判断题

第1题

在C++代码中变量n被赋值为27,则cout << n%10执行后输出的是7。( )

A. 正确

B. 错误

【答案】:A

【解析】

27对10取余,得到7

第2题

C++语句printf("%d_#%d&",2,3)执行后输出的是2#_3&。( )

A. 正确

B. 错误

【答案】:A

【解析】

%d被替换为2和3,其他正常输出

第3题

C++函数scanf()必须含有参数,且其参数为字符串型字面量,其功能是提示输入。( )

A. 正确

B. 错误

【答案】:B

【解析】

其功能不是提示输入,python中的双引号才是提示输入。

第4题

C++表达式"10"*2执行时将报错,因为"10"是字符串类型而2是整数类型,它们数据类型不同,不能在一起运算。( )

A. 正确

B. 错误

【答案】:A

【解析】

python中可以运算,输入1010,但是C++不能

第5题

在C++中,while可能是死循环,而for循环不可能是死循环。( )

A. 正确

B. 错误

【答案】:B

【解析】

while和for循环都有可能成为死循环,受循环条件的设置影响

第6题

在C++,break语句用于提前终止当前层次循环,适用于while循环,但不适用于for循环。( )

A. 正确

B. 错误

【答案】:B

【解析】

只要想结束循环都可以用到break语句

第7题

C++语言中3.0和3的值相等,所以它们所占用的存储空间也相同。( )

A. 正确

B. 错误

【答案】:B

【解析】

3.0和3的数据类型不同,浮点数和整数类型占用空间不同

第8题

在C++的程序中,cin是一个合法的变量名。( )

A. 正确

B. 错误

【答案】:A

【解析】

在不同的作用域内可以作为有效标识符,可以作为变量名在程序中定义的

第9题

小杨今年春节回奶奶家了,奶奶家的数字电视可以通过遥控器输入电视剧名称来找到想播放的电视剧,所以可以推知里面有交互式程序在运行。( )

A. 正确

B. 错误

【答案】:A

【解析】

生活常识

第10题

任何一个for循环都可以转化为等价的while循环( )。

A. 正确

B. 错误

【答案】:A

【解析】

for和while可以互相转化。

编程题

题解:洛谷 B3952 [GESP202403 一级] 小杨买书

题解:洛谷 B3953 [GESP202403 一级] 找因数

posted @ 2026-03-18 17:18  团爸讲算法  阅读(52)  评论(0)    收藏  举报