计算机科学与程序设计基础能力测试卷

本试卷共15道单项选择题,每题5分,满分75分。请仔细阅读题目,从四个选项中选出最恰当的一个答案。考试旨在考察您对计算机基础、C++程序设计、数据结构与算法、离散数学等核心知识的掌握情况,祝您考试顺利!

Q1:一个 32 位无符号整数可以表示的最大值,最接近下列哪个选项?()

A.4 × 10^9
B.3 × 10^10
C.2 × 10^9
D.2 × 10^10

Q2:在 C++ 中,执行 int x = 255; cout (x & (x - 1)); 后,输出的结果是?()

A.255
B.254
C.128
D.0

Q3:函数 calc(n) 的定义如下,则 calc(5) 的返回值是多少?()[图片]

A.5
B.6
C.7
D.8

Q4:用 5 个权值 10, 12, 15, 20, 25 构造哈夫曼树,该树的带权路径长度是多少?()

A.176
B.186
C.196
D.206

Q5:在一个有向图中,所有顶点的入度之和等于所有顶点的出度之和,这个总和等于?()

A.顶点数
B.边数
C.顶点数 + 边数
D.顶点数 × 2

Q6:从 5 位男生和 4 位女生中选出 4 人组成一个学习小组,要求学习小组中男生和女生都有。有多少种不同的选法?()

A.126
B.121
C.120
D.100

Q7:假设 a, b, c 都是布尔变量,逻辑表达式 (a && b) || (!c && a) 的值与下列哪个表达式不始终相等?()

A.a && (b || !c)
B.(a || !c) && (b || !c) && (a || a)
C.a && (!b || c)
D.!(!a || !b) || (a && !c)

Q8:已知 f [0] = 1, f [1] = 1,并且对于所有 n ≥ 2 有 f [n] = (f [n‑1] + f [n‑2]) % 7。那么 f [2025] 的值是多少?()

A.2
B.4
C.5
D.6

Q9:下列关于 C++ string 类的说法,正确的是?()

A.string 对象的长度在创建后不能改变。
B.可以使用 + 运算符直接连接一个 string 对象和一个 char 类型的字符。
C.string 的 length () 和 size () 方法返回的值可能不同。
D.string 对象必须以 '\0' 结尾,且这个结尾符计入 length ()。

Q10:考虑以下 C++ 函数:[图片]在 main 函数调用 solve 后,x 和 y 的值分别是?()

A.5,10
B.10,5
C.10,10
D.5,5

Q11:一个 8×8 的棋盘,左上角坐标为 (1,1),右下角为 (8,8)。一个机器人从 (1,1) 出发,每次只能向右或向下走一格。要到达 (4,5),有多少种不同的路径?

A.20
B.35
C.56
D.70

Q12:某同学用冒泡排序对数组 {6,1,5,2,4} 进行升序排序,请问需要进行多少次元素交换?

A.5
B.6
C.7
D.8

Q13:十进制数 720 和八进制数 270 的和用十六进制表示是多少?

A.388
B.3DE
C.288
D.990

Q14:一棵包含 1000 个结点的完全二叉树,其叶子结点的数量是多少?

A.499
B.512
C.500
D.501

Q15:给定一个初始为空的整数栈 S 和一个空的队列 P。我们按顺序处理输入的整数队列 A: 7,5,8,3,1,4,2。对于队列 A 中的每一个数,执行以下规则:如果该数是奇数,则将其压入栈 S;如果该数是偶数,且栈 S 非空,则弹出一个栈顶元素,并加入到队列 P 的末尾;如果该数是偶数,且栈 S 为空,则不进行任何操作。当队列 A 中的所有数都处理完毕后,队列 P 的内容是什么?

A.5,1,3
B.7,5,3
C.3,1,5
D.5,1,3,7

:阅读程序(程序输入不超过数组或字符串定义的范围;判断题正确填 A,错误填 B;除特殊说明外,判断题 1.5 分,选择题 3 分,共计 40 分)

:[图片]

Q16:当输入为 2 时,程序并不会执行第 16 行的判断语句。( )

正确
错误

Q17:将第 16 行中的 && gcd(i,k)==1 删去不会影响程序运行结果。( )

正确
错误

Q18:(错题,请选择 B 获得分数)当输入的 n≥3 的时候,程序总是输出一个正整数。( )

正确
错误

Q19:将第 7 行的 gcd(b, a%b) 改为 gcd(a, a%b) 后,程序可能出现的问题是( )。

A.输出的答案大于原答案。
B.输出的答案小于原答案。
C.程序有可能陷入死循环。
D.可能发生整型溢出问题。

Q20:当输入为 8 的时候,输出为( )。

A.37
B.42
C.35
D.25

Q21:调用 gcd(36,42) 会返回( )。

A.6
B.252
C.3
D.2

:分割线

:[图片]

Q22:当输入为 3 1 3 2 1 时,输出结果为 2。( )

正确
错误

Q23:假设输入的 n 为正整数,输出的答案一定小于等于 n,大于等于 1。( )

正确
错误

Q24:将第 14 行的 n = std::unique(a + 1, a + n + 1) - a - 1; 删去后,有可能出现与原本代码不同的输出结果。( )

正确
错误

Q25:假设输入的 a 数组和 k 均为正整数,执行第 18 行代码时,一定满足的条件不包括( )。

A.j<i
B.a[i]−a[j]>k
C.j<n
D.a[j]<a[i]

Q26:当输入的 n=100、k=2、a={1,2,…,100} 时,输出为( )。

A.34
B.100
C.50
D.33

Q27:假设输入的 a 数组和 k 均为正整数,但 a 数组不一定有序,则若误删去第 13 行的 std::sort(a + 1, a + n + 1);,程序有可能出现的问题有( )。

A.输出的答案比原本答案更大
B.输出的答案比原本答案更小
C.出现死循环行为
D.以上均可能发生

:分割线

:[图片]

Q28:当输入 4 1 2 3 4 1 3 2 2 时,输出为 2。( )

是
否

Q29:当程序运行完毕后,对于所有的 1≤ i , j ≤n,都一定有 f[i][j]≤f[n][n]。( )

是
否

Q30:将第 18 行的 f[i][j] = std::max(f[i][j], std::max(f[i-1][j], f[i][j-1])); 删去后,并不影响程序运行结果。( )

是
否

Q31:输出的答案满足的性质有( )。

A. 小于等于 n
B. 大于等于 0
C. 不一定大于等于 1
D. 以上均是

Q32:如果在 16 行的循环前加上以下两行:std::sort(a+1, a+n+1);  std::sort(b+1, b+n+1);则答案会( )。

A. 变大或不变
B. 变小或不变
C. 一定变大
D. 不变

Q33:请选择一个选项

A.选项1
B.选项2
C.选项3
D.选项4
计算机科学与程序设计基础能力测试卷
关于
1个月前
更新
0
频次
39
题目数
分享
问问AI
有问题?问问AI帮你修改 改主题:如咖啡问卷改为奶茶问卷