#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) }}
- 正确
- 错误