#2200. [GESP四级样题] 选择和判断题
[GESP四级样题] 选择和判断题
Description
一、单选题(每题 4 分,共 60 分)
-
在 C++中,指针变量的大小(单位:字节)是( ) A. 2 B. 4 C. 8 D. 与编译器有关
-
以下哪个选项能正确定义一个二维数组( ) A. int a[][]; B. char b[][4]; C. double c[3][]; D. bool d[3][4];
-
在 C++中,以下哪种方式不能用于向函数传递参数( ) A. 值传递 B. 引用传递 C. 指针传递 D. 模板传递
-
以下关于 C++函数的形参和实参的叙述,正确的是( ) A. 形参是实参的别名 B. 实参是形参的别名 C. 形参和实参是完全相同的 D. 形参用于函数声明,实参用于函数调用
-
排序算法的稳定性是指( ) A. 相同元素在排序后的相对顺序保持不变 B. 排序算法的性能稳定 C. 排序算法对任意输入都有较好的效果 D. 排序算法容易实现
-
如果有如下二维数组定义,则a[0][3]的值为( )
int a[2][2] = {{0, 1}, {2, 3}};
A. 编译出错 B. 1 C. 3 D. 0
-
以下哪个选项能正确访问二维数组 array 的元素( ) A. array[1, 2] B. array(1)(2) C. array[1][2] D. array{1}{2}
-
以下哪个选项是 C++中正确的指针变量声明( ) A. int *p; B. int p*; C. *int p; D. int* p*;
-
在 C++中,以下哪个关键字或符号用于声明引用( ) A. pointer B. & C. * D. reference
-
以下哪个递推关系式表示斐波那契数列( ) A. F(n) = F(n-1) + F(n-2) + F(n-3) B. F(n) = F(n-1) + F(n-2) C. F(n) = F(n-1) * F(n-2) D. F(n) = F(n-1) / F(n-2)
-
以下哪个函数声明在调用时可以传递二维数组的名字作为参数? A. void BubbleSort(int a[3][4]); B. void BubbleSort(int a[][]); C. void BubbleSort(int * a[]); D. void BubbleSort(int ** a);
-
在 C++中,以下哪个关键字用来捕获异常( ) A. throw B. catch C. try D. finally
-
在下列代码的横线处填写( ),可以使得输出是“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; }
A. int x, int y B. int & x, int & y C. int a, int b D. int & a, int & b
-
在下列代码的横线处填写( ),可以使得输出是“21”。
#include <iostream> using namespace std; int main() { int a[5]; a[0] = 1; for (int i = 1; i < 5; i++) a[i] = a[i – 1] * 2; int sum = 0; for (int i = 0; i < 5; ________) // 在此处填入代码 sum += a[i]; cout << sum << endl; return 0; }
A. i++ B. i += 2 C. i += 3 D. i |= 2
-
在下列代码的横线处填写( ),完成对有n个int类型元素的数组array 由小到大排序。
void BubbleSort(int array[], int n) { for (int i = n; i > 1; i--) for (____________________) // 在此处填入代码 if (array[j] > array[j + 1]) { int t = array[j]; array[j] = array[j + 1]; array[j + 1] = t; } }
A. int j = i – 2; j >= 0; j-- B. int j = i - 1; j >= 0; j-- C. int j = 0; j < i - 1; j++ D. int j = 0; j < i; j++
二、判断题 (每题 4 分,共 40 分,正确填 T,错误填 F) 16. C++语言中的指针变量可以指向任何类型的数据。( )
-
在C++语言中,函数的参数默认以地址传递方式进行传递。( )
-
C++语言中的全局变量在整个程序的生命周期内都是有效的。( )
-
递推算法通常有初始值。( )
-
冒泡排序是一种稳定的排序算法。( )
-
C++语言中,如果异常发生,但没有处理异常的代码,则程序会由于一直等 待处理而死机。( )
-
C++语言中的局部变量在函数调用结束后会被销毁。( )
-
&和&&都是C++语言的运算符,*和**也都是。( )
-
如果希望设计一个函数xchg,实现交换两个int变量的值,则它的声明可 以写为 void xchg(int a,int b); 。( )
-
已知数组 a 定义为 int a[100]; ,则赋值语句 a['0'] = 3; 会导致编译 错误。( )
Input Format
一个整数,表示题号 ()。
Output Format
一个大写字母,题号对应的答案。
无
无
Hint
- 每题对应一个测试点输入,输入为题号,请使用模板代码作答,只需要将对应cout后面引号中的内容改为你的答案即可。不要动其他代码。
- 区分大小写
- 前后不能有空格
Source
GESP四级样题