当前位置:   article > 正文

2023 年 GESP12月认证 C++二级试卷解析_gesp c++表达式3+2 &&5-5 的值为false

gesp c++表达式3+2 &&5-5 的值为false
1 单选题(每题 2 分,共 30 分)
1 以下不可以做为 C++ 变量的是( )
A. FiveStar
B. fiveStar
C. 5Star
D. Star5
答案【 C
   
2 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. 以上均不对
答案【A】
    
3 以下 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++
答案【D】
     
4 下面 C++ 代码用于判断输入的整数是否为对称数,如 1221 12321 是对称数,但 123 、972不是对称数。下面 对该题对应代码的说法,正确的是( )。
A. 代码没有语法错误,如果 N 为对称数,第 8 行将能正确输出。
B. 代码没有语法错误,但如果 N 为负数,将导致死循环。
C. 代码存在语法错误,程序不能被执行。
D. 代码没有语法错误,但不能达到预期目标,因为循环结束 N 总为 0
答案【D】
   
5 下面 C++ 代码用于判断 N (大于等于 2的正整数)是否为质数(素数)。下面对如下代码的说法,正确的是(  )。
A. 代码能正确判断 N 是否为质数。
B. 代码总是不能判断 N 是否质数。
C. 删除第 5 break ,将能正确判断 N 是否质数。
D. 代码存在漏洞,边界存在问题,应将第 2 行和第 7 行的 N / 2 改为 N / 2 + 1
答案【D】
    
6 下面 C++代码执行后的输出是(  )。
A. 2#3#0
B. 1#2#0
C. 1#0#
D. 2#3#
答案【A】
     
   
7 下面 C++ 代码执行后的输出是( )。
A. 0
B. 8#8
C. 4
D. 4#4
答案【D】
     
8 下面 C++ 代码执行后的输出是( )。
A. 100
B. 95
C. 55
D. 0
答案【C】
      
9 下面 C++ 代码执行后的输出是( )。
A. 1
B. 1,3
C. 15,17
D. 1,10,12
答案【D】
      
10 下面 C++ 代码执行后的输出是( )。
A. 5
B. 10
C. 20
D. 30
答案【B】
 
   
11 以下 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)) == int(i/sqrt(i))
答案【C】
       
  
12 下面的 C++ 代码用于实现如下左图所示的效果,应在以下右图 C++ 代码中填入( )。
A. 与第 8 行下面填入一行: cout << nowNum;
B. 与第 2 行下面填入一行: cout << endl;
C. 与第 7 行下面填入一行: cout << nowNum;
D. 与第 9 行下面填入一行: cout << endl;
答案【D】
    
