2023年12月 GESP C++ 2级
2023年12月 GESP C++ 2级认证考试真题(含编程操作题部分)
// questions
题目预览
以下不可以做为 C++ 变量的是( )。
FiveStar
fiveStar
5Star
Star5
在 C++ 中,与 for(int i = 10; i < 20; i +=2) cout << i; 输出结果相同的是( )。
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++ 代码实现从小到大的顺序输出能整除 NNN 的数(NNN 的因⼦),例如 N=18N=18N=18 时输出 1 2 3 6 9 18,横线处应填入( )。
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++ 代码用于判断输入的整数是否为对称数,如 122112211221 、 123211232112321 是对称数,但 123123123 、 972972972 不是对称数。下面对该题对应代码的说法,正确的是( )。
代码没有语法错误,如果 NNN 为对称数,第 888 行将能正确输出。
代码没有语法错误,但如果 NNN 为负数,将导致死循环。
代码存在语法错误,程序不能被执行。
代码没有语法错误,但不能达到预期目标,因为循环结束 NNN 总为 000 。
下面 C++ 代码用于判断 NNN(大于等于 222 的正整数)是否为质数(素数)。下面对如下代码的说法,正确的是( )。
代码能正确判断 NNN 是否为质数。
代码总是不能判断 NNN 是否质数。
删除第 555 行 break,将能正确判断 NNN 是否质数。
代码存在漏洞,边界存在问题,应将第 222 行和第 777 行的 N / 2 改为 N / 2 + 1。
下面 C++ 代码执行后的输出是( )。
2#3#0
1#2#0
1#0#
2#3#
下面 C++ 代码执行后的输出是( )。
000
888#888
444
444#444
下面 C++ 代码执行后的输出是( )。
100100100
959595
555555
000
下面 C++ 代码执行后的输出是( )。
111
1,31,31,3
15,1715,1715,17
1,10,121,10,121,10,12
下面 C++ 代码执行后的输出是( )。
555
101010
202020
303030
以下 C++ 代码用于输出 111-100100100(含)的整数平方数(完全平方数),如 161616 是 444 的平方,横线处应填写( )。
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++ 代码中填入( )。
与第 888 行下面填入一行:cout << nowNum;
与第 222 行下面填入一行:cout << endl;
与第 777 行下面填入一行:cout << nowNum;
与第 999 行下面填入一行:cout << endl;
某公司新出了一款无人驾驶的小汽车,通过声控智能驾驶系统,乘客只要告诉汽车目的地,车子就能自动选择一条优化路线,告诉乘客后驶达那里。请问下面哪项不是驾驶系统完成选路所必须的。( )
麦克风
扬声器
油量表
传感器
现代计算机是指电子计算机,它所基于的是( )体系结构。
艾伦·图灵
冯·诺依曼
阿塔纳索夫
埃克特-莫克利
输入一个正整数 NNN,想找出它所有相邻的因数对,比如,输入 121212,因数对有 (1,2)(1,2)(1,2)、(2,3)(2,3)(2,3)、(3,4)(3,4)(3,4)。下面哪段代码找不到所有的因数对?( )
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);
C++ 表达式 -7/2 的值为整数 −3-3−3。( )
C++ 表达式 2*int('9')*2 的值为 363636。( )
C++ 表达式 3+2 && 5-5 的值为 false。( )
在 C++ 代码中,执行 srand(0) 后连续两次执行 rand() 的结果相等。 ( )
C++ 代码中 while(1){...} 的判断条件不是逻辑值,将导致语法错误。( )
执行以下 C++ 代码后将输出 000。( )
在 C++ 代码中,运算符只能处理相同的数据类型,不同类型之间必须转换为相同的数据类型。( )
在 C++ 代码中,虽然变量都有数据类型,但同一个变量也可以先后用不同类型的值赋值。( )
小杨最近在准备考 GESP,他用的 Dev C++ 来练习和运行程序,所以 Dev C++ 也是一个小型操作系统。( )
任何一个 while 循环都可以转化为等价的 for 循环( )。
试题名称:小杨做题
时间限制:1.0 s | 内存限制:512.0 MB
题目描述
为了准备考试,小杨每天都要做题。第 111 天,小杨做了 aaa 道题;第 222 天,小杨做了 bbb 道题;从第 333 天起,小杨每天做的题目数量是前两天的总和。
此外,小杨还规定,当自己某一天做了大于或等于 mmm 题时,接下来的所有日子里,他就再也不做题了。
请问,到了第 NNN 天,小杨总共做了多少题呢?
输入格式
总共 444 行。第一行一个整数 aaa,第二行一个整数 bbb,第三行一个整数 mmm,第四行一个整数 NNN。
保证 0≤a,b≤100 \le a,b \le 100≤a,b≤10;a,b<m<1,000,000a,b<m<1,000,000a,b<m<1,000,000;3≤N≤3643 \le N \le 3643≤N≤364。
输出格式
一行一个整数,表示小杨 NNN 天里总共做了多少题目。
样例输入 #1
1
2
10
5
样例输出 #1
19
样例输入 #2
1
1
5
8
样例输出 #2
12
说明/提示
样例解释 1
小杨第一天做 111 题,第二天做 222 题,第三天做 1+2=31+2=31+2=3 题,第四天做 2+3=52+3=52+3=5 题,第五天做 3+5=83+5=83+5=8 题。因此他总共做了 1+2+3+5+8=191+2+3+5+8=191+2+3+5+8=19 题。
样例解释 2
小杨前 555 天分别做了 1,1,2,3,51,1,2,3,51,1,2,3,5 题,由于第 555 天小杨做了 555 题,而 m=5m=5m=5,于是小杨从此以后不再做题。因此小杨总共做了 1+1+2+3+5=121+1+2+3+5=121+1+2+3+5=12 题。
试题名称:小杨的 H 字矩阵
时间限制:1.0 s | 内存限制:512.0 MB
题目描述
小杨想要构造一个 N×NN \times NN×N 的 H 字矩阵(NNN 为奇数),具体来说,这个矩阵共有 NNN 行,每行 NNN 个字符,其中最左列、最右列都是 | ,而中间一行(即第N+12\frac{N+1}{2}2N+1行)的第 2∼N−12 \sim N-12∼N−1 个字符都是 - ,其余所有字符都是半角小写字母 a。例如,一个 N=5N=5N=5 的 H 字矩阵如下:
|aaa|
|aaa|
|---|
|aaa|
|aaa|
请你帮小杨根据给定的 NNN 打印出对应的“H 字矩阵”。
输入格式
一行一个整数 NNN(5≤N≤495\le N \le 495≤N≤49 ,保证 NNN 为奇数)。
输出格式
输出对应的“H 字矩阵”。
请严格按格式要求输出,不要擅自添加任何空格、标点、空行等任何符号。你应该恰好输出 NNN 行,每行除了换行符外恰好包含 NNN 个字符,这些字符要么是 - ,要么是 | ,要么是 a 。你的输出必须和标准答案完全一致才能得分,请在提交前仔细检查。
样例输入 #1
5
样例输出 #1
|aaa|
|aaa|
|---|
|aaa|
|aaa|
样例输入 #2
7
样例输出 #2
|aaaaa|
|aaaaa|
|aaaaa|
|-----|
|aaaaa|
|aaaaa|
|aaaaa|
说明/提示
感谢 @Present_Coming_Time 提供的数据。