文库 真题 GESP真题

2023年12月GESP认证C++八级真题试卷答案解析

gesp认证8级真题 gesp认证C++真题答案 DOCX   19页   下载5   2024-02-07   浏览256   收藏8   点赞15   评分-   免费文档
温馨提示:当前文档最多只能预览 2 页,若文档总页数超出了 2 页,请下载原文档以浏览全部内容。
2023年12月GESP认证C++八级真题试卷答案解析 第1页
2023年12月GESP认证C++八级真题试卷答案解析 第2页
剩余17页未读, 下载浏览全部
2023年GESP12月认证C++八级试卷解析 一、单选题(每题2分,共30分) 题号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 答案 C A D B C D A C A C D B B A C 1 、 ⼩ 杨要从 A 城到 B 城, ⼜ 想顺路游览 ⼀ 番。他有两个选项: 1 、坐 ⾼ 铁路到 C 城游览,再坐 ⾼ 铁或飞机到 B 城; 2 、坐船到 D 城游览,再坐船、 ⾼ 铁或飞机到 B 城。请问 ⼩ 杨从 A 城到 B 城共有 ⼏ 种交通 ⽅ 案可以选择?( )。 A. 2 B. 3 C. 5 D. 6 【答案】 C 【解析】本题可抽象为分类计数问题,应使用加法原理,而不是乘法原理。答案为 ACB 的方案数 2 加上 ADB 的方案数 3=5 ,选 C 。 2 、以下哪个函数声明是符合语法的 ,且在调 ⽤ 时可以将 ⼆ 维数组的名字作为实际参数传递给形式参数 a ? (   )   。 A. void QuickSort(int a[][10], int n); B. void QuickSort(int a[5][], int m); C. void QuickSort(int a[][], int n, int m); D. void QuickSort(int ** a, int n, int m); 【答案】A 【解析】 C++ 在函数中把数组作为参数进行传递时,只会传递数组的首地址,函数中如果想要通过首地址计算数组中任意一位元素所处的地址时,就需要知道第二维数组的长度,比如第二维数组长度为 10 时, a[1][3] 的地址就是 a[0][0] 的地址 +13 ,本题的选项中只有选项 A 给出了数组第二维长度,所以本题选 A 。 3 、下 ⾯ 有关 C++ 类和对象的说法 ,错误的是(  )。 A. 对象的 ⽣ 命周期开始时 ,会执 ⾏ 构造函数。 B. 对象的 ⽣ 命周期结束时 ,会执 ⾏ 析构函数。 C. 类的析构函数可以为虚函数。 D. 类的构造函数可以为虚函数。 【答案】 D 【解析】对象的声明周期开始和结束时会分别执行构造函数和析构函数,选项A、B正确。对于选项C、D,虚函数是指被virtual关键字修饰的成员函数,定义虚函数是为了允许用基类的指针来调用派生类的该函数。允许将析构函数定义为虚函数,是因为有使用“delete基类指针”来销毁对象的需求,选项C正确。但对象构造时必须指定准确的类,不能使用基类名构造派生类的对象,没有将构造函数定义为虚函数的需要,选项D错误。 4 、使 ⽤ 邻接矩阵表达 n 个顶点的有向图 ,则该矩阵的 ⼤⼩ 为(  )。 A. n× (n+1 ) B. n×n C. n× (n -1 ) D. n× (n - 1 )/2 【答案】B 【解析】邻接矩阵的行列均为[0~n-1],所以矩阵的大小为n*n,本题选B。 5 、 5 位同学排队,其中 ⼀ 位同学不能排在第 ⼀ ,则共有多少种可能的排队 ⽅ 式?( )。 A. 5 B. 24 C. 96 D. 120 【答案】C 【解析】按照第1,2,3,4,5位的顺序依次安排同学,某位同学不能在第一位,所以第1位有4种安排方法,第二位可以从剩余的4名同学中选一位,有4种方法,依次类推,第3,4,5各有3,2,1种,总方案数为4*4*3*2*1=96,选C。 6 、 ⼀ 个 ⽆ 向图包含 n 个顶点 ,则其最 ⼩⽣ 成树包含多少条边?(  )。 A. n - 1 B. n C. n + 1 D. 最 ⼩⽣ 成树可能不存在。 【答案】D 【解析】n个顶点组成的树包含n-1条边,但是题目没有保证图连通,所以可能不存在最小生成树,选D。 7 、已知三个 double 类型的变量 a 、 b 和 theta 分别表 ⽰⼀ 个三角形的两条边长及 ⼆ 者的夹角(弧度),则下列哪个表达式可以计算这个三角形的 ⾯ 积?( )。 A. a * b * s in(theta) / 2 B. (a + b) * s in(theta) / 20 C. a * b * cos(theta) / 2 D. sqrt(a * a + b * b - 2 * a * b * cos(theta)) 【答案】A 【解析】若△ABC中,已知两边a.b和它们的夹角theta ,作边a上的高h.则S=(1/2)ah,而h/b=sin(theta),即h=b*sin(theta) ∴S=(1/2)absin(theta) 选 A 。 8 、对有 n 个元素的 ⼆ 叉排序树进 ⾏ 中序遍历,其时间复杂度是( )。 A. O(1) B. O(log(n)) C. O(n) D. O(n 2 ) 【答案】C 【解析】树的遍历过程需要对每个元素访问一次,因此时间复杂度为O(n),选择C。 9 、假设输 ⼊ 参数 m 和 n 满 ⾜ m≤n ,则下 ⾯ 程序的最差情况的时间复杂度为()。 A. O(log(n)) B. O(n) C. O(n × m) D. O(m × log(n) 【答案】A 【解析】本题代码为辗转相除法,复杂度为O(logn)。最差情况,输入为斐波那契数列的相邻两项时,循环次数为输入在数列中的位置。选A。 10 、下 ⾯ 程序的时间复杂度为( )。 A. O(n) B.  O(a n ) C. O(log(n)) D. O(log(n) × a) 【答案】C 【解析】本题代码为快速幂,复杂度为O(logn)。通过观察可得该函数的时间复杂度只与n相关,假设为T(n),则T(n)=T(n / 2) + 常数,求解可得上述时间复杂度。选C。 11 、下 ⾯ 程序的时间复杂度为( )。 A.  O(2 n ) B. O(2m × (n - m)) C. O(c(n, m)) D. O(m × (n - m)) 【答案】D 【解析】本题代码是在计算C[n][m],使用了递归的写法并加上了记忆化搜索,可以通过画图来看所有被访 问到的二维数组个数,以n=6,m=2为例, 可以发现访问的元素个数为n*m-m*m,本题选D。 12 、下 ⾯ 的程序使 ⽤ 出边的邻接表表达有向图,则下列选项中哪个是它表达的图?( )。 A.  B.  C.  D.  【答案】B 【解析】结构体edge里的next指向的是下一
计算机学会2023年GESP12月认证C++八级试卷解析,2023年12月GESP认证C++八级真题试卷答案解析
下载提示

下载及版权说明:6547网文库内容来自网络及各平台公开内容(属于用户上传,不保证正确性,只做参考),旨在帮助同学们学习少儿编程相关知识及内容,仅限内部学习及使用,以分享为主,下载本文档之后请合法使用相关、真题、素材、课件、教程等内容,若内容存在侵权,请进行 举报 及查看 免责声明