#GESP202306C4T1. 单选题(每题 2 分,共 30 分)
单选题(每题 2 分,共 30 分)
- 高级语言编写的程序需要经过以下( )操作,可以生成在计算机上运行的可执行代码。
{{ select(1) }}
- 编辑
- 保存
- 调试
- 编译
- 排序算法是稳定的(Stable Sorting),就是指排序算法可以保证,在待排序数据中有两个相等记录的关键字 R 和 S(R 出现在 S 之前),在排序后的列表中 R 也一定在 S 前。下面关于排序稳定性的描述,正确的是( )。
{{ select(2) }}
- 冒泡排序是不稳定的。
- 插入排序是不稳定的。
- 选择排序是不稳定的。
- 以上都不正确。
- 下列关于 C++语言中指针的叙述,不正确的是( )。
{{ select(3) }}
- 指针变量中存储的是内存地址。
- 定义指针变量时必须指定其指向的类型。
- 指针变量只能指向基本类型变量,不能指向指针变量。
- 指针变量指向的内存地址不一定能够合法访问。
- 下列关于 C++语言中数组的叙述,不正确的是( )。
{{ select(4) }}
- 一维数组在内存中一定是连续存放的。
- 二维数组是一维数组的一维数组。
- 二维数组中的每个一维数组在内存中都是连续存放的。
- 二维数组在内存中可以不是连续存放的。
- 下列关于 C++语言中函数的叙述,正确的是( )。
{{ select(5) }}
- 函数必须有名字。
- 函数必须有参数。
- 函数必须有返回值。
- 函数定义必须写在函数调用前。
- 下列关于 C++语言中变量的叙述,正确的是( )。
{{ select(6) }}
- 变量定义后可以一直使用。
- 两个变量的变量名不能是相同的。
- 两个变量的变量名可以相同,但它们的类型必须是不同的。
- 两个变量的变量名可以相同,但它们的作用域必须是不同的。
- 一个二维数组定义为
double array[3][10];
,则这个二维数组占用内存的大小为( )。
{{ select(7) }}
- 30
- 60
- 120
- 240
- 一个变量定义为
int *p = nullptr;
,则下列说法正确的是( )。
{{ select(8) }}
- 该指针变量的类型为 int。
- 该指针变量指向的类型为 int。
- 该指针变量指向的内存地址是随机的。
- 访问该指针变量指向的内存会出现编译错误。
- 一个二维数组定义为
int array[5][3];
,则array[1][2]
和array[2][1]
在内存中的位置相差多少字节?( )
{{ select(9) }}
- 2 字节。
- 4 字节。
- 8 字节。
- 无法确定。
- 如果 a 为 int 类型的变量,且 a 的值为 6,则执行 a &= 3; 之后,a 的值会是( )。
{{ select(10) }}
- 3
- 9
- 2
- 7
- 一个数组定义为
int a[5] = {1, 2, 3, 4, 5};
,一个指针定义为int *p = &a[2];
,则执行a[1] = *p;
后,数组 a 中的值会变为( )。
{{ select(11) }}
- {1, 3, 3, 4, 5}
- {2, 2, 3, 4, 5}
- {1, 2, 2, 4, 5}
- {1, 2, 3, 4, 5}
- 以下哪个函数声明在调用时可以传递二维数组的名字作为参数?( )
{{ select(12) }}
void BubbleSort(int a[][4]);
void BubbleSort(int a[3][]);
void BubbleSort(int a[][]);
void BubbleSort(int ** a);
- 在下列代码的横线处填写( ),可以使得输出是 “20 10”。
#include <iostream>
using namespace std;
void xchg(_______________) { // 在此处填入代码
int t = *x;
*x = *y;
*y = t;
}
int main() {
int a = 10, b = 20;
xchg(&a, &b);
cout << a << " " << b << endl;
return 0;
}
{{ select(13) }}
int x, int y
int * x, int * y
int a, int b
int & a, int & b
- 执行以下 C++语言程序后,输出结果是( )。
#include <iostream>
using namespace std;
int main() {
int array[3][3];
for (int i = 0; i < 3; i++)
for (int j = 0; j < 3; j++)
array[i][j] = i * 10 + j;
int sum;
for (int i = 0; i < 3; i++)
sum += array[i][i];
cout << sum << endl;
return 0;
}
{{ select(14) }}
- 3
- 30
- 33
- 无法确定。
- 在下列代码的横线处填写( ),完成对有 n 个 int 类型元素的数组 array 由小到大排序。
void SelectionSort(int array[], int n) {
int i, j, min, temp;
for (i = 0; i < n - 1; i++) {
min = i;
for (j = i + 1; j < n; j++)
if (________________) // 在此处填入代码
min = j;
temp = array[min];
array[min] = array[i];
array[i] = temp;
}
}
{{ select(15) }}
array[min] > array[j]
array[min] > array[i]
min > array[j]
min > array[i]