GESP_C++_五级[2023.9]

题目总数:27
总分数:135
时间:不限时
第 1 题    单选题

 在上题的归并排序算法中, mergeSort(listData,  start, middle); 和mergeSort(listData, middle+  1,  end); 涉及到的算法为(

A.

 搜索算法

B.

 分治算法

C.

 贪⼼算法

D.

 递推算法

第 2 题    单选题

 下⾯代码⽤于归并排序 ,其中 merge() 函数被调⽤次数为(  )。

A.

0

B.

1

C.

6

D.

7

第 3 题    单选题

 下⾯代码中的 isPrimeA() 和 isPrimeB() 都⽤于判断参数 N 是否素数 ,有关其时间复杂度的正确说法是 (  )  。

A.

  isPrimeA() 的最坏时间复杂度是 ,  isPrimeB() 的最坏时间复杂度是     isPrimeA() 。,   

B.

 isPrimeA() 的最坏时间复杂度是 。(N) ,  isPrimeB() 的最坏时间复杂度是 。(N ) , isPrimeB() 优于      isPrimeA() 

C.

  isPrimeA() 的最坏时间复杂度是 。(N-2 ) ,  isPrimeB() 的最坏时间复杂度是 。(N) ,  isPrimeA() 优于     isPrimeB() 

D.

 isPrimeA() 的最坏时间复杂度是 。(logN) , isPrimeB() 的最坏时间复杂度是 。(N) ,  isPrimeA() 优于 isPrimeB()

第 4 题    单选题

 下⾯代码执⾏后的输出是(  )。

A.

 4#3#2#2#4

B.

 4#3#2#2#1#5

C.

 4#3#2#1#2#4

D.

 4#3#2#1#2#5

第 5 题    单选题

 有关下⾯C++代码正确的是(  )。

A.

 checkNum() 函数定义错误。

B.

  输出⾏ A 的语句将导致编译错误。

C.

 输出⾏ B 的语句将导致编译错误。

D.

  该代码没有编译错误。

第 6 题    单选题

 有关下⾯代码正确的是(  )。

A.

 checkNum() 函数定义错误。

B.

  将 isEven 作为 checkNum() 参数将导致错误。

C.

  执⾏后将输出 1 。

D.

  运⾏时触发异常。

第 7 题    单选题

 根据下⾯C++代码的注释 ,两个横线处应分别填⼊(  )。

A.

 compare 和 isOdd(lstA[i])

B.

 compare(x1,y1) 和 isOdd

C.

 compare 和 isOdd

D.

 compare(x1,y1) 和 isOdd(lstA[i])

第 8 题    单选题

 印度古⽼的汉诺塔传说:创世时有三根⾦刚柱 ,其中⼀柱从下往上按照⼤⼩顺序摞着64⽚黄⾦圆盘 ,当圆盘 逐⼀从⼀柱借助另外⼀柱全部移动到另外⼀柱时 ,宇宙毁灭 。移动规则:在⼩圆盘上不能放⼤圆盘 ,在三根柱⼦之   间⼀次只能移动⼀个圆盘 。下⾯的C++代码以递归⽅式实现汉诺塔 ,横线处应填⼊代码是(  )。

A.

 Hanoi(B,  C,  A,  N  -  2)

B.

  Hanoi(B,  A,  C,  N  -  1)

C.

   Hanoi(A,  B,  C,  N  -  2)

D.

   Hanoi(C,  B,  A,  N  -  1)

第 9 题    单选题

 . 归并排序算法的基本思想是(  )。

A.

 将数组分成两个⼦数组 ,分别排序后再合并。

B.

 随机选择⼀个元素作为枢轴 ,将数组划分为两个部分。

C.

 从数组的最后⼀个元素开始 ,依次与前⼀个元素⽐较并交换位置。

D.

 ⽐较相邻的两个元素 ,如果顺序错误就交换位置。

第 10 题    单选题

 有关下⾯代码的说法正确的是(  )。

A.

 上述代码构成单向链表。

B.

  上述代码构成双向链表

C.

 上述代码构成循环链表。

D.

 上述代码构成指针链表。

第 11 题    单选题

 近年来 ,线上授课变得普遍 ,很多有助于改善教学效果的设备也逐渐流⾏ ,其中包括⽐较常⽤的⼿写板 ,那 么它属于

A.

 输⼊

B.

 输出

C.

 控制

D.

 记录

第 12 题    单选题

 .如果 a 和 b 均为 int 类型的变量 ,且 b 的值不为 0  ,那么下列能正确判断“ a 是 b 的3倍” 的表达式是  ( )  。

A.

  (a  >>  3  ==  b)

B.

 (a  -  b)  %  3  ==  0

C.

  (a  /  b  ==  3)

D.

 (a  ==  3  *  b)

第 13 题    单选题

 如果变量 a 和 b 分别为 double 类型和 int 类型 ,则表达式 (a  =  6,  b  =  3  *  (7  +  8)  /  2,  b  +=  a) 的 计算结果为(  

A.

 6

B.

 21

C.

  28

D.

 不确定

第 14 题    单选题

 下⾯C++代码以递归⽅式实现字符串反序 ,横线处应填上代码是(  )。

A.

 sIn[sIn.length()  -  1]  +  sReverse(sIn .substr(0,  sIn.length()  -  1));

B.

 sIn[0]  +  sReverse(sIn .substr(1,  sIn.length()  -  1));

C.

 sReverse(sIn .substr(0,  sIn.length()  -  1))  +  sIn[sIn.length()  -  1];

D.

 sReverse(sIn .substr(1,  sIn.length()  -  1))  +  sIn[sIn.length()  -  1];

第 15 题    单选题

 有关下⾯C++代码说法错误的是(  )。

A.

 sumA() ⽤循环⽅式求从 1 到 N 之和,  sumB() ⽤递归⽅式求从 1 到 N 之和。

B.

 默认情况下 ,如果输⼊正整数 1000  ,能实现求从 1 到 1000 之和。

C.

 默认情况下 ,如果输⼊正整数 100000  ,能实现求从 1 到 100000 之和。

D.

 ⼀般说来,  sumA() 的效率⾼于 sumB() 。

第 16 题    判断题

 TCP/IP的传输层的两个不同的协议分别是UDP和TCP。

A.
正确
B.
错误
第 17 题    判断题

 在特殊情况下流程图中可以出现三角框和圆形框。

A.
正确
B.
错误
第 18 题    判断题

 找出⾃然数 N 以内的所有质数 ,常⽤算法有埃⽒筛法和线性筛法 ,其中埃⽒筛法效率更⾼ 。

A.
正确
B.
错误
第 19 题    判断题

 在C++中 ,可以使⽤⼆分法查找链表中的元素。

A.
正确
B.
错误
第 20 题    判断题

 在C++中 ,通过恰当的实现 ,可以将链表⾸尾相接 ,形成循环链表。

A.
正确
B.
错误
第 21 题    判断题

 贪⼼算法的解可能不是最优解。

A.
正确
B.
错误
第 22 题    判断题

 ⼀般说来, 冒泡排序算法优于归并排序。

A.
正确
B.
错误
第 23 题    判断题

 C++语⾔中的 qsort 库函数是不稳定排序。

A.
正确
B.
错误
第 24 题    判断题

 质数的判定和筛法的⽬的并不相同 ,质数判定旨在判断特定的正整数是否为质数 ,⽽质数筛法意在筛选出范 围内所以质数

A.
正确
B.
错误
第 25 题    判断题

 ⾯的C++代码执⾏后将输出 0  5  1  6  2  3  4  。

A.
正确
B.
错误
第 26 题    问答题


  • 试题名称:巧夺⼤奖
    时间限制: 1.0 s
    内存限制: 128.0 MB
    问题描述
    ⼩明参加了⼀个巧夺⼤奖的游戏节⽬ 。主持⼈宣布了游戏规则:
    1 、游戏分为个时间段 ,参加者每个时间段可以选择⼀个⼩游戏。
    2 、游戏中共有个⼩游戏可供选择。
    3 、每个⼩游戏有规定的时限和奖励 。对于第 个⼩游戏 ,参加者必须在第个时间段结束前完成才能得到奖励 。
    ⼩明发现 ,这些⼩游戏都很简单 ,不管选择哪个⼩游戏 ,他都能在⼀个时间段内完成 。关键问题在于 ,如何安排每 个时间段分别选择哪个⼩游戏 ,才能使得总奖励最⾼?
     输入描述

    输⼊第⼀⾏ ,包含⼀个正整数 。既是游戏时间段的个数 ,也是⼩游戏的个数 。约定1≤n≤500
    输⼊第⼆⾏ ,包含n个正整数 。第 个正整数为  , 即第 个⼩游戏的完成期限  查看答案

第 27 题    问答题


  • 试题名称: 因数分解
    时间限制: 1.0 s
    内存限制: 128.0 MB
    问题描述:
    每个正整数都可以分解成素数的乘积 ,例如: 
    现在 ,给定⼀个正整数  ,请按要求输出它的因数分解式。
    输入描述
    输⼊第⼀⾏ ,包含⼀个正整数  。约定
    输出描述
    输出⼀⾏ ,为 的因数分解式 。要求按质因数由⼩到⼤排列 ,乘号⽤星号*表⽰ ,且左右各空⼀格 。当且仅当⼀个素 数出现多次时 ,将它们合并为指数形式 ,⽤上箭头^表⽰ ,且左右不空格。
    样例输入1
    查看答案