#1316. GESP-C++二级(2024-03)

GESP-C++二级(2024-03)

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

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

第 1 题:下列流程图的输出结果是?( )

{{ select(1) }}

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

第 2 题:以下选项中不符合 C++ 变量命名规则的是?( )

{{ select(2) }}

  • student
  • 2_from
  • _to
  • Text

第 3 题:以下选项中,不能用于表示分支结构的 C++ 保留字是?( )

{{ select(3) }}

  • switch
  • return
  • else
  • if

第 4 题:下列说法错误的是?( )

{{ select(4) }}

  • while循环满足循环条件时不断地运行,直到指定的条件不满足为止
  • if语句通常用于执行条件判断
  • 在 C++ 中可以使用foreach循环
  • break和continue语句都可以用在for循环和while循环中

第 5 题:下列 4 个表达式中,答案不是整数 8 的是?( )

{{ select(5) }}

  • abs(-8)
  • min(max(8, 9), 10)
  • int(8.88)
  • sqrt(64)

第 6 题:下面 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

第 7 题:下面 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

第 8 题:下面 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

第 9 题:下面 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

第 10 题:以下 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

第 11 题:有句俗话叫 “三天打渔,两天晒网”。如果小杨前三天打渔,后两天晒网,一直重复这个过程,以下程序代码用于判断,第 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

第 12 题:一个数的所有数字倒序排列后这个数的大小保持不变,这个数就是回文数,比如 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

第 13 题:给定两个整数 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 << '+' << ' ';

第 14 题:小杨的父母最近刚刚给他买了一块华为手表,他说手表上跑的是鸿蒙,这个鸿蒙是 ( )。

{{ select(14) }}

  • 小程序
  • 计时器
  • 操作系统
  • 神话人物

第 15 题:中国计算机学会 (CCF) 在 2024 年 1 月 27 日的颁奖典礼上颁布了王选奖,王选先生的重大贡献是 ( )。

{{ select(15) }}

  • 制造自动驾驶汽车
  • 创立培训学校
  • 发明汉字激光照排系统
  • 成立方正公司

二、判断题(每题 2 分,共 20 分)

第 1 题:如果有以下 C++ 代码:

double s; 
int t; 
t = int(s) + 10; 
s = 18.5;

那么cout << t的结果为 28.5。 {{ select(16) }}

第 2 题:Xyz,xYz,xyZ是三个不同的变量。

{{ select(17) }}

第 3 题:cout << (8< 9< 10)的输出结果为true。

{{ select(18) }}

第 4 题:for (i = 0; i < 100; i+=2) ;语句中变量i的取值范围是 0 到 99。

{{ select(19) }}

第 5 题:C++ 中cout << float(2022)与cout << float('2022')运行后的输出结果均为 2022。

{{ select(20) }}

第 6 题:已知 A 的 ASCII 码值为 65,表达式int('C')+abs(-5.8)的值为 72.8。

{{ select(21) }}

第 7 题:bool()函数用于将给定参数或表达式转换为布尔类型。语句bool(-1)返回的是false值。( )

{{ select(22) }}

第 8 题:如果变量a的值使得 C++ 表达式sqrt(a)==abs(a),则a的值为 0。( )

{{ select(23) }}

第 9 题:小杨今年春节回奶奶家了,奶奶家的数字电视要设置 ip 地址并接入到 WIFI 盒子才能收看节目,那这个 WIFI 盒子具有路由器的功能。( )

{{ select(24) }}

第 10 题:任何一个for循环都可以转化为等价的while循环。( )

{{ select(25) }}