13 某公司新出了一款无人驾驶的小汽车,通过声控智能驾驶系统,乘客只要告诉汽车目的地,车子就能自动
选择一条优化路线,告诉乘客后驶达那里。请问下面哪项不是驾驶系统完成选路所必须的。(
A. 麦克风
B. 扬声器
C. 油量表
D. 传感器
答案【C】
    
14 现代计算机是指电子计算机,它所基于的是( )体系结构。
A. 艾伦 · 图灵
B. · 诺依曼
C. 阿塔纳索夫
D. 埃克特 -莫克利
答案【B】
    
  
15 输入一个正整数 N ,想找出它所有相邻的因数对,比如,输入 12 ,因数对有 (1,2) (2,3) (3,4)。下面哪段代 码找不到所有的因数对?( )
A. for(i=1;i<N;i++) if(!(N%i) && !(N%(i+1))) printf("(%d,%d)\n", i, i+1);
B. for(i=2;i<N;i++) if(!(N%i) && !(N%(i+1))) printf("(%d,%d)\n", i, i+1);
C. for(i=2;i<N/2;i++) if(!(N%(i-1)) && !(N%i)) printf("(%d,%d)\n", i-1, i);
D. for(i=1;i<N/2;i++) if(!(N%i) && !(N%(i+1))) printf("(%d,%d)\n", i, i+1);
答案【B】
     
2 判断题(每题 2 分,共 20 分)
1 C++ 表达式 -7/2 的值为整数 -3 。( )
答案【T】
   
  
2 C++ 表达式 2*int('9')*2 的值为 36 ( )
答案【F】
    
3 C++ 表达式 3+2 && 5-5 的值为 false ( )
答案【F】
    
4 C++ 代码中,执行 srand(0) 后连续两次执行 rand() 的结果相等。 ( )
答案【F】
  
  
5 C++ 代码中 while(1){...} 的判断条件不是逻辑值,将导致语法错误。( )
答案【F】
    
6 执行以下 C++ 代码后将输出 0 。( )
答案【F】
     
7 C++ 代码中,运算符只能处理相同的数据类型,不同类型之间必须转换为相同的数据类型。()
答案【F】
   
8 C++ 代码中,虽然变量都有数据类型,但同一个变量也可以先后用不同类型的值赋值。( )
答案【T】
   
9 小杨最近在准备考 GESP ,他用的 Dev C++ 来练习和运行程序,所以 Dev C++ 也是一个小型操作系统。( )
答案【F】
  
    
10 任何一个 while 循环都可以转化为等价的 for 循环( )。
答案【T】
     
3 编程题(每题 25 分,共 50 分)
编程题 1
试题名称 :小杨做题
时间限制 1.0 s
内存限制 128.0 MB
问题描述
为了准备考试,小杨每天都要做题。第 1 天,小杨做了 道题;第 2 天,小杨做了 道题;从第 3 天起,小杨每天 做的题目数量是前两天的总和。
此外,小杨还规定,当自己某一天做了大于或等于 题时,接下来的所有日子里,他就再也不做题了。 请问,到了第 天,小杨总共做了多少题呢?
输入描述
总共 4 行。第一行一个整数 ,第二行一个整数 ,第三行一个整数 ,第四行一个整数 。
保证0<=a,b<=10; a,b<M<=1000000; 3<=N<=364 。
输出描述
一行一个整数,表示小杨 天里总共做了多少题目。
特别提醒
在常规程序中,输入、输出时提供提示是好习惯。但在本场考试中,由于系统限定,请不要在输入、输出中附带任 何提示信息。
样例输入 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 题,而m=5,于是小杨从此以后不再做题。因此小杨总共做了1+1+2+3+5=12 题。
   
[参考程序]:
斐波那契数列求和 ,循环加判断
  1. #include<iostream>
  2. #include<cstdio>
  3. int main(){
  4. long long a=0, b=0, m=0, n=0, ans=0, c=0, i;
  5. scanf("%lld%lld%lld%lld", &a, &b, &m, &n);
  6. ans = a+b;
  7. for(i=3; i<=n; i++) {
  8. c = a+b;
  9. ans += c;
  10. a = b;
  11. b = c;
  12. if(c>=m) break;
  13. }
  14. printf("%lld\n", ans);
  15. return 0;
  16. }
编程题 2
试题名称 :小杨的 H 字矩阵
时间限制 1.0 s
内存限制 128.0 MB
问题描述
输入描述
一行一个整数 (5<=N<=49 ,保证 N为奇数)。
输出描述
输出对应的 “H 字矩阵
请严格按格式要求输出,不要擅自添加任何空格、标点、空行等任何符号。你应该恰好输出 行,每行除了换行符 外恰好包含 个字符,这些字符要么是 - ,要么是 | ,要么是 a 你的输出必须和标准答案完全一致才能得分, 请在提交前仔细检查。
特别提醒
在常规程序中,输入、输出时提供提示是好习惯。但在本场考试中,由于系统限定,请不要在输入、输出中附带任 何提示信息。
样例输入 1
5
样例输出 1
样例输入 2
7
样例输出 2
参考程序:
规律:第一列和最后一列输出 | ,中间行输出 - ,其余输出a
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. int main() {
  4. int n;
  5. cin >> n;
  6. for(int i = 1; i <= n; i++) {
  7. for(int j = 1; j <= n; j++) {
  8. if (j == 1 || j == n) {//第一列或者最后一列,输出|
  9. cout << '|';
  10. } else if (i == n / 2 + 1) {//中间行,输出-
  11. cout << '-';
  12. } else {//其他,输出a
  13. cout << 'a';
  14. }
  15. }
  16. cout << endl;
  17. }
  18. return 0;
  19. }

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

闽ICP备14008679号