#G1159. 客观题
客观题
一、单选题(每题 2 分,共 30 分)
- 年 月 日,诺贝尔物理学奖 “意外地” 颁给了两位计算机科学家约翰·霍普菲尔德()和杰 弗·顿()。这两位科学家的主要研究向是( )。
{{ select(1) }}
- 天体物理
- 流体力学
- 人工智能
- 量理理论
- 计算机系统中存储的基本单位用 来表示,它代表的是( ),比如某个照片大小为 。
{{ select(2) }}
- ++ 语句
cout << (3 + 3 % 3 * 2 - 1)
执行后输出的值是( )。
{{ select(3) }}
-
下面 ++ 代码执行后其输出是( )。
for (int i = 0; i < 10; i++) printf("%d", i);
{{ select(4) }}
-
下面 ++ 代码的相关说法中,正确的是( )。
int tnt; for (int i = 0; i < 10; i++) tnt += i; cout << tnt;
{{ select(5) }}
- 上述代码执行后其输出相当于求 的和(包含 )
- 上述代码执行后其输出相当于求 的和(不包含 )
- 上述代码执行后其输出相当于求 的和(不包含 )
- 上述代码执行后将输出不确定的值
-
下面 ++ 代码执行后输出是( )。
int i; for (i = 1; i < 10; i++) if (i % 2) continue; else break; cout << i;
{{ select(6) }}
-
下面 ++ 代码执行后的输出是( )。
for (i = 0; i < 10; i++) { if (i % 3) continue; printf("0#"); } if (i >= 10) printf("1#");
{{ select(7) }}
- 0#0#0#0#0#0#0#1#
- 0#0#0#0#0#0#1#
- 0#0#0#0#1#
- 0#0#0#0#
-
下面 ++ 代码用于输出 之间(包含 )能被 整除但不能被 整除的数,横线处不能填入的代码是( )。
for (i = 0; i < 100; i++) if (_____________) cout << i << endl;
{{ select(8) }}
i % 7 == 0 && i % 3 != 0
!(i % 7) && i % 3 != 0
i % 7 && i % 3
i % 7 == 0 && !(i % 3 == 0)
-
下面 ++ 代码用于求正整数各位数字之和,横线处不应填代码是( )。
int tnt, N; printf("请输入正整数:"); cin >> N; tnt = 0; while (N != 0) { ________________ N /= 10; } cout << tnt;
{{ select(9) }}
tnt = tnt + N % 10
tnt += N % 10
tnt = N % 10 + tnt
tnt = N % 10
-
下面的 ++ 程序执行后的输出是( )。
for (i = 0; i < 5; i++) for (j = 0; j < i; j++) cout << j;
{{ select(10) }}
-
下面 ++ 代码用于实现图示的九九乘法表。相关说法错误的是( )。
/* 1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 1*4=4 2*4=8 3*4=12 4*4=16 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81 */ for (int Hang=1; Hang<10; Hang++) { for (int Lie=1; Lie<Hang+1; Lie++) { if (Lie * Hang > 9) printf("%d*%d=%d ", Lie, Hang, Lie*Hang); else printf("%d*%d=%d ", Lie, Hang, Lie*Hang); // L2 } printf("\n"); // L1 }
{{ select(11) }}
- 将 注释的
printf("\n")
移到 注释所在行,效果相同 - 将 注释的
printf("\n")
修改为print("%c", '\n')
效果相同 - 将
Lie * Hang > 9
修改为Lie * Hang >= 10
效果相同 - 将
Lie * Hang > 9
修改为Hang * Lie > 9
效果相同
-
在数学中 表 的阶乘,即 到 的乘积,如 。下面的 ++ 用于求 的阶乘之和,如 为 ,则是 。下面代码段补充选项后用于实现上述功能,其中不能实现阶乘和的选项是( )。
int N; cin >> N; int tnt=0, nowNum = 1; //tnt保存求和之值,当前N的阶乘 for (int i = 1; i < N + 1; i++) { ______________ // 基于上一个计算出当前数的阶乘 ______________ // 从1到i每个数阶乘之和 } cout << tnt;
{{ select(12) }}
-
nowNum *= i; tnt += nowNum;
-
nowNum = nowNum * i; tnt = tnt + nowNum;
-
nowNum *= i; tnt = nowNum + tnt;
-
nowNum = nowNum + i; tnt *= nowNum;
-
下面 ++ 代码用于输出 和 之间(可以包括 和 )的孪生素数。孪生素数是指间隔为 的两个数均为素数,如 和 分别是素数,且间隔为 。
isPrime(N)
用于判断 是否为素数的函数。为完成上述功能,横线处应填上的代码是( )。int N, M; //本题假设N小于M cin >> N >> M; for (int i = N; i < __________; i++) if (isPrime(i) && isPrime(i + 2)) printf("%d %d\n", i, i + 2);
{{ select(13) }}
M - 2
M - 1
M
M + 1
-
下面 ++ 代码实现输出如下图形,横线应填入的代码是( )。
/* 高度:5 * *** ***** ******* ********* */ int height; cout << "高度: "; //获取用户输入的高度 cin >> height; for (i = 0; i < height; i++) { //打印每行前面的空格 for (j = 0; j < _______________; j++) cout << " "; //打印每行的星号 for (k = 0; k < _______________; k++) cout << "*"; //输出一行后,换行 cout << endl; }
{{ select(14) }}
-
height - i 2 * i
-
height 2 * i
-
height - i 2 * i + 1
-
height - i - 1 2 * i + 1
-
下面 ++ 代码执行后的输出是 ,则横线处不能填入( )。
int a=10,b=20,c=30; cout << _____________________ << endl; cout << endl;
{{ select(15) }}
max(max(a, b), c)
min(a+b, c)
sqrt(a+b+c)
(a+b+c) / 2
二、判断题(每题 2 分,共 20 分)
- 在 的资源管理器中为已有文件 建立副本的操作是 ,然后 。( )
{{ select(16) }}
- 正确
- 错误
- 在 ++ 代码中,假设 为正整数,则
cout << (N - N / 10 * 10)
将获得 的个位数。( )
{{ select(17) }}
- 正确
- 错误
- 在 ++ 语句
cout << (10 <= N <= 12)
中,假设 为 ,则其输出为 。( )
{{ select(18) }}
- 正确
- 错误
- 如果 ++ 表达式
int(sqrt(N)) * int(sqrt(N)) == N
的值为 ,则说明 为完全平数,如 、、 等。( )
{{ select(19) }}
- 正确
- 错误
-
下面 ++ 代码执行后将输出
2*3=6
。( )int a = 2, b = 3; printf("%%a*%%b=%d", a*b);
{{ select(20) }}
- 正确
- 错误
-
以下 ++ 代码因为循环变量为
_
将导致错误,即_
不能作为变量名称,不符合 ++ 变量命名规范。( )for (int _ = 0; _ < 10; _++) continue;
{{ select(21) }}
- 正确
- 错误
-
下面 ++ 代码执行后因为有
break
,将输出 。( )int i; for (i = 0; i < 10; i++) { continue; break; } cout << i;
{{ select(22) }}
- 正确
- 错误
-
下面的 ++ 代码执行后将输出 行
OK
。( )int i, j; for (i = 8; i > 2; i -= 2) for (j = 0; j < i; j++) printf("OK\n");
{{ select(23) }}
- 正确
- 错误
-
将下面 ++ 代码中的
i = 1
调整为i = 0
的输出结果相同。( )int i; int cnt = 0; for (i = 1; i < 5; i++) if (i % 2) cnt += 1; cout << cnt;
{{ select(24) }}
- 正确
- 错误
-
下面两段 ++ 代码都是用于求 的和,其运行结果相同。通常说来,
for
循环都可以用while
循环实现。( )int tnt; int i; tnt = 0; for (i = 1; i < 10 + 1; i++) tnt += i; cout << tnt << endl;
int tnt; int i; tnt = 0; i = 1; while (i <= 10) { tnt += i; i += 1; } cout << tnt << endl;
{{ select(25) }}
- 正确
- 错误