GESP 2023年12月_C++二级试卷

从PDF导入:GESP 2023年12月_C++二级试卷

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

为了准备考试,小杨每天都要做题。第1天,小杨做了a道题;第2天,小杨做了b道题;从第3天起,小杨每天做的题目数量是前两天的总和。 此外,小杨还规定,当自己某一天做了大于或等于m题时,接下来的所有日子里,他就再也不做题了。 请问,到了第n天,小杨总共做了多少题呢?

【输入格式】
总共4行。第一行一个整数a,第二行一个整数b,第三行一个整数m,第四行一个整数n。
保证a>=1; b>=1; m>=1; n>=3。
【输出格式】
一行一个整数,表示小杨n天里总共做了多少题目。
【样例输入1】
1
2
10
5
【样例输出1】
19
【样例解释1】
小杨第一天做1题,第二天做2题,第三天做1+2=3题,第四天做2+3=5题,第五天做3+5=8题。总共做了1+2+3+5+8=19题。
【样例输入2】
1
1
5
8
【样例输出2】
12
【样例解释2】
小杨前5天分别做了1,1,2,3,5题,由于第5天小杨做了5题,而5>=5,于是小杨从此以后不再做题。因此小杨总共做了1+1+2+3+5=12题。
第27题 中级 25.0分 编程
小杨的H字矩阵

小杨想要构造一个N*N的H字矩阵(N为奇数),具体来说,这个矩阵共有N行,每行N个字符,其中最左列、最右列都是|,而中间一行(即第(N+1)/2行)的第2到N-1个字符都是-,其余所有字符都是半角小写字母a。 例如,一个5*5的H字矩阵如下

【输入格式】
一行一个整数N(3<=N<=49,保证N为奇数)。
【输出格式】
输出对应的"H字矩阵"。
【样例输入1】
5
【样例输出1】
<img src="/static/uploads/images/f8eb5aecda.png" style="max-width:35%;border-radius:6px;margin:8px 0;" />
【样例输入2】
7
【样例输出2】
<img src="/static/uploads/images/852d4ff904.png" style="max-width:35%;border-radius:6px;margin:8px 0;" />
💬