#GESP20231202. GESP C++ 二级(2023 年 12 月)
GESP C++ 二级(2023 年 12 月)
C++ 二级 (2023 年 12 月,满分 50 分)
一、 单选题(每题 2 分,共 30 分)
- 以下不可以做为C++变量的是( )。 {{ select(1) }}
- FiveStar
- fiveStar
- 5Star
- Star5
- 在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,横线处应填入( )。
{{ 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不是对称数。下面对该题对应代码的说法,正确的是( )。
{{ select(4) }}
- 代码没有语法错误,如果N为对称数,第8行将能正确输出。
- 代码没有语法错误,但如果N为负数,将导致死循环。
- 代码存在语法错误,程序不能被执行。
- 代码没有语法错误,但不能达到预期目标,因为循环结束N总为0。
-
下面C++代码用于判断N(大于等于2的正整数)是否为质数(素数)。下面对如下代码的说法,正确的是( )。
{{ select(5) }}
- 代码能正确判断N是否为质数。
- 代码总是不能判断N是否质数。
- 删除第5行 break,将能正确判断N是否质数。
- 代码存在漏洞,边界存在问题,应将第2行和第7行的 N/ 2改为 N/ 2 + 1。
-
下面C++代码执行后的输出是( )。
{{ select(6) }}
- 2#3#0
- 1#2#0
- 1#0#
- 2#3#
-
下面C++代码执行后的输出是( )。
{{ select(7) }}
- 0
- 8#8
- 4
- 4#4
-
下面C++代码执行后的输出是( )。
{{ select(8) }}
- 100
- 95
- 55
- 0
-
下面C++代码执行后的输出是( )。
{{ select(9) }}
- 1
- 1,3
- 15,17
- 1,10,12
-
下面C++代码执行后的输出是( )。
{{ select(10) }}
- 5
- 10
- 20
- 30
-
以下C++代码用于输出1-100(含)的整数平方数(完全平方数),如16是4的平方,横线处应填写( )。
{{ select(11) }}
- int(sqrt(i)) * int(sqrt(i)) = i
- int(sqrt(i)) == sqrt(i)
- int(sqrt(i)) * int(sqrt(i)) == i
- int(sqrt(i)) = sqrt(i)
-
下面的C++代码用于实现如下左图所示的效果,应在以下右图C++代码中填入( )。
{{ 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 分)【正确(A)错误(B)】
- 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。( )
{{ select(21) }}
- 正确
- 错误
- 在C++代码中,运算符只能处理相同的数据类型,不同类型之间必须转换为相同的数据类型。( ) {{ select(22) }}
- 正确
- 错误
- 在C++代码中,虽然变量都有数据类型,但同一个变量也可以先后用不同类型的值赋值。( ) {{ select(23) }}
- 正确
- 错误
- 小杨最近在准备考GESP,他用的Dev C++来练习和运行程序,所以Dev C++也是一个小型操作系统。( ) {{ select(24) }}
- 正确
- 错误
- 任何一个 while循环都可以转化为等价的 for循环( )。 {{ select(25) }}
- 正确
- 错误