当前位置:   article > 正文

2023 年 GESP 12 月认证 C++一级试卷解析_gespc++一级真题

gespc++一级真题
单选题(每题 2 分,共 30 分)
1 以下 C++ 不可以作为变量的名称的是 ( )
A. CCF GESP
B. ccfGESP
C. CCFgesp
D. CCF_GESP

【答案】 A
解析:变量名命名规则:由字母、数字和下划线组成,首字符不能是数字

2 C++ 表达式 10 - 3 * (2 + 1) % 10 的值是 ( )
A. 0
B. 1
C. 2
D. 3
【答案】 B
解析:运算符的优先级
    
3 假设现在是上午十点,求出 N 小时(正整数)后是第几天几时,如输入 20 小时则为第 2 6 点,如 N 输入 4则为 今天 14 点。为实现相应功能,应在横线处填写代码是 ( )
A. (10 + N) % 24 , (10 + N) / 24
B. (10 + N) / 24 , (10 + N) % 24
C. N % 24 , N / 24
D. 10 / 24 , 10 % 24
【答案】 B
10+N如果大于24,则超出了当天,如果小于等于24则为当天,(10+N)/24==0则肯定是今天,否则天数为(10+N)/24+1天。时间则为不足24小时的部分,(10 + N) % 24
    
4 下面的程序用于判断 N是否为偶数,横线处应填写代码是( )。
A. N % 2 == 0
B. N % 2 = 0
C. N % 2
D. N % 2 != 0
【答案】 A
 
 
5 下面对 C++ 代码执行后输出的描述,正确的是( )。
A. 如果输⼊的 N ⼩于 等于 2 整数,第 5 ⾏将输出 0
B. 如果输⼊的 N 是⼤于等于 2 整数,第 5 ⾏将输出 N-1
C. 如果输⼊的 N 是⼤于等于 2 整数,第 5 ⾏将输出 N
D. 以上说法均不正确。
【答案】 B
解析:计算循环次数
        
6 下面 C++ 代码执行后的输出是( )。
A. 10
B. 9
C. 3
D. 1
【答案】 C
      
7 下面 C++ 代码执行后的输出是( )。
A. 90
B. 44
C. 20
D. 10
【答案】 A
       
8 下面 C++ 代码执行后的输出是( )。
A. 11
B. 10
C. 5
D. 4
【答案】 C
       
 
9 下面 C++ 代码用于判断一个数是否为质数(素数),在横线处应填入代码是( )。
A. cnt = 1
B. cnt = 2
C. cnt =+ 1
D. cnt += 1
【答案】D
        
  
10 对下面的代码,描述正确的是( )
A. 输出 2 6 3 5 4 8 1 0 9 10 10
B. 输出 2 6 3 5 4 8 1 0 9 9
C. 输出 2 6 3 5 4 8 1 0 9 10
D. 提示有编译错误
【答案】 D
数组定义是必须声明长度
      
11 执行下面 C++ 代码后输出是( )。
A. 3
B. 21
C. 27
D. 49
【答案】 B
 
        
12 定义变量 char c ,下面对 c 赋值的语句,不符合语法的是( )
A. c = (char)66;
B. c = (char)(66);
C. c = char(66);
D. c = char 66;
【答案】 D

c = (char)66; 和 c = (char)(66); 是C语言语法,c = char(66)是C++语法。

      
13 下图所示 C++ 代码对大写字母 'A' 'Z' 分组,对每个字母输出所属的组号,那么输入 'C' 时将输出的组 号是? ( )
A. 3
B. 3 5
C. 3 5 9
D. 以上都不对
【答案】 B
      
14 某公司新出了一款无人驾驶的小汽车,通过声控智能驾驶系统,乘客只要告诉汽车目的地,车子就能自动
选择一条优化路线,告诉乘客后驶达那里。请问下面哪项不是驾驶系统完成选路所必须的。( )
A. 麦克风
B. 扬声器
C. 油量表
D. 传感器
【答案】 C
       
15 现代计算机是指电子计算机,它所基于的是( )体系结构。
A. 艾伦 · 图灵
B. · 诺依曼
C. 阿塔纳索夫
D. 埃克特 - 莫克利
【答案】 B
2 判断题(每题 2 分,共 20 分)
1 C++ 表达式 int(3.14) 的值为 3 ( )
【答案】 T
     
