#GESP202409C1T1. 单选题(每题 2 分,共 30 分)
单选题(每题 2 分,共 30 分)
- 据有关资料,山东大学于1972年研制成功DJL-1计算机,并于1973年投入运行,其综合性能居当时全国第三位。DJL-1计算机运算控制部分所使用的磁心存储元件由磁心颗粒组成,设计存贮周期为2μs(微秒)。那么该磁心存储元件相当于现代计算机的( )。
{{ select(1) }}
- 内存
- 磁盘
- CPU
- 显示器
- C++程序执行出现错误,不太常见的调试手段是( )。
{{ select(2) }}
- 阅读源代码
- 单步调试
- 输出执行中间结果
- 跟踪汇编码
- 在C++中,下列表达式错误的是( )。
{{ select(3) }}
cout << "Hello,GESP!" << endl;
cout << 'Hello,GESP!' << endl;
cout << """Hello,GESP!""" << endl;
cout << "Hello,GESP!' << endl;
- C++表达式
10 - 3 * 2
的值是( )。
{{ select(4) }}
- 14
- 4
- 1
- 0
- 在C++中,假设N为正整数10,则
cout << (N / 3 + N % 3)
将输出( )。
{{ select(5) }}
- 6
- 4.3
- 4
- 2
- C++语句
printf("6%2={%d}", 6%2)
执行后的输出是( )。
{{ select(6) }}
"6%2={6%2}"
6%2={6%2}
0=0
6%2={0}
- 成功执行下面的C++代码,先后从键盘上输入5回车和2回车,输出是( )。
cin >> a;
cin >> b;
cout << a + b;
{{ select(7) }}
- 将输出整数7
- 将输出52,5和2之间没有空格
- 将输出5和2,5和2之间有空格
- 执行结果不确定,因为代码段没有显示a和b的数据类型
- 下面C++代码执行后输出是( )。
int Sum = 0;
for (int i = 0; i < 10; i++)
Sum += i;
cout << Sum;
{{ select(8) }}
- 55
- 45
- 10
- 9
- 下面C++代码执行后输出的是( )。
int N = 0;
for (int i = 0; i < 10; i++) {
N += 1;
}
cout << N;
{{ select(9) }}
- 55
- 45
- 10
- 9
- 下面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
- 下面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
- 执行下面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
- 下面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
{{ select(13) }}
- 变量N0占用额外空间,可以去掉
- 代码对所有整数都能计算出正确位数
- L11标记的代码行简单修改后可以对正整数给出正确输出
- L11标记的代码行的输出格式有误
- 下面的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);
,同样能实现题目要求
- 如果一个正整数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
{{ select(15) }}
- 1
- 2
- 3
- 4