#4415. 初赛-排列组合、面向对象、指针内存
初赛-排列组合、面向对象、指针内存
1. 【CSP-J 2025 初赛·第 6 题】从 5 位男生和 4 位女生中选出 4 人组成一个学习小组,要求学习小组中男生和女生都有。有多少种不同的选法( )。
{{ select(1) }}
- 126
- 121
- 120
- 100
2. 【CSP-J 2021 初赛】由 1,1,2,2,3 这五个数字组成不同的三位数有( )种。
{{ select(2) }}
- 18
- 15
- 12
- 24
3. 【CSP-J 2024 初赛·第 14 题】有 5 个男生和 3 个女生站成一排,规定 3 个女生必须相邻,问有多少种不同的排列方式( )。
{{ select(3) }}
- 4320 种
- 5040 种
- 3600 种
- 2880 种
4. 在 C++ 中,若定义时不写任何访问权限修饰符,struct 与 class 的成员默认访问权限分别是( )。
{{ select(4) }}
- 都是 public
- 都是 private
- struct 是 public,class 是 private
- struct 是 private,class 是 public
5. 下列关于 C++ 构造函数与析构函数的说法,错误的是( )。
{{ select(5) }}
- 构造函数的函数名必须与类名相同
- 构造函数的返回值类型必须写成 void
- 析构函数不能带参数,一个类中只能有一个析构函数
- 对象被创建时自动调用构造函数,被销毁时自动调用析构函数
6. 【CSP-J 2022 初赛】以下哪种功能没有涉及 C++ 语言的面向对象特性支持( )。
{{ select(6) }}
- C++ 中调用 printf 函数
- C++ 中调用用户定义的类成员函数
- C++ 中构造一个 class 或 struct
- C++ 中构造来源于同一基类的多个派生类
7. 【CSP-J 2025 初赛·第 10 题】考虑以下 C++ 函数:
void solve(int &a, int b) {
a = a + b;
b = a - b;
a = a - b;
}
int main() {
int x = 5, y = 10;
solve(x, y);
}
在 main 函数调用 solve 后,x 和 y 的值分别是( )。
{{ select(7) }}
- 5, 10
- 10, 5
- 10, 10
- 5, 5
8. 判断题:与指针不同,引用一经初始化就不能再指向其他变量,而且不存在空引用。( )
{{ select(8) }}
- √(正确)
- ×(错误)
9. 已知 int a[5]; int *p = a;,且 a 的首地址为 0x1000,则 p + 3 的值是( )。
{{ select(9) }}
- 0x1003
- 0x100C
- 0x1012
- 0x1005
10. 设有 int a[10]; int *p = a;,下列语句中不合法的是( )。
{{ select(10) }}
p = p + 1;a = a + 1;p[2] = *(a + 2);cout << *(p + 3);