#99. GESP C++ 二级 2023年12月 客观题
GESP C++ 二级 2023年12月 客观题
单选题(每题 2 分,共 30 分)
- 以下不可以做为 C++变量的是( )。
{{ select(1) }}
FiveStarfiveStar5StarStar5
- 在 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;- 以上均不对
- 以下 C++代码实现从小到大的顺序输出能整除 N 的数(N 的因子),例如 N=18 时输出 1 2 3 6 9 18,横线处应填入( )。
1 cin>>N;
2 for(_______)
3 if(N%i==0)
4 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++
- 下面 C++代码用于判断输入的整数是否为对称数,如 1221、12321 是对称数,但 123、972 不是对称数。下面对该题对应代码的说法,正确的是( )。
1 cin>>N;
2 newNum=0;
3 while (N){
4 newNum=newNum*10+N%10;
5 N=N/10;
6 }
7 if(newNum==N)
8 cout<<N<<"为对称数";
{{ select(4) }}
- 代码没有语法错误,如果 N 为对称数,第 8 行将能正确输出。
- 代码没有语法错误,但如果 N 为负数,将导致死循环。
- 代码存在语法错误,程序不能被执行。
- 代码没有语法错误,但不能达到预期目标,因为循环结束 N 总为 0。
- 下面 C++代码用于判断 N(大于等于 2 的正整数)是否为质数(素数)。下面对如下代码的说法,正确的是( )。
1 cin>>N;
2 for(i=2;i<N/2;i++)
3 if(N%i==0){
4 cout<<N<<"不是质数";
5 break;
6 }
7 if(i>=N/2)
8 cout<<N<<"是质数";
{{ select(5) }}
- 代码能正确判断 N 是否为质数。
- 代码总是不能判断 N 是否质数。
- 删除第 5 行
break,将能正确判断 N 是否质数。 - 代码存在漏洞,边界存在问题,应将第 2 行和第 7 行的
N / 2改为N / 2 + 1。
- 下面 C++代码执行后的输出是( )。
1 N=4;
2 for(int i=0;i<N;i++){
3 for(int j=1;j<i;j++)
4 continue;
5 if(i*j%2==0)
6 cout<<i<<"#";
7 }
8 cout<<"0";
{{ select(6) }}
2#3#01#2#01#0#2#3#
- 下面 C++代码执行后的输出是( )。
1 cnt=0;
2 for(i=1;i<10;i++){
3 for(j=1;j<i;j+=2){
4 if(i%j%2==0){
5 cnt++;
6 break;
7 }
8 }
9 }
10 if(i>=10)
11 cout<<cnt<<"#";
12 cout<<cnt;
{{ select(7) }}
08#844#4
- 下面 C++代码执行后的输出是( )。
1 N=100;
2 while(N>0){
3 if(N%2){
4 break;
5 } else if(N%3==0){
6 N-=5;
7 } else {
8 N-=20;
9 }
10 }
11 cout<<N;
{{ select(8) }}
- 100
- 95
- 55
- 0
- 下面 C++代码执行后的输出是( )。
1 x=1;
2 while (x<100){
3 if(x%3!=0){
4 x+=2;
5 } else if(x/10){
6 x+=5;
7 } else {
8 break;
9 }
10 cout<<x<<",";
11 }
{{ select(9) }}
- 1
- 1,3
- 15,17
- 1,10,12
- 下面 C++代码执行后的输出是( )。
1 cnt=0;
2 for (i=0;i<5;i++){
3 for(j=0;j<i;j++){
4 cnt+=1;
5 }
6 }
7 cout<<cnt;
{{ select(10) }}
- 5
- 10
- 20
- 30
- 以下 C++代码用于输出 1-100(含)的整数平方数(完全平方数),如 16 是 4 的平方,横线处应填写( )。
1 for(i=1;i<100+1;i++){
2 if(_______)
3 cout<<i<<" ";
4 }
{{ select(11) }}
int(sqrt(i)) * int(sqrt(i)) = iint(sqrt(i)) == sqrt(i)int(sqrt(i)) * int(sqrt(i)) == iint(sqrt(i)) = sqrt(i)
- 下面的 C++代码用于实现特定效果,应在代码中填入( )。
1 cin>>N;
2 nowNum=0;
3 for(i=0;i<N;i++){
4 for(j=0;j<i+1;j++){
5 cout<<nowNum<<" ";
6 nowNum +=1;
7 if(nowNum==10)
8 nowNum=0;
9 _______
10 }
11 }
{{ select(12) }}
- 与第 8 行下面填入一行:
cout << nowNum; - 与第 2 行下面填入一行:
cout << endl; - 与第 7 行下面填入一行:
cout << nowNum; - 与第 9 行下面填入一行:
cout << endl;
- 某公司新出了一款无人驾驶的小汽车,通过声控智能驾驶系统,乘客只要告诉汽车目的地,车子就能自动选择一条优化路线,告诉乘客后驶达那里。请问下面哪项不是驾驶系统完成选路所必须的。( )
{{ select(13) }}
- 麦克风
- 扬声器
- 油量表
- 传感器
- 现代计算机是指电子计算机,它所基于的是( )体系结构。
{{ select(14) }}
- 艾伦·图灵
- 冯·诺依曼
- 阿塔纳索夫
- 埃克特-莫克利
- 输入一个正整数 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);
判断题(每题 2 分,共 20 分)
- C++表达式
-7/2的值为整数 -3。( )
{{ select(16) }}
- 正确
- 错误
- C++表达式
2*int('9')*2的值为 36。( )
{{ select(17) }}
- 正确
- 错误
- C++表达式
3+2 && 5-5的值为false。( )
{{ select(18) }}
- 正确
- 错误
- 在 C++代码中,执行
srand(0)后连续两次执行rand()的结果相等。( )
{{ select(19) }}
- 正确
- 错误
- C++代码中
while(1){...}的判断条件不是逻辑值,将导致语法错误。( )
{{ select(20) }}
- 正确
- 错误
- 执行以下 C++代码后将输出 0。( )
1 Sum=0;
2 for(i=-500;i<500;i++)
3 Sum +=i;
4 cout<<Sum;
{{ select(21) }}
- 正确
- 错误
- 在 C++代码中,运算符只能处理相同的数据类型,不同类型之间必须转换为相同的数据类型。( )
{{ select(22) }}
- 正确
- 错误
- 在 C++代码中,虽然变量都有数据类型,但同一个变量也可以先后用不同类型的值赋值。( )
{{ select(23) }}
- 正确
- 错误
- 小杨最近在准备考 GESP,他用的 Dev C++来练习和运行程序,所以 Dev C++也是一个小型操作系统。( )
{{ select(24) }}
- 正确
- 错误
- 任何一个 while 循环都可以转化为等价的 for 循环( )。
{{ select(25) }}
- 正确
- 错误