单选题(每题2分,一共15题)
1、在 8 位二进制中,10101011 的补码表示的数是十进制下的( )。
A.43
B.-85
C.-43
D.-84
2、计算机存储数据的基本单位是( )
A.bit
B.Byte
C.GB
D.KB
3、分辨率为 800×600、16 位色的位图,存储图像信息所需的空间为( )。
A.937.5KB
B.4218.75KB
C.4320KB
D.2880KB
4、计算机应用的最早领域是( )。
A.数值计算
B.人工智能
C.机器人
D.过程控制
5、下列不属于面向对象程序设计语言的是( )。
A.C
B.C++
C.Java
D.C#
6、2017 年 10 月 1 日是星期日,1999 年 10 月 1 日是( )。
A.星期三
B.星期日
C.星期五
D.星期二
7、甲、乙、丙三位同学选修课程,从 4 门课程中,甲选修 2 门,乙、丙各选修 3 门,则不同的选修方案共有( )种。
A.36
B.48
C.96
D.192
8、设 G 是有 n 个结点、m 条边(n ≤ m)的连通图,必须删去 G 的( )条 边,才能使得 G 变成一棵树。
A.m – n + 1
B.m – n
C.m + n + 1
D.n – m + 1
9、表达式 a * (b + c) * d 的后缀形式是( )。
A.a b c d * + *
B.a b c + * d *
C.a * b c + * d
D.b + c * a * d
10、向一个栈顶指针为hs的链式栈中插入一个指针s指向的结点时,应执行( )。
A.hs->next = s;
B.s->next = hs; hs = s;
C.s->next = hs->next; hs->next = s;
D.s->next = hs; hs = hs->next;
11、若串 S = “copyright”,其子串的个数是( )。
A.72
B.45
C.46
D.36
12、十进制小数 13.375 对应的二进制数是( )。
A.1101.011
B.1011.011
C.1101.101
D.1010.01
13、对于入栈顺序为 a, b, c, d, e, f, g 的序列,下列( )不可能是合法的出栈序列。
A.a, b, c, d, e, f, g
B.a, d, c, b, e, g, f
C.a, d, b, c, g, f, e
D.g, f, e, d, c, b, a
14、设 A 和 B 是两个长为 n 的有序数组,现在需要将 A 和 B 合并成一个排好序的数组,任何以元素比较作为基本运算的归并算法在最坏情况下至少要做 ( )次比较。
A.n2
B.nlogn
C.2n
D.2n-1
15、一家四口人,至少两个人生日属于同一月份的概率是( )(假定每个人 生日属于每个月份的概率相同且不同人之间相互独立)。
A.1/12
B.1/144
C.41/96
D.3/4
阅读程序一:选择题(每题1.5分,正确的选T,错误的选F)
(1)第7行输入的字符串如果包括数字、各类符号,可能运行错误。()
(2)如果length1<length2,输出为”<“。()
(3)如果去掉第13行、第16行,输出结果不变。()
(4)如果s1和s2中的各个字符互不相同,则输出一定不为“=”。()
选择题(每题3分)
(5)如果输入 Welcome 与 Chinese ,输出的结果是()
A.<
B.=
C.>
D.0
(6)如果字符串的长度为n,则算法的时间复杂度为()
A.O(1)
B.O(n)
C.O(n2)
D.O(nlogn)
阅读程序二:选择题(每题1.5分,正确的选T,错误的选F)
(1)输入的字符串长度必须小于200,否则可能会出现运行错误。()
(2)若输入字符串为1001101011001101101011110001,则输出结果为11。()
(3)去掉第12行,程序一定可以正常运行。()
(4)输入的字符串必须由 01 字符组成。()
选择题(每题3分)
(5)如果输入 1010101010101010101 则输出结果为()
A.8
B.9
C.10
D.11
(6)程序的时间复杂度为()
A.O(1)
B.O(nlogn)
C.O(n)
D.O(n2)
阅读程序三:选择题(每题1.5分,正确的选T,错误的选F)
(1)将第7行<改为<=,程序会出现运行错误。()
(2)本题输入0 0,不会出现运行错误。()
(3)本题不可能输出0。()
(4)solve()函数的时间复杂度是O(n*m)()
选择题(每题3分)
(5)如果输入7 4,则输出()。
A.11
B.20
C.12
D.21
(6)如果输入10 0,则输出()
A.0
B.1
C.2
D.3
完善程序一:(坐标统计)输入 n 个整点在平面上的坐标。对于每个点,可以控制所有位于它左下方的点(即 x,y坐标都比它小),它可以控制的点的数目称为“战斗力”。依次输出每个点的战斗力,最后输出战斗力最高的点的编号(如果若干个点的战斗力并列最高,输出其中最大的编号)。(1)①处应填写()
A. 0
B. i
C. x[i]
D. y[i]
(2)②处应填写()
A. y[j] > y[i]
B. y[j] >= y[i]
C. y[j] < y[i]
D. y[j] <= y[i]
(3)③处应填写()
A. f[i]=0
B. f[i]++
C. f[i]=x[i]
D. f[i]=y[i]
(4)④处应填写()
A. f[i] <= max_f
B. f[i] < max_f
C. f[i] > max_f
D. f[i] >= max_f
(5)⑤处应填写()
A. ans = 0
B. ans = i
C. ans = f[i]
D. ans = max_f
完善程序二:(打印日历) 输入月份 (1≤m≤12),按一定格式打印 2015 年第 m 月的月历。
例如,2015 年 1 月的月历打印效果如下(第一列为周日):(1)①处应填写()
A.offset = 4
B.offset = 3
C.offset = 5
D.offset = 1
(2)②处应填写()
A.(offset + dayNum[i]) % 7
B.offset % 7
C.dayNum[i] % 7
D.dayNum[i] / 7
(3)③处应填写()
A.m
B.dayNum[m]
C.m
D.m*m
(4)④处应填写()
A.i – 1
B.i + 1
C.i
D.dayNum[i]
(5)⑤处应填写()
A.(offset + dayNum[i]) % 7
B.offset % 7
C.dayNum[i] % 7
D.(offset + i) % 7