程序:
-
下列哪个选项可以正确地声明和定义一个整型变量? A. int x; B. integer x; C. x int; D. var x;
答案:A. int x;
-
下面哪个选项是正确的函数调用方式? A. functionName(); B. functionName; C. functionName[]; D. functionName{};
答案:A. functionName();
-
下面哪个选项可以输出到控制台? A. print(); B. cout(); C. System.out.println(); D. std::cout << "";
答案:D. std::cout << "";
-
以下哪个选项可以读取用户输入的整数? A. input(); B. cin(); C. system.in.read(); D. std::cin >> ;
答案:D. std::cin >> ;
-
在C++中,以下哪个选项可以用来表示逻辑或(OR)操作? A. && B. || C. ! D. &
答案:B. ||
-
下面哪个选项是正确的if语句写法? A. if (x > 5) then { ... } B. if x > 5 { ... } C. if x > 5 then { ... } D. if (x > 5) { ... }
答案:D. if (x > 5) { ... }
-
以下哪个选项可以用来循环执行代码块? A. for B. until C. switch D. if
答案:A. for
-
下面哪个选项是C++中的合法数组声明方式? A. int array[10]; B. array[10] int; C. array[int]; D. int[10] array;
答案:A. int array[10];
-
在C++中,以下哪个选项表示类的成员函数? A. function() B. method() C. member_function() D. class_function()
答案:B. method()
-
下面哪个选项可以用来动态分配内存? A. new B. malloc C. alloc D. create
答案:A. new
数学:
-
问题:将 72 分解为质数的乘积。 答案:72 = 2 * 2 * 2 * 3 * 3。
-
问题:计算等差数列的通项公式和前 n 项和,已知首项 a = 3,公差 d = 2。 答案:通项公式为 an = 3 + (n - 1) * 2,前 n 项和为 Sn = (n/2) * (2a + (n - 1)d)。
-
问题:计算等比数列的通项公式和前 n 项和,已知首项 a = 2,公比 r = 3。 答案:通项公式为 an = 2 * (3^(n - 1)),前 n 项和为 Sn = (a * (r^n - 1)) / (r - 1)。
-
问题:计算 √25 的值。 答案:√25 = 5。
-
问题:计算立方根 ∛27 的值。 答案:∛27 = 3。
-
问题:计算 A(4, 2) 的值。 答案:A(4, 2) 表示从 4 个元素中选取 2 个元素的排列数,计算公式为 A(4, 2) = 4! / (4-2)! = 12。
-
问题:计算 C(5, 3) 的值。 答案:C(5, 3) 表示从 5 个元素中选取 3 个元素的组合数,计算公式为 C(5, 3) = 5! / (3! * (5-3)!) = 10。
-
问题:计算 12 和 18 的最大公约数和最小公倍数。 答案:最大公约数为 6,最小公倍数为 36。
-
问题:计算数列 1 + 3 + 5 + 7 + ... 的前 n 项和。 答案:等差数列公式可得 Sn = (n/2) * (a + an) = (n/2) * (1 + (2n - 1)) = n^2。
-
问题:计算 sin(30°) 的值。 答案:sin(30°) = 0.5。
⭐程序题:
模拟填空题:
-
填写空缺的代码,使程序输出指定结果(7)。
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int n;
cin >> ①;
vector<int> a(①);
for (int i = 0; i < ①; i++) {
cin >> a[②];
}
sort(a.③, a.③ + ①);
int sum = 0, p = ① >> 1;
for (int i = 0; i < ①; i++) {
sum += abs(a[i] - a[④]);
}
cout << ⑤ << endl;
return 0;
}
答案:
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int n;
cin >> n;
vector<int> a(n);
for (int i = 0; i < n; i++) {
cin >> a[i];
}
sort(a.begin(), a.end());
int sum = 0, p = n >> 1;
for (int i = 0; i < n; i++) {
sum += abs(a[i] - a[p]);
}
cout << sum << endl;
return 0;
}
- 判断下列说法是否正确。
- 程序中使用了 vector 容器来存储输入的数据。(√)
- 程序中没有使用循环语句。(×)
- 程序可以处理输入数据中有相同元素的情况。(√)
模拟阅读题:
假设所有输入均为不大于100的正整数,完成下列单选题。
- 下面哪个函数可以对 vector 容器进行排序?
A. sort
B. reverse
C. unique
D. lower_bound
答案:A
解析:sort()函数可以对容器的元素进行排序,reverse()函数可以将容器中的元素倒序排列,unique()函数可以去除容器中的相邻重复元素,lower_bound()函数可以在有序容器中查找第一个大于等于指定值的元素的迭代器。
- 在程序中,变量 p 的作用是什么?
A. 存储输入数据中的中位数。
B. 存储输入数据中的最大值。
C. 存储输入数据中的最小值。
D. 存储输入数据中的平均值。
答案:A
解析:程序中使用变量 p 来存储数组中的中位数,用来计算数组中所有元素与中位数之差的绝对值之和。程序中使用了位运算符 >> 来计算 p 的值,其等价于整数除以 2 的结果。