2023年12月 GESP C++ 2级认证考试真题(含编程操作题部分)
选 单选题(共 15 题,每题 2 分)
以下不可以做为 C++ 变量的是( )。
在 C++ 中,与 for(int i = 10; i < 20; i +=2) cout << i; 输出结果相同的是( )。
以下 C++ 代码实现从小到大的顺序输出能整除 $N$ 的数($N$ 的因⼦),例如 $N=18$ 时输出 1 2 3 6 9 18,横线处应填入( )。
下面 C++ 代码用于判断输入的整数是否为对称数,如 $1221$ 、 $12321$ 是对称数,但 $123$ 、 $972$ 不是对称数。下面对该题对应代码的说法,正确的是( )。
下面 C++ 代码用于判断 $N$(大于等于 $2$ 的正整数)是否为质数(素数)。下面对如下代码的说法,正确的是( )。
下面 C++ 代码执行后的输出是( )。
下面 C++ 代码执行后的输出是( )。
下面 C++ 代码执行后的输出是( )。
下面 C++ 代码执行后的输出是( )。
下面 C++ 代码执行后的输出是( )。
以下 C++ 代码用于输出 $1$-$100$(含)的整数平方数(完全平方数),如 $16$ 是 $4$ 的平方,横线处应填写( )。
下面的 C++ 代码用于实现如下左图所示的效果,应在以下右图 C++ 代码中填入( )。
某公司新出了一款无人驾驶的小汽车,通过声控智能驾驶系统,乘客只要告诉汽车目的地,车子就能自动选择一条优化路线,告诉乘客后驶达那里。请问下面哪项不是驾驶系统完成选路所必须的。( )
现代计算机是指电子计算机,它所基于的是( )体系结构。
输入一个正整数 $N$,想找出它所有相邻的因数对,比如,输入 $12$,因数对有 $(1,2)$、$(2,3)$、$(3,4)$。下面哪段代码找不到所有的因数对?( )
判 判断题(共 10 题,每题 2 分)
C++ 表达式 -7/2 的值为整数 $-3$。( )
C++ 表达式 2*int('9')*2 的值为 $36$。( )
C++ 表达式 3+2 && 5-5 的值为 false。( )
在 C++ 代码中,执行 srand(0) 后连续两次执行 rand() 的结果相等。 ( )
C++ 代码中 while(1){...} 的判断条件不是逻辑值,将导致语法错误。( )
执行以下 C++ 代码后将输出 $0$。( )
在 C++ 代码中,运算符只能处理相同的数据类型,不同类型之间必须转换为相同的数据类型。( )
在 C++ 代码中,虽然变量都有数据类型,但同一个变量也可以先后用不同类型的值赋值。( )
小杨最近在准备考 GESP,他用的 Dev C++ 来练习和运行程序,所以 Dev C++ 也是一个小型操作系统。( )
任何一个 while 循环都可以转化为等价的 for 循环( )。
编 编程操作题(共 2 题,共 50 分)
试题名称:小杨做题
时间限制:1.0 s | 内存限制:512.0 MB
题目描述
为了准备考试,小杨每天都要做题。第 $1$ 天,小杨做了 $a$ 道题;第 $2$ 天,小杨做了 $b$ 道题;从第 $3$ 天起,小杨每天做的题目数量是前两天的总和。
此外,小杨还规定,当自己某一天做了大于或等于 $m$ 题时,接下来的所有日子里,他就再也不做题了。
请问,到了第 $N$ 天,小杨总共做了多少题呢?
输入格式
总共 $4$ 行。第一行一个整数 $a$,第二行一个整数 $b$,第三行一个整数 $m$,第四行一个整数 $N$。
保证 $0 \le a,b \le 10$;$a,b<m<1,000,000$;$3 \le N \le 364$。
输出格式
一行一个整数,表示小杨 $N$ 天里总共做了多少题目。
样例输入 #1
1
2
10
5
样例输出 #1
19
样例输入 #2
1
1
5
8
样例输出 #2
12
说明/提示
样例解释 1
小杨第一天做 $1$ 题,第二天做 $2$ 题,第三天做 $1+2=3$ 题,第四天做 $2+3=5$ 题,第五天做 $3+5=8$ 题。因此他总共做了 $1+2+3+5+8=19$ 题。
样例解释 2
小杨前 $5$ 天分别做了 $1,1,2,3,5$ 题,由于第 $5$ 天小杨做了 $5$ 题,而 $m=5$,于是小杨从此以后不再做题。因此小杨总共做了 $1+1+2+3+5=12$ 题。
试题名称:小杨的 H 字矩阵
时间限制:1.0 s | 内存限制:512.0 MB
题目描述
小杨想要构造一个 $N \times N$ 的 H 字矩阵($N$ 为奇数),具体来说,这个矩阵共有 $N$ 行,每行 $N$ 个字符,其中最左列、最右列都是 | ,而中间一行(即第$\frac{N+1}{2}$行)的第 $2 \sim N-1$ 个字符都是 - ,其余所有字符都是半角小写字母 a。例如,一个 $N=5$ 的 H 字矩阵如下:
|aaa|
|aaa|
|---|
|aaa|
|aaa|
请你帮小杨根据给定的 $N$ 打印出对应的“H 字矩阵”。
输入格式
一行一个整数 $N$($5\le N \le 49$ ,保证 $N$ 为奇数)。
输出格式
输出对应的“H 字矩阵”。
请严格按格式要求输出,不要擅自添加任何空格、标点、空行等任何符号。你应该恰好输出 $N$ 行,每行除了换行符外恰好包含 $N$ 个字符,这些字符要么是 - ,要么是 | ,要么是 a 。你的输出必须和标准答案完全一致才能得分,请在提交前仔细检查。
样例输入 #1
5
样例输出 #1
|aaa|
|aaa|
|---|
|aaa|
|aaa|
样例输入 #2
7
样例输出 #2
|aaaaa|
|aaaaa|
|aaaaa|
|-----|
|aaaaa|
|aaaaa|
|aaaaa|
说明/提示
感谢 @Present_Coming_Time 提供的数据。