一、单项选择题(共 20 题,每题 1.5 分,共计 30 分;每题有且仅有一个正确选项)
1.在 8 位二进制补码中,10101011 表示的数是十进制下的( )。
A. 43 B. -85 C. -43 D. -84
解析:补码就是符号位不变,其他各位逐位求反再加一
转码工具:https://tool.lu/hexconvert/
原理:https://blog.csdn.net/zhuozuozhi/article/details/80896838
结论:-85 答案B
2.计算机存储数据的基本单位是( )。
A. bit B. Byte C. GB D. KB
送分题,答案B
3.下列协议中与电子邮件无关的是( )。
A. POP3 B. SMTP C. WTO D. IMAP
答案:C
4.分辨率为 800x600、16 位色的位图,存储图像信息所需的空间为( )。
A.937.5KB B. 4218.75KB
C.4320KB D. 2880KB
解析:800*600*16/8=A
5.计算机应用的最早领域是( )。
A. 数值计算 B. 人工智能
C. 机器人 D. 过程控制
解析:送分题
答案:A
6.下列不属于面向对象程序设计语言的是( )。
A. C B. C++ C. Java D. C#
解析:新出的语言都是面向对象的,OOP的,旧的不是,答案A
7.NOI 的中文意思是( )。
A. 中国信息学联赛
B. 全国青少年信息学奥林匹克竞赛
C. 中国青少年信息学奥林匹克竞赛
D. 中国计算机协会
解析:全国青少年信息学奥林匹克竞赛
答案:B
8. 2017年10月1日是星期日,1999年10月1日是( )。
A. 星期三 B. 星期日
C. 星期五 D. 星期二
解析:什么年是闰年?你首先想到的可能是能被4整除的年就是闰年。实际上这是不正确的,公历里闰年的定义是这种:能被400整除的,或者不能被100整除而能被4整除的年就是闰年,换一句话说,非世纪年份中能被4整除的,和世纪年份中能被400整除的是闰年。依照这个定义,公元2000年是闰年,而公元1900年是平年。 可是假设再问你,公元100年是不是闰年?这个是世纪年份,而不能被400整除,所以这个年份是平年,假设你这样想,那你就错了。
我们如今用的公历,是格里高里历,是公元1582年以后通行的,之前记录日期用的是儒略历,和如今用的公历不同,儒略历中闰年的定义非常easy的,能被4整除的是闰年,不能被4整除的是平年。所以,公元100年还处于儒略历时期,所以历史上该年份是闰年。
所以闰年的完整定义是:公元1582年前,能被4整除的年份;公元1582年后,世纪年中能被400整除的,和非世纪年中能被4整除的年份。
总的来说,闰年的定义是比較复杂,远不是一般人以为的那么简单。这不仅是一个数学问题,还是一个历史问题。
2000是闰年,2004,2008,2012,2016年应该者是闰年,共5个,即5个366天,13个非闰年,共13*365+5*366=4745+1830=6575天,6575%7=939余2,因1999年是向前找,所以是星期五,选C
9.甲、乙、丙三位同学选修课程,从 4 门课程中,甲选修 2 门,乙、丙各选修3 门,则不同的选修方案共有( )种。
A. 36 B. 48 C. 96 D. 192
解析:甲有C2/4,即6种,乙、丙每人4种,共6*4*4=96种,答案C
10. 设 G 是有 n 个结点、m 条边(n ≤m)的连通图,必须删去 G 的( )条边,才能使得 G 变成一棵树。
A.m–n+1 B. m-n
C. m+n+1 D.n–m+1
树的边数=点数-1=n-1,所以要删掉m-(n-1)=m-n+1条边。
11. 对于给定的序列{ak},我们把 (i, j) 称为逆序对当且仅当 i < j 且 ai > aj。那么
序列1, 7, 2, 3, 5, 4的逆序对数为()个。
A. 4 B. 5 C. 6 D. 7
12. 表达式a * (b + c) * d的后缀形式是()。
A. abcd*+* B. abc+*d*
C. a*bc+*d D. b+c*a*d
解析:
B
这个这样分析
((a*(b+c))-d) => (a*(b+c)),d,- => a,(b+c),*,d,- => a,b,c,+,*,d,-
后缀表bai达式是把运算符号放在操作数后面du
ABCD/+E*-
计算方法是:
1.把表达式中的zhi每个操作都加括号,(A-((daoB+(C/D))*E))
2.把运算符号移到对应括号后面:
(A((B(CD)/)+)E)*)-
3.去掉括号:
ABCD/+E*-
13. 向一个栈顶指针为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;
14. 若串 S = “copyright”,其子串的个数是( )。
A. 72 B. 45 C. 46 D. 36
15. 十进制小数 13.375 对应的二进制数是( )。
A.1101.011 B. 1011.011
C.1101.101 D. 1010.01
整数部分,1101 = 2^3 + 2^2 + 2^0 = 13,排除BD
小数部分,小数十进制转二进制,就是小数部分不断乘以2直到小数完全消失,计算过程中每次取整数部分作为二进制值。
0.375 * 2 = 0.75 ,取整数部分0
0.75 * 2 = 1.5,取整数部分1,其小数部分0.5参与下次计算
0.5 * 2 = 1,取整数部分1
所以小数部分为011
16. 对于入栈顺序为 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