2024年GESP9月C++-四级

*
姓名:
1.选择题
*
第 1 题 在 C++ 中,( )正确定义了⼀个返回整数值并接受两个整数参数的函数。
A. int add(int a, int b) { return a + b; }
B. void add(int a, int b) { return a + b; }
C. int add(a, b) { return a + b; }
D. void add(int a, int b) { return a - b; }
*
第 2 题 在C++中 ,形参与实参的关系描述正确的是( ) 。
A. 形参在函数调⽤时指定 ,实参在函数定义时传递
B. 形参在函数定义时指定 ,实参在函数调⽤时传递
C. 形参和实参可以互换
D. 形参和实参必须是完全相同的类型 ,不能有任何差异。
*
第 3 题 运⾏以下代码 ,屏幕上将输出( )。
A. 100 200 100 200
B. 100 200 100 300
C. 100 200 200 200
D. 100 200 200 300
*
第 4 题 运⾏下⾯代码 ,屏幕上输出是( )。
A. 24
B. 9
C. 7
D. 不确定
*
第 5 题 运⾏下⾯代码⽚段的结果是( )。
A. 将x赋值为24
B. 将y赋值为20
C. 将q指向x的地址
D. 将p指向y的地址
*
第 6 题 在 C++ 中,( )正确定义⼀个名为 student 的结构体 ,其中包含⼀个 name 字符数组和⼀个 age 整数?
A. struct student { char name[20]; int age; };
B. student struct { char name[20]; int age; };
C. student struct { string name; int age; };
D. struct student { char[20] name; int age; };
*
第 7 题 在 C++ 中,( )正确声明了⼀个 3 ⾏ 4 列的⼆维数组。
A. int arr[3, 4];
B. int arr[3][4];
C. int arr[4][3];
D. int arr(3, 4);
*
第 8 题 ⼀个⼆维数组定义为 int arr[3][4]; (假设⼀个int变量占4个字节) ,则 int arr[0] 占⽤ ( )个字节 的内存。
A. 3
B. 4
C. 12
D. 16
*
第 9 题 下⾯代码采⽤递推算法来实现整数n的阶乘( n! = n x (n 1)x… . ×2 x 1) ,则横线上应填写( )。
A. result *= i;
B. result += i;
C. result *= result;
D. result += result;
*
第 10 题 在排序算法中 ,稳定性指的是( )。
A. 排序后数据不会丢失
B. 排序后相同元素的相对顺序保持不变
C. 排序后数据不会被修改
D. 排序后数据的时间复杂度不变
*
第 11 题 下⾯代码实现了冒泡排序函数 ,则横线上应填写( )。
A. for (int j = 0; j < arr.size() - 1; j++)
B. for (int j = arr.size() - 1; j > 0; j--)
C. for (int j = 0; j < i; j++)
D. for (int j = i-1; j <=0; j--)
*
第 12 题 上⼀题算法的时间复杂度为( )。
A. O(n^2)
B. O(2^n)
C. O(1)
D. O(n)
*
第 13 题 下⾯代码实现了插⼊排序函数(升序) ,则横线上应填写( )。
A. while (j >= 0 && nums[j] > base)
B. while (j > 0 && nums[j] > base)
C. while (j >= 0 && nums[j] < base)
D. while (j > 0 && nums[j] < base)
*
第 14 题 ⼩杨⽤⽂件重定向实现在 log.txt ⽂件中输出⽇志 ,则下⾯横线上应填写( )。
A. cout << "This output will go to the log file." << endl;
B. log_file << "This output will go to the log file." << endl;
C. cout >> "This output will go to the log file." >> endl;
D. log_file >> "This output will go to the log file." >> endl;
*
第 15 题 运⾏下⾯的代码 ,屏幕上将输出( )。
A. division by zero error result: caught an exception:
B. result: caught an exception: division by zero error
C. caught an exception: division by zero error
D. division by zero error caught an exception: division by zero error
2.选择题
*
第 1 题 代码 int a = 10; int* p = &a; 可以正确定义指针和初始化指针。
正确
错误
*
第 2 题 在 C++ 中,引用传递允许函数修改传递给它的参数的值。
正确
错误
*
第 3 题 指针的大小与其所指向的变量的数据类型的大小相同。
正确
错误
*
第 4 题 二维数组的行的大小的必须在定义时确定,列的大小可以动态变化。
正确
错误
*
第 5 题 递推算法通过逐步求解当前状态和前一个或几个状态之间的关系来解决问题。
正确
错误
*
第 6 题 选择排序是稳定的排序算法。
正确
错误
*
第 7 题 插入排序的时间复杂度总是比冒泡排序低。
正确
错误
*
第 8 题 在 C++ 中,如果没有捕获到异常(没有匹配的 catch 块),程序会继续执行而不会终止。
正确
错误
*
第 9 题 以下代码用递推法求斐波那契数列的第 项,时间复杂度为指数级。
正确
错误
*
第 10 题 执行下面C++代码后,输出的是20。
正确
错误
Powered By www.wjx.cn
Report