#X000303. GESP C++ 三级试卷(2023年09月)
GESP C++ 三级试卷(2023年09月)
GESP C++ 三级试卷(2023年9月)
一、选择题
本试卷共15道单项选择题,考察基本语法、逻辑结构和简单算法。
第1题
人们所使用的手机上安装的 App 通常指的是( )。 {{ select(1) }}
- 一款操作系统
- 一款应用软件
- 一种通话设备
- 以上都不对
第2题
下列流程图的输出结果是?( ) 开始 → a=5, s=1 → a>4? → 是 → s=s×a → a=a-1 → 返回判断 → 否 → 输出s → 结束 {{ select(2) }}
- 60
- 20
- 5
- 1
第3题
已知大写字符 'A' 的ASCII编码的十六进制表示为0x41,则字符 'L' 的ASCII编码的十六进制表示为( )。 {{ select(3) }}
- 4A
- 4B
- 4C
- 52
第4题
以下哪个不是C++语言中的运算符?( ) {{ select(4) }}
-
- <
- <<
- **
第5题
如果数组定义为long long array[] = {3, 5, 7, 2}; ,则数组array占用的字节数为( )。 {{ select(5) }}
- 32
- 16
- 8
- 4
第6题
一个数组定义为double array[3]; ,则可合理访问这个数组的元素的下标最大为( )。 {{ select(6) }}
- 2
- 3
- 23
- 24
第7题
以下数组定义,符合C++语言语法的是( )。 {{ select(7) }}
- double a[];
- double b[] = {1, 2.0, '3'};
- double c[3.0];
- double[] d = new double[3];
第8题
下列关于进制的叙述,正确的是( )。 {{ select(8) }}
- 只有十进制和二进制能够用来表示小数,八进制和十六进制不可以
- 常用的进制包括二进制、八进制、十进制、十六进制,其他进制在日常生活中很少使用
- 对任意整数,其二进制表示不会比它的十进制表示更短
- 正整数的八进制表示中,每一位可能出现的最大数字是8
第9题
下列关于C++语言中数组的叙述,不正确的是( )。 {{ select(9) }}
- 可以定义0个元素的数组
- 不能定义-1个元素的数组
- 数组下标越界访问会产生编译错误
- 程序运行时发生数组下标的越界访问,程序依然可能正常结束
第10题
如果a是int类型的变量,下列哪个表达式的值一定为true?( ) {{ select(10) }}
- a + 1000 - 1000 == a
- a * 2 / 2 == a
- (a & 1) == 1
- (a | 1) == a + 1
第11题
如果a和b均为int类型的变量,下列表达式不能正确判断"a等于b"的是( )。 {{ select(11) }}
- ((a >= b) && (a <= b))
- ((a >> 1) == (b >> 1))
- ((a + b) == (a + a))
- ((a ^ b) == 0)
第12题
如果a为char类型的变量,下列哪个表达式可以正确判断"a是大写字母"?( ) {{ select(12) }}
- a - 'A' <= 26
- 'A' <= a <= 'Z'
- 'A' <= 'a' <= 'Z'
- ('A' <= a) && (a <= 'Z')
第13题
在下列代码的横线处填写( ),可以使得输出是"20 10"。
#include <iostream>
using namespace std;
int main() {
int a = 10, b = 20;
a = (a << 8) | b;
// 在此处填入代码
cout << a << " " << b << endl;
return 0;
}
{{ select(13) }}
- a = a >> 8; b = a & 0xff
- b = a >> 8; a = a & 0xff;
- a = b; b = a & 0xff;
- b = a; a = b;
第14题
在下列代码的横线处填写( ),可以使得输出是"120"。
#include <iostream>
using namespace std;
int main() {
int array[5] = {1, 2, 3, 4, 5};
int res = 0;
for (int i = 0; i < 5; i++)
______; // 在此处填入代码
cout << res << endl;
return 0;
}
{{ select(14) }}
- res += array[i];
- res *= array[i]
- res = array[i]
- 以上均不对
第15题
下列代码的输出是( )。
#include <iostream>
using namespace std;
int main() {
int array[10];
for (int i = 0; i < 10; i++)
array[i] = i;
for (int p = 2; p < 10; p++)
if (array[p] == p)
for (int n = p; n < 10; n += p)
array[n] = array[n] / p * (p - 1);
int res = 0;
for (int n = 1; n < 10; n++)
res += array[n];
cout << res << endl;
return 0;
}
{{ select(15) }}
- 15
- 28
- 45
- 55
二、判断题
本试卷共10道判断题,考察对基本概念的理解。
第16题
二进制数101.101在十进制下是5.005。 {{ select(16) }}
- 正确
- 错误
第17题
在C++语言中,位运算符也有类似"先乘除、后加减"的优先级规则。因此,使用时应注意合理使用括号。 {{ select(17) }}
- 正确
- 错误
第18题
字符常量'3'的值和int类型常量3的值是相同的,只是占用的字节数不同。 {{ select(18) }}
- 正确
- 错误
第19题
在C++语言中,长度为n的数组,访问下标为n的元素会引起编译错误。 {{ select(19) }}
- 正确
- 错误
第20题
在C++语言中,所有int类型的值,经过若干次左移操作(<<)后,它们的值总会变为0。 {{ select(20) }}
- 正确
- 错误
第21题
在C++语言中,数组下标的大小决定元素在逻辑上的先后顺序,与元素在内存中位置的先后顺序无关。 {{ select(21) }}
- 正确
- 错误
第22题
在C++语言中,定义数组时,[]中必须指定元素个数。 {{ select(22) }}
- 正确
- 错误
第23题
著名的哥德巴赫猜想:任一大于2的偶数都可写成两个素数之和。我们可以通过枚举法来证明它。 {{ select(23) }}
- 正确
- 错误
第24题
在C++语言中,表达式(0xff == 255)的值为true。 {{ select(24) }}
- 正确
- 错误
第25题
如果a为int类型的变量,且表达式((a & 1) == 0)的值为true,则说明a是偶数。 {{ select(25) }}
- 正确
- 错误