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 a[10][], int m);

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

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

D. void Bubble(int * a[20], 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 dp[MAX_L + 1][MAX_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 (str1[i] == str2[j])

dp[i + 1][j + 1] = dp[i][j] + 1; else

________;

// 在此处填入选项

return dp[len1][len2];

}

A. dp[i + 1][j + 1] = dp[i][j + 1] + dp[i + 1][j]

B. dp[i + 1][j + 1] = MIN(dp[i][j + 1], dp[i + 1][j])

C. dp[i + 1][j + 1] = MAX(dp[i][j + 1], dp[i + 1][j])

D. dp[i + 1][j + 1] = MAX(dp[i][j + 1], dp[i + 1][j]) + 1

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

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

网站链接

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

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

相关推荐
不想编程小谭3 分钟前
力扣LeetCode: 2506 统计相似字符串对的数目
c++·算法·leetcode
kiramario4 分钟前
【结束】JS如何不通过input的onInputFileChange使用本地mp4文件并播放,nextjs下放入public文件的视频用video标签无法打开
开发语言·javascript·音视频
土豆儿@34 分钟前
java之泛型
java·开发语言
m0_748245341 小时前
python——Django 框架
开发语言·python·django
曼巴UE51 小时前
UE5.3 C++ TArray系列(一)
开发语言·c++·ue5
熬夜苦读学习1 小时前
Linux文件系统
linux·运维·服务器·开发语言·后端
菜鸟一枚在这1 小时前
深度解析建造者模式:复杂对象构建的优雅之道
java·开发语言·算法
阿巴~阿巴~2 小时前
多源 BFS 算法详解:从原理到实现,高效解决多源最短路问题
开发语言·数据结构·c++·算法·宽度优先
CoderCodingNo3 小时前
【GESP】C++二级真题 luogu-b3924, [GESP202312 二级] 小杨的H字矩阵
java·c++·矩阵
奔跑吧邓邓子3 小时前
【Python爬虫(34)】Python多进程编程:开启高效并行世界的钥匙
开发语言·爬虫·python·多进程