#GESP20240302. GESP C++ 二级(2024 年 03 月)

GESP C++ 二级(2024 年 03 月)

image

C++ 二级 (2024 年 03 月 ,满分 50 分)

一、单选题(每题 2 分,共 30 分)

  1. 下列流程图的输出结果是?( )

    image {{ select(1) }}

  • 优秀
  • 良好
  • 不及格
  • 没有输出

  1. 以下选项中不符合 C++变量命名规则的是?( ) {{ select(2) }}
  • student
  • 2_from
  • _to
  • Text

  1. 以下选项中,不能用于表示分支结构的C++保留字是?( ) {{ select(3) }}
  • switch
  • return
  • else
  • if

  1. 下列说法错误的是?( ) {{ select(4) }}
  • while循环满足循环条件时不断地运行,直到指定的条件不满足为止
  • if语句通常用于执行条件判断
  • 在C++中可以使用 foreach循环
  • break和 continue语句都可以用在 for循环和 while循环中

  1. 下列4个表达式中,答案不是整数8的是?( ) {{ select(5) }}
  • abs(-8)
  • min(max(8, 9), 10)
  • int(8.88)
  • sqrt(64)

  1. 下面C++代码执行后的输出是?( )
int n,a,m,i;

n = 3, a = 5;
m = (a - 1) * 2;
for ( i = 0; i < n-1; i++)
     m = ( m - 1 ) * 2;

cout << m;

{{ select(6) }}

  • 8
  • 14
  • 26
  • 50

  1. 下面C++代码执行后的输出是?( )
int n,i,result;

n = 81;
i = 1, result = 1;
while (i  * i <= n){
     if (n % (i  * i) == 0)
          result = i  * i;
     i += 1;
}

cout << result;

{{ select(7) }}

  • 16
  • 36
  • 49
  • 81

  1. 下面C++代码执行后的输出是?( )
int s,t,ans;
s = 2, t = 10;
ans = 0;
while (s != t){
     if (t % 2 == 0 && t / 2 >= s)
          t /= 2;
     else
          t -= 1;
     ans += 1;
}
cout << ans;

{{ select(8) }}

  • 2
  • 3
  • 4
  • 5

  1. 下面C++代码执行后的输出是?( )
int n, masks, days,cur;
n = 17, masks = 10, days = 0;
cur = 2;
while (masks != n){
     if (cur == 0 || cur == 1)
          masks += 7;
     masks -= 1;
     days += 1;
     cur = (cur + 1) % 7;
}

cout << days;

{{ select(9) }}

  • 5
  • 6
  • 7
  • 8

  1. 以下C++代码判断一个正整数N的各个数位是否都是偶数。如果都是,则输出“是”,否则输出“否”。例如 N=2024时输出“是”。则横线处应填入( )。
int N,Flag;
cin >> N;
Flag = true;
while (N != 0){
     if (N %2 != 0){
          Flag = false;
          _____________
     }
     else
          N /= 10;
}
if(Flag == true)
     cout << "是";
else
     cout << "否";

{{ select(10) }}

  • break
  • continue
  • N= N/ 10
  • N= N% 10

  1. 有句俗话叫“三天打渔,两天晒网”。如果小杨前三天打渔,后两天晒网,一直重复这个过程,以下程序代码 用于判断,第n天小杨是在打鱼还是晒网,横线处应填写?( )
int n,i;
cin >> n;i = n % 5;
if (__________________)      // 在此处填写代码
     cout << "晒网";
else
     cout << "打鱼";

{{ select(11) }}

  • i == 0
  • i == 4
  • i == 0 && i == 4
  • i == 0 || i == 4

  1. 一个数的所有数字倒序排列后这个数的大小保持不变,这个数就是回文数,比如 101与 6886都是回文数, 而 100不是回文数。以下程序代码用于判断一个数是否为回文数,横线处应填写?( )
int n,a,k;
cin >> n;
a = 0;
k = n;
while (n > 0){
     a = __________;        // 在此处填写代码
     n /= 10;
}
if (a == k)
     cout << "是回文数";
else
     cout << "不是回文数";

{{ select(12) }}

  • 10* a+ n% 10
  • a + n% 10
  • 10* a+ n/ 10
  • a+ n/ 10

  1. 给定两个整数 n与k ,打印出一个栅栏图形,这个栅栏应该分成 n段,段与段之间的间隔为 +,段内的填充为 k个 -。形如 n=5,k=6时,图形如下:

+------+------+------+------+------+

以下程序代码用于绘制该图形,横线处应填写?( )

int n, k, i, j;
n = 5, k = 6;
for (i = 0; i < n; i++){
     __________ // 在此处填写代码
     for (j = 1; j < k; j++)
          cout << '-' ;
}
cout << '+';

{{ select(13) }}

  • cout<<'+'<< endl;
  • cout<<'+'<<''<< endl;
  • cout<<'+';
  • cout<<'+'<<'';

  1. 小杨的父母最近刚刚给他买了一块华为手表,他说手表上跑的是鸿蒙,这个鸿蒙是。( ) {{ select(14) }}
  • 小程序
  • 计时器
  • 操作系统
  • 神话人物

  1. 中国计算机学会(CCF)在2024年1月27日的颁奖典礼上颁布了王选奖,王选先生的重大贡献是( )。 {{ select(15) }}
  • 制造自动驾驶汽车
  • 创立培训学校
  • 发明汉字激光照排系统
  • 成立方正公司

二、判断题(每题 2 分,共 20 分)【正确(A)错误(B)】

  1. 如果有以下C++代码:
double s;
int t;
s = 18.5;
t = int(s) + 10;

{{ select(16) }}

  • 正确
  • 错误

  1. Xyz, xYz, xyZ是三个不同的变量。 {{ select(17) }}
  • 正确
  • 错误

  1. cout<<(8< 9< 10)的输出结果为 true。 {{ select(18) }}
  • 正确
  • 错误

  1. for(i= 0; i< 100; i+=2);语句中变量i的取值范围是0到99。 {{ select(19) }}
  • 正确
  • 错误

  1. C++中 cout<< float(2022)与 cout<< float('2022')运行后的输出结果均为2022。 {{ select(20) }}
  • 正确
  • 错误

  1. 已知 A的ASCII码值为65,表达式 int('C')+abs(-5.8)的值为72.8。 {{ select(21) }}
  • 正确
  • 错误

  1. bool() 函数用于将给定参数或表达式转换为布尔类型。语句 bool(-1) 返回的是 false 值。 {{ select(22) }}
  • 正确
  • 错误

  1. 如果变量 a的值使得C++表达式 sqrt(a)==abs(a),则 a的值为0。 {{ select(23) }}
  • 正确
  • 错误

  1. 小杨今年春节回奶奶家了,奶奶家的数字电视要设置ip地址并接入到WIFI盒子才能收看电视节目,那这个WIFI盒子具有路由器的功能。 {{ select(24) }}
  • 正确
  • 错误

  1. 任何一个 for循环都可以转化为等价的 while循环。 {{ select(25) }}
  • 正确
  • 错误