1. 高级语言编写的程序需要经过以下( )操作,可以生成在计算机上运行的可执行代码。
A. 编辑
B. 保存
C. 调试
D. 编译
2. 二进制数 11.01 在十进制下是( )。
A. 3.01
B. 3.05
C. 3.125
D. 3.25
3. 已知大写字符'A'的 ASCII 编码的十六进制表示为0x41,则字符'F'的ASCII编码的十六进制表示为( )。
A. 46
B. 47
C. 48
D. 49
4. 以下哪个不是 C++语言中的运算符?( )
A. &
B. &&
C. *
D. **
5. 如果字符串定义为 char str[] = "Hello";,则字符数组str 的长度为()。
A. 0
B. 5
C. 6
D. 7
6. 一个数组定义为 double array[3];,则这个数组占用内存的大小为()。
A. 24
B. 12
C. 6
D. 3
7. 以下数组定义,符合 C++语言语法的是( )。
A. int a[];
B. int b['3'];
C. int c[3.0];
D. int[3] d;
8. 下列关于进制的叙述,不正确的是( )。
A. 正整数的二进制表示中只会出现 0 和 1。
B. 10 不是 2 的整数次幂,所以十进制数无法转换为二进制数。
C. 从二进制转换为 8 进制时,可以很方便地由低到高将每3 位二进制位转换为对应的一位 8 进制位。
D. 从二进制转换为 16 进制时,可以很方便地由低到高将每4 位二进制位转换为对应的一位 16 进制位。
9. 下列关于 C++语言中数组的叙述,不正确的是( )。
A. 数组必须先定义后使用。
B. 数组的所有元素在内存中是连续存放的。
C. 除了字符数组,在定义数组时“[]”内必须有常数。
D. 不能对数组赋值,但可以对数组的每个基础类型的元素赋值。
10. 一个 int 类型的值,做以下哪个操作,一定会变回原来的值?()
A. 左移 3 位,再右移 3 位。
B. 右移 3 位,再左移 3 位。
C. 按位或 7,再按位与-8。
D. 按位异或 7,再按位异或 7。
11. 如果 a 和 b 均为 int 类型的变量,下列表达式能正确判断“a 等于b”的是( )。
A. ((a / b) == 1)
B. ((a & b) == a)
C. ((a ^ b) == 0)
D. ((a | b) == b)
12. 如果 a 为 int 类型的变量,下列哪个表达式可以正确求出满足“小于等于a且是 4 的倍数”的整数中最大的?( )
A. (a & (~3))
B. ((a << 2) >> 2)
C. (a ^ 3)
D. ((a - 1) | 3) + 1
13. 在下列代码的横线处填写( ),可以使得输出是“24 12”。
#include <iostream>
using namespace std;
int main(){
int a = 12, b = 24;
__________; //在此填入代码
a = a ^ b;
b = a ^ b;
cout << a << " " << b << endl;
return 0;
}
A. a = a ^ b
B. b = a ^ b
C. a = a + b
D. b = a + b
14. 在下列代码的横线处填写( ),可以使得输出是“2”。
#include <iostream>
using namespace std;
int main() {
int array[5] = {3, 7, 5, 2, 4}
int min = 0;
for (int i = 0; i < 5; i ++ )
if (_______) //在此填入代码
min = array[i];
cout << min << endl;
return 0;
}
A. min > array[i]
B. min < array[i]
C. min = array[i]
D. 以上均不对。
15. 在下列代码的横线处填写( ),可以使得输出不是“31”。
#include <iostream>
using namespace std;
int main() {
int array[5] = {1, 2, 4, 8, 16}
int res = 0;
for (int i = 0; i < 5; i ++ )
_______ //在此填入代码
cout << res << endl;
return 0;
}
A. res = res + array[i]
B. res = res & array[i]
C. res = res | array[i]
D. res = res ^ array[i]