#QMCP0004. L2&3-期末练习-客观题
L2&3-期末练习-客观题
一、单项选择题(共25题,每题2分,共50分)
- 以下哪个是C++中正确的变量定义语句?( )
{{ select(1) }}
- int 2a = 5;
- int _score = 100;
- float b = 3.5; int b = 4;
- char class = 'A';
- 执行以下代码后,变量x的值是?( )
int x = 20 / 3 + 20 % 3;
{{ select(2) }}
- 9
- 8
- 7
- 6
- 已知字符'a'的ASCII码是97,那么字符'e'的ASCII码是?( )
{{ select(3) }}
- 100
- 101
- 102
- 103
- 以下代码的输出结果是?( )
int a = 7, b = 3;
if (a > b && b > 0)
cout << "YES";
else
cout << "NO";
{{ select(4) }}
- YES
- NO
- 7
- 编译错误
- 以下关于for循环的说法,正确的是?( )
{{ select(5) }}
- for循环只能执行固定次数
- for循环的三个表达式都可以省略
- for循环中不能嵌套if语句
- for循环不能用于递减计数
- 以下代码的输出结果是?( )
for (int i = 1; i <= 4; i++)
cout << i * 2 << " ";
{{ select(6) }}
- 1 2 3 4
- 2 4 6 8
- 2 4 8 16
- 1 3 5 7
- 已知数组定义如下,以下哪个可以正确输出数组的第3个元素?( )
int a[5] = {10, 20, 30, 40, 50};
{{ select(7) }}
- cout << a[3];
- cout << a[2];
- cout << a(3);
- cout << a{2};
- 以下代码实现了什么功能?( )
int sum = 0;
for (int i = 0; i < 5; i++)
sum += a[i];
{{ select(8) }}
- 求数组a的前5个元素的最大值
- 求数组a的前5个元素的和
- 求数组a的前5个元素的最小值
- 统计数组a中等于0的元素个数
- 以下关于while循环的描述,正确的是?( )
{{ select(9) }}
- while循环至少执行一次循环体
- while循环先判断条件,条件为真才执行循环体
- while循环不能用于读取未知个数的数据
- while循环中不能使用break语句
- 以下代码的输出结果是?( )
int n = 123;
while (n > 0) {
cout << n % 10;
n = n / 10;
}
{{ select(10) }}
- 123
- 321
- 3 2 1
- 编译错误
- 在C++中,要输出保留2位小数的浮点数,需要使用的头文件和控制符是?( )
{{ select(11) }}
#include <iostream> 和 setprecision#include <iomanip> 和 fixed << setprecision(2)#include <cmath> 和 round(2)#include <cstdio> 和 printf
- 以下关于数组的说法,正确的是?( )
{{ select(12) }}
- 数组元素的下标从1开始
- 数组定义时必须初始化所有元素
- 一维数组在内存中是连续存放的
- 数组名代表数组中最后一个元素的地址
- 已知 char s[] = "ABC";,以下说法正确的是?( )
{{ select(13) }}
- s数组的长度是3,占用3个字节
- s数组包含字符'A'、'B'、'C'和'\0'
- s[3]的值是'C'
- 不能用cout << s; 输出字符串
- 已知 char s1[] = "Hello", s2[] = "World";,将s2复制到s1中应使用?( )
{{ select(14) }}
- strcat(s1, s2)
- strcpy(s1, s2)
- strcmp(s1, s2)
- strlen(s1, s2)
- 对于C++的string类型,以下操作正确的是?( )
{{ select(15) }}
- string s = "abc"; cout << s.length();
- string s; cin >> s.name;
- string s = "abc"; s = s + 123;
- string s[10] = "hello";
- 以下关于函数的说法,正确的是?( )
{{ select(16) }}
- 函数必须有返回值
- 函数的形参和实参必须同名
- 函数定义时,形参的类型不能省略
- 一个函数内部不能调用其他函数
- 以下代码中,调用add(3, 5)的返回值是?( )
int add(int a, int b) {
return a + b;
}
{{ select(17) }}
- 3
- 5
- 8
- 15
- 已知结构体定义如下,以下赋值正确的是?( )
struct Student {
string name;
int age;
};
{{ select(18) }}
- Student s; name = "Tom";
- Student s = {"Tom", 18};
- s.name = "Tom";
- Student.name = "Tom";
- 以下关于嵌套循环的说法,正确的是?( )
{{ select(19) }}
- 外层循环执行一次,内层循环执行一遍
- 嵌套循环不能用于输出二维图形
- 内层循环的变量可以和外层循环变量同名
- break语句只能跳出内层循环
- 以下代码的输出结果是?( )
for (int i = 1; i <= 3; i++) {
for (int j = 1; j <= i; j++)
cout << j;
cout << endl;
}
{{ select(20) }}
- 1 22 333
- 1 12 123
- 1 2 3
- 11 22 33
- 枚举算法的核心思想是?( )
{{ select(21) }}
- 将所有可能的答案一一列举出来进行判断
- 将问题分解为多个子问题递归求解
- 每一步都选择当前最优的方案
- 使用栈来存储中间结果
- 递归函数必须包含以下哪个要素?( )
{{ select(22) }}
- 循环结构
- 终止条件(递归出口)
- 全局变量
- 数组参数
- 栈(Stack)的特点是?( )
{{ select(23) }}
- 先进先出
- 先进后出
- 随机存取
- 只能存储整数
- 队列(Queue)的特点是?( )
{{ select(24) }}
- 先进后出
- 先进先出
- 只能在头部插入元素
- 只能存储字符
- 深度优先搜索(DFS)的核心策略是?( )
{{ select(25) }}
- 从起点逐层向外扩展搜索
- 沿着一条路径尽可能深入,走不通再回溯
- 每次选择距离起点最近的节点
- 枚举所有可能的路径并比较
二、判断题(共10题,每题2分,共20分)
- 变量名可以以数字开头。( )
{{ select(26) }}
- 正确
- 错误
- 表达式 10 / 3 的结果是 3。( )
{{ select(27) }}
- 正确
- 错误
- if-else if 多分支语句中,最多只有一个分支会被执行。( )
{{ select(28) }}
- 正确
- 错误
- for (int i = 0; i < 5; i++) 循环会执行5次。( )
{{ select(29) }}
- 正确
- 错误
- 数组下标从0开始,int a[5]的合法下标范围是0到4。( )
{{ select(30) }}
- 正确
- 错误
- while循环有可能一次都不执行。( )
{{ select(31) }}
- 正确
- 错误
- 函数可以没有返回值,此时返回值类型应写为void。( )
{{ select(32) }}
- 正确
- 错误
- 结构体中的成员可以是不同的数据类型。( )
{{ select(33) }}
- 正确
- 错误
- 递归函数自己调用自己,所以不需要终止条件。( )
{{ select(34) }}
- 正确
- 错误
- 栈是一种后进先出(LIFO)的数据结构。( )
{{ select(35) }}
- 正确
- 错误