选择题 共15道

01 02 03 04 05 06 07 08 09 10 11 12 13 14 15


判断题 共10道

16 17 18 19 20 21 22 23 24 25


编程题 共2道

26 27

E840 202512GESP C++二级试卷-考试

选择题 共15道

01 近日,空中客车公司表示,约6000架空客A320系列飞机需要紧急更换一种易受太阳辐射影响的飞行控制软件。空客表示,在对一起飞行事故分析后的结果显示,强烈的太阳辐射可能会损坏飞行控制系统所需的关键数据,导致判断失误,进而引发飞行异常。那这里的飞行控制系统执行判断的部件最可能是下面的( )。 2分
登录后查看选项
02 小明最近为了备考GESP,开始看B站上关于网络知识的视频。其中提到计算机网络系统有不同的划分标准,那他平时上学所在的教学楼内的网络是一个( )。 2分
登录后查看选项
03 下面有关C++变量的说法,正确的是( )。 2分
登录后查看选项
04 一个小数是0.123123123……无限循环,其小数点后1位是1,后2位是2,依此类推,求第N位的值。横线处应填入的代码是( )。
int N;
cin >> N;
remainder = ______________;
if (remainder == 0)
	cout << 1;
else if (remainder == 1)
	cout << 2;
else
	cout << 3;
2分
登录后查看选项
05 某同学执行C++代码时 printf("%g\n", (3 + 3.1415926535)); 输出 6.14159,其原因最可能是( )。 2分
登录后查看选项
06 某单位工号的编码规则:编码总长5位,均为数字,前4位依次整除以3其值累加之和除以10的余数为第5位数字。如果工号为76587,前4位分别整除以3后,商分别为2、2、1、2,其累加之和为7,除以10的余数为7,故第5位为7。下面代码依次输入前4位后,两个横线处分别应填的是( )。
int rst = 0, N;
for (int i = 0; i < 4; i++){
	cin >> N;
	rst += ___________; // L1
}
cout << ___________; // L2
2分
登录后查看选项
07 下面的C++代码执行后的输出是( )。
for (int i = -2; i < 2; i++)
	if (i % 2)
		printf("%d#",i);
2分
登录后查看选项
08 下面的C++代码执行后输出是( )。
int cnt = 0, N;
for (int i =1; i < 10; i += 2)
	for (int j =0; j < i; j++)
		cnt += 1;
cout << cnt;
2分
登录后查看选项
09 下面C++代码执行后输出是( )。
int i,j;
for (i = 1; i < 12; i++){
	if (i % 2 == 0)
		continue;
	for (j = 0; j < i; j++)
		if (i * j % 2 == 0)
			break;
	if(j >= i)
		cout << i * j << " ";
}
if(i >= 12)
	cout << (i * j);
2分
登录后查看选项
10 与下面C++输出效果不一致的代码是( )。
int i;
for (i = 0; i < 10; i++)
	cout << i;
2分
登录后查看选项
11 下面C++代码执行后输出是( )。
int num = 0;
while (num <= 5){
	num += 1;
	if (num % 3)
		continue;
	printf("%d#",num);
}
if(num > 5)
	printf("%d", num);
2分
登录后查看选项
12 下面C++代码执行后,其输出是( )。
int cnt = 0;
for (int i = 0; i <5; i++)
	for (int j =i; j < 4; j++)
		cnt += 1;
cout << cnt;
2分
登录后查看选项
13 漂亮数的定义是:如果N能被M整除,或者某位是M,或者N的每位数之和能被M整除,则说N是M的漂亮数。如果三个条件都满足,则是完整漂亮数。123是3的完整漂亮数,因为123能被3整除,也含有3,其每位数之和为6也能被3整除。下面的代码用于判断N是否为M的完整漂亮数并输出。相关说法正确的是( )。
int N, M, Flag, Sum, num;
cout << "请输入N,不等于0的正整数:";
cin >> N;
cout << "请输入M:M必须大于1小于9:";
cin >> M;
Sum = 0; // 记录各位数之和
Flag = 0; // 假设记录N不含有M
while (N != 0){
	num = N % 10;
	Sum += num;
	if (num == M)
		Flag = 1;
	N /= 10;
}
if ((N % M == 0) && (Flag == 1) && (Sum % M == 0)) // L1
	printf("%d 是 %d 的完整漂亮数", N, M);
else
	printf("%d 不是 %d 的完整漂亮数", N, M);
2分
登录后查看选项
14 阅读下面的C++代码。执行后如输入5,其输出的字符图形是( )。
int n,i,j,k;
cin >> n;
for (i = 0; i < n; i++){
	for (j = 0; j < n-i-1; j++)
    	cout << " ";
	for (k = 0; k < 2*i+1; k++)
    	cout << "*";
	cout << endl;
}
2分
登录后查看选项
15 某学校举办“十佳歌手大奖赛”,经过选拔最终参赛选手有25人,评委10人,最终计分规则去掉一个最高分去掉一个最低分作为该参赛选手的最终得分,并输出该得分。如果单个评委可给满分为10分,则相关说法正确的是( )。
float total_score, max_score, min_score, now_score;
for (int i = 0; i < 25; i++){
	max_score = 0;  // 记录最高分
	min_score = 10; // 记录最低分
	total_score = 0; // 记录总分
	for (int j = 0; j < 10; j++){
		cin >> now_score; // 录入评委打分
		max_score = max(max_score, now_score); // L1
		min_score = min(min_score, now_score); // L2
		total_score += now_score;
	}
	cout << (total_score - max_score - min_score);
}
2分
登录后查看选项