2 C++ 语句 cout << (2 * 3, 3 % 10, 2+3) 的输出为 6,3,5 。 ( )
【答案】 F
    
3 for(int i = 1; i < 10; i += 3;) ; 表示 i 1 开始到 10 结束间隔为 3 ,相当于 1 4 7 10 。( )
【答案】 F
   
4 C++ 表达式 010+100+001 的值为 111 。( )
【答案】 F
 0b或者0B开头的是二进制,以0开头的是8进制,以0x或0X开头的是16进制,以非0开头的是十进制,所以本题是两个8进制数 010+001=9,再加上一个十进制100,结果是109。
    
     
5 if 语句中的条件表达式的结果可以为 int 类型。
【答案】 T
    
  
6 在下面的 C++ 代码 while(1) continue; 中,由于循环中的 continue 是无条件被执行,因此将导致死循 环。( )
【答案】 T
while(1)是一个死循环,continue语句会跳过循环体,进入下一次循环,由于continue是无条件被执行,因此会导致无限循环。
    
7 C++ 表达式 ('1'+'1'=='2'? flag=1:flag=2) 的结果值和表达式 (flag==2) 的相同。( )
【答案】 F
三目运算符的结果是赋值语句flag=2,赋值语句的值就是所赋之值,所以为2。
关系运算符flag==2的结果要么是1要么是0,二者和2都不相同。
      
8 C++ 的程序中,不能用 scanf 作为变量名。( )
【答案】 F
     
9 小杨最近在准备考 GESP ,他用的 Dev C++ 来练习和运行程序,所以 Dev C++ 也是一个小型操作系统。( )
【答案】 F
    
10 任何一个 while 循环都可以转化为等价的 for 循环( )。
【答案】 T
   
3 编程题(每题 25 分,共 50 分)
编程题 1
试题名称 :小杨的考试
时间限制 1.0 s
内存限制 128.0 MB
问题描述
今天是星期 ,小杨还有 天就要考试了,你能推算出小杨考试那天是星期几吗?(本题中使用 表示星期日)
输入描述
输入 2 行,第一行一个整数 (1<=X<=7);第二行一个整数 (1<=N<=364)。
输出描述
输出一个整数,表示小杨考试那天是星期几。
特别提醒
在常规程序中,输入、输出时提供提示是好习惯。但在本场考试中,由于系统限定,请不要在输入、输出中附带任 何提示信息。
样例输入 1
1
6
样例输出 1
7
样例解释 1
今天是星期 1 ,那么 6 天后就是星期日,星期日在本题中用 表示。
样例输入 2
5
3
样例输出 2
1
样例解释 2
今天是星期 5 ,那么 3 天后就是星期 1
参考程序
周期性问题,对周期长度取余数即可,注意余数为0时,输出的结果应该是7而不是0
  1. #include <iostream>
  2. using namespace std;
  3. int main(){
  4. int x, n,ans=0;
  5. cin>>x>>n;
  6. ans=(x+n)%7;
  7. //特判:当余数为0的时候表示星期天,输出7
  8. if(ans==0) cout<<7;
  9. else cout<<ans;
  10. return 0;
  11. }

编程题 2
试题名称 :小杨报数
时间限制 1.0 s
内存限制 128.0 MB
问题描述
小杨需要从 1到N报数。在报数过程中,小杨希望跳过M的倍数。例如,如果N=5,M=2,那么小杨就需要 依次报出 1、3 、5 。 现在,请你依次输出小杨报的数。
输入描述
输入 2 行,第一行一个整数 (1<=N<=1000 );第二行一个整数 ( 2<=M<=100)。
输出描述
输出若干行,依次表示小杨报的数。
特别提醒
在常规程序中,输入、输出时提供提示是好习惯。但在本场考试中,由于系统限定,请不要在输入、输出中附带任 何提示信息。
样例输入 1
5
2
样例输出1
3
5
样例输入 2
10
3
样例输出 2
1
2
4
5
7
8
10
参考程序:
循环+判断
  1. #include <iostream>
  2. using namespace std;
  3. int main(){
  4. int n, m;
  5. cin>>n>>m;
  6. for(int i=1; i<=n; i++){
  7. if(i%m!=0) cout<<i<<endl;
  8. }
  9. return 0;
  10. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/602755
推荐阅读
相关标签
  

闽ICP备14008679号