#G1138. 2024年09月 GESP C++ 一级
2024年09月 GESP C++ 一级
GESP 202409 C++ 一级
第 1 题
据有关资料,山东大学于 1972 年研制成功 DJL-1 计算机,并于 1973 年投入运行,其综合性能居当时全国第三位。DJL-1 计算机运算控制部分所使用的磁心存储元件由磁心颗粒组成,设计存贮周期为 (微秒)。那么该磁心存储元件相当于现代计算机的({{ select(1) }})。
- 内存
- 磁盘
- CPU
- 显示器
第 2 题
C++ 程序执行出现错误,不太常见的调试手段是({{ select(2) }})。
- 阅读源代码
- 单步调试
- 输出执行中间结果
- 跟踪汇编码
第 3 题
在 C++ 中,下列表达式错误的是({{ select(3) }})。
cout << "Hello,GESP!" << endl;cout << 'Hello,GESP!' << endl;cout << """Hello,GESP!""" << endl;cout << "Hello,GESP!' << endl;
第 4 题
C++ 表达式 10 - 3 * 2 的值是({{ select(4) }})。
- 14
- 4
- 1
- 0
第 5 题
C++ 中,假设 为正整数 ,则 cout << (N / 3 + N % 3) 将输出({{ select(5) }})。
- 6
- 4.3
- 4
- 2
第 6 题
C++ 语句 printf("6%2={%d}", 6%2) 执行后的输出是({{ select(6) }})。
- "6%2={6%2}"
- 6%2={6%2}
- 0=0
- 6%2={0}
第 7 题
成功执行下面的 C++ 代码,先后从键盘上输入 5 回车和 2 回车,输出是( )。
cin >> a;
cin >> b;
cout << a + b;
{{ select(7) }}
- 将输出整数 7
- 将输出 52,5 和 2 之间没有空格
- 将输出 5 和 2,5 和 2 之间有空格
- 执行结果不确定,因为代码段没有显示 a 和 b 的数据类型
第 8 题
下面 C++ 代码执行后输出是( )。
int Sum = 0;
for (int i = 0; i < 10; i++)
Sum += i;
cout << Sum;
{{ select(8) }}
- 55
- 45
- 10
- 9
第 9 题
下面 C++ 代码执行后输出的是( )。
int N = 0;
for (int i = 0; i < 10; i++)
N += 1;
cout << N;
{{ select(9) }}
- 55
- 45
- 10
- 9
第 10 题
下面 C++ 代码执行后输出的是( )。
int N = 0;
for (int i = 1; i < 10; i += 2){
if (i % 2 == 1)
continue;
N += 1;
}
cout << N;
{{ select(10) }}
- 5
- 4
- 2
- 0
第 11 题
下面 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);
{{ select(11) }}
- 第5行代码2, 0
- 第5行代码1, 0
- 第7行代码 1
- 第7行代码 0
第 12 题
执行下面 C++ 代码后得到的输出是( )。
int count = 0, i, s;
for (i = 0, s = 0; i < 20; i++, count++)
s += i++;
cout << s << " " << count;
{{ select(12) }}
- 190 20
- 95 10
- 90 19
- 90 10
第 13 题
下面 C++ 代码拟用于计算整数 的位数,比如对 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
{{ select(13) }}
- 变量 N0 占用额外空间,可以去掉
- 代码对所有整数都能计算出正确位数
- L11 标记的代码行简单修改后可以对正整数给出正确输出
- L11 标记的代码行的输出格式有误
第 14 题
下面的 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;
{{ select(14) }}
- 执行代码时如果输入 23221 23453 12345 11111 0,则最后一行 Sum 的值是 10
- 执行代码时如果输入 2322 2345 1234 1111 0,程序也能运行
- 将代码标记为 L6 那行改为
M = (M % 1000 / 100);,同样能实现题目要求 - 将代码标记为 L6 那行改为
M = (M % 100 / 10);,同样能实现题目要求
第 15 题
如果一个正整数 能够表示为 的形式,这里称它是一个“兄弟数”。例如,输入 6,则输出“6 是一个兄弟数”。下面 C++ 代码用来判断 是否为一个“兄弟数”,在横线处应填入的代码可从 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
{{ select(15) }}
- 1
- 2
- 3
- 4
第 16 题
小杨最近开始学习 C++ 编程,老师说 C++ 是一门面向对象的编程语言,也是一门高级语言({{ select(16) }})。
- 正确
- 错误
第 17 题
在 C++ 中,表达式 10/4 和 10%4 的值相同,都是整数 ,说明 / 和 % 可以互相替换({{ select(17) }})。
- 正确
- 错误
第 18 题
是 C++ 程序中的整型变量,则语句 scanf("%d", &N) 能接收形如正整数、负整数和 输入,但如果输入含字母或带小数点数,将导致无法执行({{ select(18) }})。
- 正确
- 错误
第 19 题
下面 C++ 代码能够执行,则将输出 。( )
for (int i = 0; i < 10; i++)
Sum += i;
cout << Sum;
{{ select(19) }}
- 正确
- 错误
第 20 题
在 C++ 代码中整型变量 被赋值为 ,则 cout << (X++, X+1) / 10 执行后输出的是 ({{ select(20) }})。
- 正确
- 错误
第 21 题
下面 C++ 代码执行后,最后一次输出是 。( )
for (int i = 1; i < 10; i+=3)
cout << i << endl;
{{ select(21) }}
- 正确
- 错误
第 22 题
在 C++,break 语句通常与 if 语句配合使用({{ select(22) }})。
- 正确
- 错误
第 23 题
在 C++ 代码中,不可以将变量命名为 five-star,因为变量名中不可以出现 -(减号)符号({{ select(23) }})。
- 正确
- 错误
第 24 题
在 C++ 语言中,整型、实数型、字符型、布尔型是不同数据类型,但这四种类型的变量间都可以比较大小({{ select(24) }})。
- 正确
- 错误
第 25 题
C++ 中,定义变量 int a=5,b=4,c=3,则表达式 (a<b<c) 的值为逻辑假({{ select(25) }})。
- 正确
- 错误