判断题 共10道

16 鸿蒙是华为公司开发的一款操作系统,那么它能够将正确的源程序翻译成目标程序,并运行。( ) 2分
登录后查看选项
17 C++表达式 5 < 10 && 20 对应的逻辑值为 true。( ) 2分
登录后查看选项
18 C++表达式 10 / 0.333333 == 10 / (1 / 3) 的值为 true。( ) 2分
登录后查看选项
19 下面C++代码中N是整数,执行时无论输入负整数、0或正整数,其输出都将是 0。( )
cin >> N;
while (N)
	N /= 10;
cout << N;
2分
登录后查看选项
20 下面的C++代码执行后,其输出是 4 0。( )
int a,b;
a = 4;
b = a == 5;
cout << a << ' ' << b;
2分
登录后查看选项
21 C++代码中对表达式 ('2' - 'A') < ('2' - 'A') 的结果输出为 0。( ) 2分
登录后查看选项
22 下面的C++代码可以用于判断正整数N的位数(即几位数,如123是3位数,12为2位数)。 ( )
int N, N10, i;
cin >> N;
N10 = 10, i = 1;
while (1) {
	if (N % N10 == N) {
		printf("%d 是 %d 位数", N, i);
		break;
	}
	i++, N10 *= 10;
}
2分
登录后查看选项
23 计算交叉加减的结果,形如 1-2+3-4+5-……。下面C++代码中的变量都是整型,则将 Flag = -Flag 改为 Flag -= Flag 效果相同。( )
cin >> N;
Flag = -1;
tnt = 0;
for (i = 1; i < N + 1; i++) {
Flag = -Flag;
  tnt += Flag * i;
}
cout << tnt;
2分
登录后查看选项
24 下列C++代码段执行后将输出 55。( )
int cnt = 0;
for (i = 0; i < 10; i++)
	for (j = i; j < 10; j++)
    	cnt += 1;
cout << cnt;
2分
登录后查看选项
25 下面C++代码执行后输出如下,因为代码 printf("\n") 没有任何可读内容,删除不影响输出效果。( )
1  2  3  4  5  6  7  8  9
2  4  6  8 10 12 14 16 18
3  6  9 12 15 18 21 24 27
4  8 12 16 20 24 28 32 36
5 10 15 20 25 30 35 40 45
6 12 18 24 30 36 42 48 54
7 14 21 28 35 42 49 56 63
8 16 24 32 40 48 56 64 72
9 18 27 36 45 54 63 72 81

for (int i = 1; i < 10; i++) {
	for(int j = 1; j < 10; j++)
		printf("%3d", i * j);
	printf("\n");
}
2分
登录后查看选项

编程题 共2道

26

环保能量球


小杨最近在玩一个环保主题的游戏。在游戏中,小杨每行走 1 公里就可以获得 1 点“环保能量”。 为了激励玩家,游戏设置了“里程奖励”:小杨每行走 x 公里,游戏就会额外奖励 1 点能量。 现在已知小杨总共行走了 n 公里,请你帮他计算,他一共能获得多少点环保能量?


输入格式

第一行包含一个正整数 ,代表测试数据组数。 对于每组测试数据: 第一行包含一个正整数 ,代表行走的公里数。 第二行包含一个正整数 ,代表奖励触发的间隔。


输出格式

对于每组测试数据,输出一个整数,代表小杨获得的环保能量总数


输入样例
3
5
2
10
3
2
5

输出样例
7
13
2

样例解释

对于第 1 组数据,n=5,x=2 :小杨行走获得 5 点能量。此外,他在第 2 公里和第 4 公里时各获得 1 点额外奖励,总共 5+2=7点。

对于第 2 组数据,n=10,x=3 :行走获得 10 点。他在第 3、6、9 公里时各获得 1 点额外奖励,总共10+3=13点。

对于第 3 组数据,n=2,x=5 :行走获得 2 点。由于行走路程不足 5 公里,没有额外奖励,总共 2 点。

25分

C0311
登录后作答
27

黄金格

小杨在探险时发现了一张神奇的矩形地图,地图有 H 行和 W 列。每个格子的坐标是 (r, c),其中 r 表示行号从1到 H,c 表示列号1到 W。

小杨听说地图中隐藏着一些“黄金格”,这些格子满足一个神秘的数学挑战:当格子坐标 (r, c) 代入特定的不等式关系成立时,该格子就是黄金格。具体来说,黄金格的条件是:√(r² + c²) ≤ x + r - c。

例如,如果参数x=5 ,那么格子 (4,3)就是黄金格。因为左边坐标平方和的平方根√4²+3² 算出来是5 ,而右边5+4-3算出来是 6, 5小于等于6 ,符合条件。


输入格式

三行,每行一个正整数,分别表示H, W, x 。含义如题面所示

输出格式

一行一个整数,代表黄金格数量。

输入样例
4
4
2
输出样例
4

样例解释
(1,1)(1,2)(1,3)(1,4)
(2,1)(2,2)(2,3)(2,4)
(3,1)(3,2)(3,3)(3,4)
(4,1)(4,2)(4,3)(4,4)

图中最左边一列的四个格子是黄金格,坐标分别为(1,1),(2,1),(3,1),(4,1)。

25分

C0312
登录后作答