NOIP2017普及组初赛试题及答案

一、单项选择题(共 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

解析:https://baike.baidu.com/item/%E7%94%B5%E5%AD%90%E9%82%AE%E4%BB%B6%E5%8D%8F%E8%AE%AE/4105152?fr=aladdin

答案: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

 

 

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值