#GESP0310. [GESP202403 三级]选择+判断

[GESP202403 三级]选择+判断

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

{{ select(1) }}

  • 1005
  • 1006
  • FFFA
  • FFFB
  1. 如果 16 位短整数 -2 的二进制是"FFFE",则短整数 -4 的十六进制是( )

{{ select(2) }}

  • FF04
  • FFFA
  • FFFC
  • FFFH
  1. 下面 C++ 代码执行后的输出是( )。
int main()
{
 cout << (3 | 16) << endl;

 cout << endl;
 return 0;
}

{{ select(3) }}

  • 3
  • 16
  • 19
  • 48
  1. 定义整数 int x = -5,则执行C++代码 cout << (x == (x << 1 >> 1)) 输出是( )。

{{ select(4) }}

  • 0
  • 1
  • -5
  • 5
  1. 已知字符 '0' 的ASCII编码的十进制表示为 48,则执行下面 C++ 代码后,输出是( )。
int main()
{
 string s = "316";
 int n = s.length();
 int x = 0;
 for (int i = 0; i < n; i++)
 x += s[i];
 cout << x << endl;

 cout << endl;
 return 0;
}

{{ select(5) }}

  • 10
  • 58
  • 154
  • 316
  1. 下面 C++ 代码执行后数组中大于 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) }}

  • 22 的倍数
  • 33 的倍数
  • 能被 2233 整除的数
  • 能被 2233 同时整除的数
  1. 执行下面 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) }}

  • 2020
  • 1919
  • 11
  • 不确定
  1. 在下列代码的横线处填写( ),可以使得输出是 GESP IS INTERESTING
int main()
{
 string str = "gEsP is Interesting";
 int x = str.length();
 for (int i = 0; i < x; i++)
 if ((str[i] >= 'a') && (str[i] <= 'z'))
 ___________________;
 cout << str << endl;
 cout << endl;
 return 0;
}

{{ select(8) }}

  • str[i] += 'a' - 'A'
  • str[i] += 20
  • str[i] += 'A' - 'a'
  • 无法实现
  1. 假设英文句子由若干词构成。下面 C++ 代码统计输出的词数是( )。
int main()
{
 string str = "gEsP is Interesting !";
 int x = str.length();
 int nwords = 0;

 for (int i = 0; i < x; i++)
 if (str[i] == ' ') {
 nwords++;
 while (str[++i] == ' ');
 }
 cout << nwords << endl;

 cout << endl;
 return 0;
}

{{ select(9) }}

  • 11
  • 22
  • 33
  • 44
  1. C++ 的字符变量的码值是整数,下面字面量形式的字符码值最大的是( )。

{{ select(10) }}

  • 100
  • 075
  • 0x70
  • 0x60
  1. 下面 C++ 程序执行的结果是( )。
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) }}

  • 55
  • 66
  • 1010
  • 1212
  1. 定义字符数组 char str[20] = {'G', 'E', 'S', 'P'};,则 str 的字符串长度为( )。

{{ select(12) }}

  • 44
  • 55
  • 1919
  • 2020
  1. 定义整型变量 int a=3, b=16,则 a|b 的值和 a+b 的关系是( )。

{{ select(13) }}

  • 大于
  • 等于
  • 小于
  • 等于或小于
  1. 小杨的父母最近刚刚给他买了一块华为手表,他说手表上跑的是鸿蒙,这个鸿蒙是( )。

{{ select(14) }}

  • 小程序
  • 计时器
  • 操作系统
  • 神话人物
  1. 中国计算机学会(CCF)在 2024 年 1 月 27 日的颁奖典礼上颁布了王选奖,王选先生的重大贡献是( )。

{{ select(15) }}

  • 制造自动驾驶汽车
  • 创立培训学校
  • 发明汉字激光照排系统
  • 成立方正公司
  1. 任意整数 a 的二进制反码与补码都有 1 位不同。( )

{{ select(16) }}

  • T
  • F
  1. 对整型变量 int a = 3,执行 C++ 代码 a<<2 将把 2 输出到 a 中。( )

{{ select(17) }}

  • T
  • F
  1. 下面 C++ 代码可以计算 1 到 100 的累加和,采用的是穷举法。
int main()
{
 int i, sum = 0;
 for (int i = 1; i <= 100; i++)
 sum += i;
 cout << sum << endl;

 cout << endl;
 return 0;
}

{{ select(18) }}

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

{{ select(19) }}

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

{{ select(20) }}

  • T
  • F
  1. 执行下面 C++ 代码后将输出 2。( )
int main()
{
 string str = "gEsP is Interesting";
 int x = str.find("s");

 cout << x << endl;

 cout << endl;
 return 0;
}

{{ select(21) }}

  • T
  • F
  1. 在 C++ 语言中,字符数组被定义时,它的大小可以调整。( )

{{ select(22) }}

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

{{ select(23) }}

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

{{ select(24) }}

  • T
  • F
  1. 任何一个 for 循环都可以转化为等价的 while 循环( )。

{{ select(25) }}

  • T
  • F