#G1058. [GESP202312] 二级理论
[GESP202312] 二级理论
1、以下不可以做为C++变量的是( )。
{{ select(1) }}
FiveStarfiveStar5StarStar5
2、在C++中,与 for(int i = 10; i < 20; i +=2) cout << i; 输出结果相同的是( )。
{{ select(2) }}
for(int i = 10; i < 19; i +=2) cout << i;for(int i = 11; i < 19; i +=2) cout << i;for(int i = 10; i < 21; i +=2) cout << i;- 以上均不对
3、以下C++代码实现从小到大的顺序输出能整除N的数(N的因子),例如N=18时输出1 2 3 6 9 18,横线处应填入( )。
cin >> N;
for(____)
if(N % i == 0)
cout << i << " ";
{{ select(3) }}
int i = 0; i < N; i++int i = 1; i < N; i++int i = 0; i < N+1; i++int i = 1; i < N+1; i++
4、下面C++代码用于判断输入的整数是否为对称数,如1221、12321是对称数,但123、972不是对称数。下面对该题对应代码的说法,正确的是( )。
cin >> N;
newNum = 0;
while(N) {
newNum = newNum * 10 + N % 10;
N = N / 10;
}
if(newNum == N)
cout << N << "为对称数";
{{ select(4) }}
- 代码没有语法错误,如果
N为对称数,第8行将能正确输出。 - 代码没有语法错误,但如果
N为负数,将导致死循环。 - 代码存在语法错误,程序不能被执行。
- 代码没有语法错误,但不能达到预期目标,因为循环结束
N总为0。
5、下面C++代码用于判断N(大于等于2的正整数)是否为质数(素数)。下面对如下代码的说法,正确的是()。
cin >> N;
for(i = 2; i < N/2; i++)
if(N % i == 0) {
cout << N << " 不是质数";
break;
}
if(i >= N/2)
cout << N << " 是质数";
{{ select(5) }}
- 代码能正确判断
N是否为质数。 - 代码总是不能判断
N是否质数。 - 删除第
5行break,将能正确判断N是否质数。 - 代码存在漏洞,边界存在问题,应将第
2行和第7行的N / 2改为N / 2 + 1。
6、下面C++代码执行后的输出是( )。
N = 4;
for(int i = 0; i < N; i++) {
for(int j = 1; j < i; j++)
if (i * j % 2 == 0)
cout << i << "#";
continue;
cout << "0";
}
{{ select(6) }}
2#3#01#2#01#0#2#3#
7、下面C++代码执行后的输出是( )。
cnt = 0;
for(i = 1; i < 10; i++)
for(j = 1; j < i; j += 2)
if(i * j % 2 == 0) {
cnt ++;
break;
}
if(i >= 10) cout << cnt << "#";
cout << cnt;
{{ select(7) }}
08#844#4
8、下面C++代码执行后的输出是( )。
N = 100;
while(N > 0)
if(N % 2)
break;
else if(N % 3 == 0)
N -= 5;
else
N -= 20;
cout << N;
{{ select(8) }}
10095550
9、下面C++代码执行后的输出是( )。
x = 1;
while (x < 100) {
if(x % 3 != 0)
cout << x << ",";
else if(x / 10)
break;
else
x += 5;
x += 2;
}
cout << x;
{{ select(9) }}
11,315,171,10,12
10、下面C++代码执行后的输出是( )。
cnt = 0;
for(i = 0; i < 5; i++)
for(j = 0; j < i; j++)
cnt += 1;
cout << cnt;
{{ select(10) }}
5102030
11、以下C++代码用于输出1-100(含)的整数平方数(完全平方数),如16是4的平方,横线处应填写( )。
for (i = 1; i < 100 + 1; i++)
if(____)
cout << i << " ";
{{ select(11) }}
int(sqrt(i)) * int(sqrt(i)) = iint(sqrt(i)) == sqrt(i)int(sqrt(i)) * int(sqrt(i)) == iint(sqrt(i)) = sqrt(i)
12、下面的C++代码用于实现如下左图所示的效果,应在以下右图C++代码中填入( )。

{{ select(12) }}
- 与第8行下面填入一行:
cout << nowNum; - 与第2行下面填入一行:
cout << endl; - 与第7行下面填入一行:
cout << nowNum; - 与第9行下面填入一行:
cout << endl;
13、某公司新出了一款无人驾驶的小汽车,通过声控智能驾驶系统,乘客只要告诉汽车目的地,车子就能自动选择一条优化路线,告诉乘客后驶达那里。请问下面哪项不是驾驶系统完成选路所必须的。( )
{{ select(13) }}
- 麦克风
- 扬声器
- 油量表
- 传感器
14、现代计算机是指电子计算机,它所基于的是( )体系结构。
{{ select(14) }}
- 艾伦·图灵
- 冯·诺依曼
- 阿塔纳索夫
- 埃克特-莫克利
15、输入一个正整数N,想找出它所有相邻的因数对,比如,输入12,因数对有(1,2)、(2,3)、(3,4)。下面哪段代码找不到所有的因数对?( )
{{ select(15) }}
for(i=1;i<N;i++) if(!(N%i) && !(N%(i+1))) printf("(%d,%d)\n", i, i+1);for(i=2;i<N;i++) if(!(N%i) && !(N%(i+1))) printf("(%d,%d)\n", i, i+1);for(i=2;i<N/2;i++) if(!(N%(i-1)) && !(N%i)) printf("(%d,%d)\n", i-1, i);for(i=1;i<N/2;i++) if(!(N%i) && !(N%(i+1))) printf("(%d,%d)\n", i, i+1);
16、 C++表达式 -7/2 的值为整数-3。( )
{{ select(16) }}
- 对
- 错
17、C++表达式 2*int('9')*2 的值为36。( )
{{ select(17) }}
- 对
- 错
18、C++表达式 3+2 && 5-5 的值为false。( )
{{ select(18) }}
- 对
- 错
19、 在C++代码中,执行 srand(0) 后连续两次执行 rand() 的结果相等。 ( )
{{ select(19) }}
- 对
- 错
20、 C++代码中 while(1){...} 的判断条件不是逻辑值,将导致语法错误。( )
{{ select(20) }}
- 对
- 错
21、 执行以下C++代码后将输出0。( )
Sum = 0;
for (int i = -500; i < 500; i++)
Sum += i;
cout << Sum;
{{ select(21) }}
- 对
- 错
22、 在C++代码中,运算符只能处理相同的数据类型,不同类型之间必须转换为相同的数据类型。( )
{{ select(22) }}
- 对
- 错
23、 在C++代码中,虽然变量都有数据类型,但同一个变量也可以先后用不同类型的值赋值。( )
{{ select(23) }}
- 对
- 错
24、 小杨最近在准备考GESP,他用的Dev C++来练习和运行程序,所以Dev C++也是一个小型操作系统。( )
{{ select(24) }}
- 对
- 错
25、任何一个 while 循环都可以转化为等价的 for 循环( )。
{{ select(25) }}
- 对
- 错