#GESP202306C4T1. 单选题(每题 2 分,共 30 分)

单选题(每题 2 分,共 30 分)

  1.  \ 高级语言编写的程序需要经过以下( )操作,可以生成在计算机上运行的可执行代码。

{{ select(1) }}

  • 编辑
  • 保存
  • 调试
  • 编译

  1.  \ 排序算法是稳定的(Stable Sorting),就是指排序算法可以保证,在待排序数据中有两个相等记录的关键字 R 和 S(R 出现在 S 之前),在排序后的列表中 R 也一定在 S 前。下面关于排序稳定性的描述,正确的是( )。

{{ select(2) }}

  • 冒泡排序是不稳定的。
  • 插入排序是不稳定的。
  • 选择排序是不稳定的。
  • 以上都不正确。

  1.  \ 下列关于 C++语言中指针的叙述,不正确的是( )。

{{ select(3) }}

  • 指针变量中存储的是内存地址。
  • 定义指针变量时必须指定其指向的类型。
  • 指针变量只能指向基本类型变量,不能指向指针变量。
  • 指针变量指向的内存地址不一定能够合法访问。

  1.  \ 下列关于 C++语言中数组的叙述,不正确的是( )。

{{ select(4) }}

  • 一维数组在内存中一定是连续存放的。
  • 二维数组是一维数组的一维数组。
  • 二维数组中的每个一维数组在内存中都是连续存放的。
  • 二维数组在内存中可以不是连续存放的。

  1.  \ 下列关于 C++语言中函数的叙述,正确的是( )。

{{ select(5) }}

  • 函数必须有名字。
  • 函数必须有参数。
  • 函数必须有返回值。
  • 函数定义必须写在函数调用前。

  1.  \ 下列关于 C++语言中变量的叙述,正确的是( )。

{{ select(6) }}

  • 变量定义后可以一直使用。
  • 两个变量的变量名不能是相同的。
  • 两个变量的变量名可以相同,但它们的类型必须是不同的。
  • 两个变量的变量名可以相同,但它们的作用域必须是不同的。

  1.  \ 一个二维数组定义为 double array[3][10];,则这个二维数组占用内存的大小为( )。

{{ select(7) }}

  • 30
  • 60
  • 120
  • 240

  1.  \ 一个变量定义为 int *p = nullptr;,则下列说法正确的是( )。

{{ select(8) }}

  • 该指针变量的类型为 int。
  • 该指针变量指向的类型为 int。
  • 该指针变量指向的内存地址是随机的。
  • 访问该指针变量指向的内存会出现编译错误。

  1.  \ 一个二维数组定义为 int array[5][3];,则 array[1][2]array[2][1] 在内存中的位置相差多少字节?( )

{{ select(9) }}

  • 2 字节。
  • 4 字节。
  • 8 字节。
  • 无法确定。

  1.  \ 如果 a 为 int 类型的变量,且 a 的值为 6,则执行 a &= 3; 之后,a 的值会是( )。

{{ select(10) }}

  • 3
  • 9
  • 2
  • 7

  1.  \ 一个数组定义为 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}

  1.  \ 以下哪个函数声明在调用时可以传递二维数组的名字作为参数?( )

{{ select(12) }}

  • void BubbleSort(int a[][4]);
  • void BubbleSort(int a[3][]);
  • void BubbleSort(int a[][]);
  • void BubbleSort(int ** a);

  1.  \ 在下列代码的横线处填写( ),可以使得输出是 “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

  1.  \ 执行以下 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
  • 无法确定。

  1.  \ 在下列代码的横线处填写( ),完成对有 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]