#CK101. C++练习题 - 1
C++练习题 - 1
1. 在以下代码中,循环的最终输出结果是什么?
for (int i = 0; i < 5; ++i) {
cout << i << " ";
}
{{ select(1) }}
- 0 1 2 3 4
- 1 2 3 4 5
- 0 1 2 3 4 5
- 1 2 3 4
2. 以下哪种排序算法是稳定排序?
{{ select(2) }}
- 快速排序
- 选择排序
- 归并排序
- 堆排序
3.下列哪个表达式能够正确访问二维数组 arr[2][3]
的第三行第二列的元素?
{{ select(3) }}
arr[2][1]
arr[1][2]
arr[2][3]
arr[3][2]
4. 下面代码的输出结果是什么?
int a = 5, b = 10;
swap(a, b);
cout << a << " " << b;
{{ select(4) }}
- 5 10
- 10 5
- 编译错误(
Compile Error
) - 运行时错误(
Runtime Error
)
5. 关于C++的内存管理,下列描述正确的是:
{{ multiselect(5) }}
new
操作符用于动态分配内存- 使用
delete
释放动态分配的内存 - 局部变量存储在堆中
- 动态分配的内存在程序退出时自动释放
6. 给定以下代码:
int arr[3] = {1, 2, 3};
int *p = arr;
cout << *(p + 1);
输出的结果是什么?
{{ select(6) }}
- 1
- 2
- 3
- 编译错误(
Compile Error
)
7. 下面哪一个是合法的C++数组声明?
{{ multiselect(7) }}
int arr[10.5];
int arr[10];
int arr[];
int arr[10] = {1, 2};
8. 以下代码的输出是什么?
int arr[5] = {2, 4, 6, 8, 10};
cout << arr[1] + arr[3];
{{ select(8) }}
- 6
- 8
- 10
- 12
9. 下面关于C++循环结构的描述正确的是:
{{ multiselect(9) }}
for
循环可以没有初始化部分while
循环至少会执行一次do-while
循环是先执行循环体,再判断条件,因此无论条件是否成立,都会至少执行一次。break
只能跳出当前循环,并不能跳出多层嵌套循环,所以此选项错误。
10. 若有以下代码:
struct Student {
int id;
string name;
};
如何定义一个 Student
类型的变量?
{{ multiselect(10) }}
Student s;
struct Student s;
student s;
s Student;