#4152. gesp2024年3月3级真题

gesp2024年3月3级真题

一、选择题(共15题)

1. 整数 -5 的 16 位补码表示是 ( )。

{{ select(1) }}

  • 1005
  • 1006
  • FFFA
  • FFFB

2. 如果 16 位短整数 -2 的二进制是 "FFFE",则短整数 -4 的十六进制是 ( )。

{{ select(2) }}

  • FF04
  • FFFA
  • FFFC
  • FFFH

3. 下列 C++ 代码执行后的输出是 ( )。

int main()
{
  cout << (3|16) << endl;
  cout << endl;
  return 0;
}

{{ select(3) }}

  • 3
  • 16
  • 19
  • 48

4. 定义整数 int x = -5,则执行 cout << (x == (x << 1 >> 1)) 的输出是 ( )。

{{ select(4) }}

  • 0
  • 1
  • -5
  • 5

5. 执行如下程序输出的结果是 ( )。

string s = "316";
int x = 0;
for (int i = 0; i < s.length(); i++) x += s[i];
cout << x;

{{ select(5) }}

  • 10
  • 58
  • 154
  • 316

6. 下列程序执行后,数组中大于 0 的数具有的特征是 ( )。

int main()
{
  int a[20],i;
  for(i = 0; i < 20; i++)
    a[i] = i+1;
  for(int i = 0; i < 20; i++)
    if((a[i]%2)&&(a[i]%3))
      a[i] = 0;
  for(i = 0; i < 20; i++)
    if(a[i])
      cout << a[i] << " ";
  cout << endl;
  return 0;
}

{{ select(6) }}

  • 2 的倍数
  • 3 的倍数
  • 能被 2 或 3 整除的数
  • 能被 2 和 3 同时整除的数

7. 执行下面 C++ 程序后,输出的第一个数是 ( )。

int main()
{
  int a[20],i;
  for(i = 0; i < 20; i++)
    a[i] = i+1;
  for( ; i > 0; i--)
    cout << a[i-1] << " ";
  cout << endl;
  return 0;
}

{{ select(7) }}

  • 20
  • 19
  • 1
  • 不确定

8. 为使字符串 "gEsP is Interesting" 被全部转成大写,以下哪个表达式应填写在空白处?( )

if ((str[i] >= 'a') && (str[i] <= 'z'))
    _______________________;

{{ select(8) }}

  • str[i] += 'a' - 'A'
  • str[i] += 20
  • str[i] += 'A' - 'a'
  • 无法实现

9. 以下程序统计输出的词数是 ( )。

string str = "gEsP is  Interesting  !";
int nwords = 0;
for (int i = 0; i < str.length(); i++)
    if (str[i] == ' ') {
        nwords++;
        while (str[++i] == ' ');
    }

{{ select(9) }}

  • 1
  • 2
  • 3
  • 4

10. 下列字符码值最大的字面量是 ( )。

{{ select(10) }}

  • 100
  • 075
  • 0x70
  • 0x60

11. 下列程序执行结果是 ( )。

int main()
{
  int a[20],i;
  int cnt=0;
  for(i = 0; i < 20; i++)
    a[i] = i+1;
  for( ; i > 1; i--)
    if((a[i-1]+a[i-2])%3)
      cnt++;
  cout << cnt << endl;
  cout << endl;
  return 0;
}

{{ select(11) }}

  • 5
  • 6
  • 10
  • 12

12. 定义 char str[20] = {'G', 'E', 'S', 'P'};,则字符串长度为 ( )。

{{ select(12) }}

  • 4
  • 5
  • 19
  • 20

13. 设 int a = 3, b = 16;,则 a | b 的值与 a + b 的关系是 ( )。

{{ select(13) }}

  • 大于
  • 等于
  • 小于
  • 等于或小于

14. “鸿蒙”系统是指 ( )。

{{ select(14) }}

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

15. 王选先生的重大贡献是 ( )。

{{ select(15) }}

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

二、判断题(共10题)

16. 任意整数 a 的二进制反码与补码都有 1 位不同。

{{ select(16) }}

  • 正确
  • 错误

17. 对整型变量 int a = 3,执行 C++ 代码 a << 2 将把 2 输出到 a 中。

{{ select(17) }}

  • 正确
  • 错误

18. 下列 C++ 代码可以计算 1 到 100 的累加和,采用的是穷举法。

int main() {
    int i, sum = 0;
    for(int i = 1; i <= 100 ; i++)
        sum += i;
    cout << sum << endl;
    return 0;
}

{{ select(18) }}

  • 正确
  • 错误

19. 一个 int 类型变量 a,执行操作 (a << 2 >> 2) 后的值一定是 a。

{{ select(19) }}

  • 正确
  • 错误

20. 在 C++ 语言中,(010 << 1) 执行结果是 100。

{{ select(20) }}

  • 正确
  • 错误

21. 执行下列 C++ 代码后将输出 2。

int main() {
    string str = "gEsP is Interesting";
    int x = str.find("s");
    cout << x << endl;
    return 0;
}

{{ select(21) }}

  • 正确
  • 错误

22. 在 C++ 语言中,字符数组被定义时,其大小可以调整。

{{ select(22) }}

  • 正确
  • 错误

23. 对数组 int a[7] = {2, 0, 2, 4, 3, 1, 6},可以用简单循环就找到其中最小的整数。

{{ select(23) }}

  • 正确
  • 错误

24. 小杨春节回奶奶家,奶奶家的数字电视要设置 IP 地址并接入到 WiFi 盒子,该盒子具有路由器功能。

{{ select(24) }}

  • 正确
  • 错误

25. 所有 for 循环都可以转换为等价的 while 循环。

{{ select(25) }}

  • 正确
  • 错误