GESP CCF C++八级编程等级考试认证真题 2024年12月

202412 GESP CCF C++八级编程等级考试认证真题

1 单选题(每题 2 分,共 30 分)

第 1 题 小杨家响应国家"以旧换新"政策,将自家的汽油车置换为新能源汽车,正在准备自编车牌。自编车牌包括5

位数字或英文字母,要求第5位必须是数字,前4位中可以有最多1位英文字母。英文字母必须是大写,而且不能是O

或I(因为容易与数字0或1混淆)。请问自编车牌共有多少种可能性?( )。

A. 100,000

B. 1,060,000

C. 1,360,000

D. 1,460,000

第 2 题 新年到,四家人在一起聚会。其中两家有三口人,另外两家有两口人。现在要安排大家在一张十人圆桌坐

下,要求一家人必须相邻就座。由于有"主座"的习俗,每个座位都被认为是不同的。请问共有多少种就座方案?(

)。

A. 8640

B. 6912

C. 144

D. 60

第 3 题 下面关于C++类继承的说法,错误的是( )。

A. 一个类可以继承多个类。

B. 一个类可以被多个类继承。

C. 一个类可以继承另一个类的子类。

D. 抽象类必须被至少一个类继承,否则会编译错误。

第 4 题 使用邻接表表达一个简单有向图,图中包含 v 个顶点、 e 条边,则该出边表中边节点的个数为( )。

A. v * ( v-1 )

B. v * v

C. 2 * e

D. e

第 5 题 以下将二维数组作为参数的函数声明,哪个是符合语法的?( )。

A. void Bubble(int a10\[\], int m);

B. void Bubble(int a\[\]\[\], int n, int m);

C. void Bubble(int (*a)20, int n);

D. void Bubble(int * a20, int n);

第 6 题 已知两个点 A 、 B 在平面直角坐标系下的坐标分别为 (xa,ya)和 (xb,yb),并分别定义变量 double xa, ya,

xb, yb; 存储坐标。假设直线 AB 的斜率存在,下列哪个表达式可以用来表达它?( )。

A. (xa - xb) / (ya - yb)

B. (xa - xb) / (yb - ya)

C. (ya - yb) / (xa - xb)

D. (ya - yb) / (xb - xa)

第 7 题 二项式 (x + y)^6的展开式中x^3y^3项的系数是( )。

A. 6

B. 15

C. 20

D. 120

第 8 题 以下关于动态规划的说法中,错误的是( )。

A. 动态规划方法有递推和递归两种实现形式。

B. 递归实现动态规划方法的时间复杂度总是不低于递推实现。

C. 动态规划方法将原问题分解为一个或多个相似的子问题。

D. 动态规划方法通常能够列出递推公式。

第 9 题 在下面的程序中,使用整数表示一种组合。整数二进制表示的某一位为1,表示该位对应的数被选中,反之

为0表示未选中。例如,从 0 - 5 这 6 个数中选出 3 个,则 0b111000 代表选中 3, 4, 5 三个数, 0b011001 代表

选中 0, 3, 4 三个数。 zuhe_next 函数按组合对应的整数由大到小的顺序,求出组合 c 的下一个组合。横线处可

以填入的是( )。

int intlow2(int c) {

return ________;

// 在此处填入选项

}

int zuhe_next_incur(int c, int n, int l) {

if (n == 1) return c;

if ((c & (1 << l)) == 0) {

int d = intlow2(c);

c = (c & ~d);

c = (c | (d >> 1));

} else {

c = (c & ~(1 << l));

c = zuhe_next_incur(c, n - 1, l + 1);

int d = intlow2(c);

c = (c | (d >> 1));

}

return c;

}

// 从n个数中选m个,当前组合为c

int zuhe_next(int c, int n, int m) {

return zuhe_next_incur(c, n, 0);

}

A. ((c - 1) ^ c)

B. (((c - 1) ^ c) + 1)

C. (((c - 1) ^ c) >> 1)

D. ((((c - 1) ^ c) + 1) >> 1)

第 10 题 下面程序的输出为( )。

#include <iostream>

using namespace std;

int main() {

int N = 15, cnt = 0;

for (int x = 0; x + x + x <= N; x++)

for (int y = x; x + y + y <= N; y++)

for (int z = y; x + y + z <= N; z++)

cnt++;

cout << cnt << endl;

return 0;

}

A. 174

B. 447

C. 816

D. 4096

第 11 题 下面最长公共子序列程序中,横线处应该填入的是( )。

#define MAX(A, B) (((A) > (B)) ? (A) : (B))

#define MIN(A, B) (((A) < (B)) ? (A) : (B))

int dpMAX_L + 1MAX_L + 1;

int LCS(char str1\[\], char str2\[\]) {

int len1 = strlen(str1);

int len2 = strlen(str2);

for (int i = 0; i < len1; i++)

for (int j = 0; j < len2; j++)

if (str1i == str2j)

dpi + 1j + 1 = dpij + 1; else

________;

// 在此处填入选项

return dplen1len2;

}

A. dpi + 1j + 1 = dpij + 1 + dpi + 1j

B. dpi + 1j + 1 = MIN(dpij + 1, dpi + 1j)

C. dpi + 1j + 1 = MAX(dpij + 1, dpi + 1j)

D. dpi + 1j + 1 = MAX(dpij + 1, dpi + 1j) + 1

================================================

答案和更多内容请查看网站:【试卷中心 -- C/C++编程 五级/六级/其他】

网站链接

青少年软件编程历年真题模拟题实时更新

================================================

相关推荐
郝学胜_神的一滴16 小时前
CMake 30:循环语法全解|foreach_while双循环精讲、迭代技巧与实战避坑指南
c++·cmake
卷无止境3 天前
C++ 的Eigen 库全解析
c++
卷无止境3 天前
现代 C++特性大盘点:一门脱胎换骨的老语言
c++·后端
郝学胜_神的一滴3 天前
CMake 27:缓存变量的特性、语法、类型与实操全解
c++·cmake
博客18005 天前
酷宝的使用方法,超好用的免费界面库,C++、MFC可用
c++·mfc·界面库·库来帮·酷宝
郝学胜_神的一滴5 天前
CMake 026:属性体系精讲、四大作用域全解 & 实战代码落地
c++·cmake
众少成多积小致巨5 天前
JNI (Java Native Interface) 技术手册中文参考指南
android·java·c++
clint45610 天前
C++进阶(1)——前景提要
c++
夜悊10 天前
C++代码示例:进制数简单生成工具
c++
郝学胜_神的一滴10 天前
CMake 021: IF 条件判据详诠
c++·cmake