#72. GESP C++ 三级 2023年09月 客观题
GESP C++ 三级 2023年09月 客观题
单选题(每题 2 分,共 30 分)
- 人们所使用的手机上安装的App通常指的是( )。
{{ select(1) }}
- 一款操作系统
- 一款应用软件
- 一种通话设备
- 以上都不对
- 下列流程图的输出结果是?( )

{{ select(2) }}
- 60
- 20
- 5
- 1
- 已知大写字符'A' 的ASCII编码的十六进制表示为
0x41,则字符'L' 的ASCII编码的十六进制表示为( )
{{ select(3) }}
4A4B4C52
- 以下哪个不是C++语言中的运算符?( )
{{ select(4) }}
~~~<<<
- 如果数组定义为
long long array[] = {3, 5, 7, 2};,则数组array 占用的字节数为( )。
{{ select(5) }}
- 32
- 16
- 8
- 4
- 一个数组定义为
double array[3];,则可合理访问这个数组的元素的下标最大为( )。
{{ select(6) }}
- 2
- 3
- 23
- 24
- 以下数组定义,符合C++语言语法的是( )。
{{ select(7) }}
double a[];double b[] = {1, 2.0, '3'};double c[3.0];double[] d = new double[3];
- 下列关于进制的叙述,正确的是( )。
{{ select(8) }}
- 只有十进制和二进制能够用来表示小数,八进制和十六进制不可以。
- 常用的进制包括二进制、八进制、十进制、十六进制,其他进制在日常生活中很少使用。
- 对任意正整数,其二进制表示不会比它的十进制表示更短。
- 正整数的八进制表示中,每一位可能出现的最大数字是8。
- 下列关于C++语言中数组的叙述,不正确的是( )。
{{ select(9) }}
- 可以定义0 个元素的数组。
- 不能定义-1 个元素的数组。
- 数组下标越界访问会产生编译错误。
- 程序运行时发生数组下标的越界访问,程序依然可能正常结束。
- 如果a 是int 类型的变量,下列哪个表达式的值一定为true ?( )
{{ select(10) }}
a + 1000 - 1000 == aa * 2 / 2 == a(a \& 1) == 1(a | 1) == a + 1
- 如果a 和b 均为int 类型的变量,下列表达式不能正确判断“ a 等于b ”的是( )。
{{ select(11) }}
((a >= b) && (a <= b))((a >> 1) == (b >> 1))((a + b) == (a + a))((a - b) == 0)
- 如果a 为char 类型的变量,下列哪个表达式可以正确判断“a是大写字母”?( )
{{ select(12) }}
a - 'A' <= 26'A' <= a <= 'Z''A' <= 'a' <= 'Z'- ``('A' <= a) && (a <= 'Z')`
- 在下列代码的横线处填写( ),可以使得输出是“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;
- 在下列代码的横线处填写( ),可以使得输出是“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];- 以上均不对。
- 在下列代码的输出是( )。
#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
判断题(每题 2 分,共 20 分)
- 二进制数
101.101在十进制下是 5.005。
{{ select(16) }}
- 正确
- 错误
- 在C++语言中,位运算符也有类似“先乘除、后加减”的优先级规则。因此,使用时应注意合理使用括号。
{{ select(17) }}
- 正确
- 错误
- 字符常量
'3'的值和int 类型常量3 的值是相同的,只是占用的字节数不同。
{{ select(18) }}
- 正确
- 错误
- 在C++语言中,长度为n的数组,访问下标为n的元素会引起编译错误。
{{ select(19) }}
- 正确
- 错误
- 在C++语言中,所有int 类型的值,经过若干次左移操作(
<<)后,它们的值总会变为0 。
{{ select(20) }}
- 正确
- 错误
- 在C++语言中,数组下标的大小决定元素在逻辑上的先后顺序,与元素在内存中位置的先后顺序无关。
{{ select(21) }}
- 正确
- 错误
- 在C++语言中,定义数组时,
[]中必须指定元素个数。
{{ select(22) }}
- 正确
- 错误
- 著名的哥德巴赫猜想:任一大于2的偶数都可写成两个素数之和。我们可以通过枚举法来证明它。
{{ select(23) }}
- 正确
- 错误
- 在C++语言中,表达式
(0xff == 255)的值为true 。
{{ select(24) }}
- 正确
- 错误
- 如果a 为int 类型的变量,且表达式
((a & 1) == 0)的值为true ,则说明a 是偶数。
{{ select(25) }}
- 正确
- 错误