2017 NOIP普及组C++竞赛试题精析:涵盖关键知识点

1星 需积分: 33 35 下载量 28 浏览量 更新于2024-09-07 1 收藏 848KB PDF 举报
NOIP 2017信息学奥赛普及组C++试题是一份针对全国青少年信息学奥林匹克联赛初赛的题目集,比赛于2017年10月14日举行。这份试卷主要考察参赛者的C++编程技能以及基础的计算机理论知识,包括但不限于二进制补码、数据存储单位、网络协议、图像存储、计算机历史、面向对象编程、竞赛名称翻译、日期计算、组合数学、图论和算术表达式转换。 部分试题解析如下: 1. 在8位二进制补码中,10101011是一个带符号的整数,最高位为符号位,1表示负数。二进制补码的计算规则是将正数的补码取反加1,所以10101011对应的十进制数是-(10101011-1)=-(1*128+0*64+1*32+0*16+1*8+0*4+1*2+1*1)=-(129+1)=-128+1=-127,但因为是8位,最左边的位表示-128,实际数值是128+1=129,但这里表示为-85(可能是题目选项错误,正常情况应该是-84)。 2. 计算机存储数据的基本单位是Byte,即字节,它包含8位二进制。 3. 与电子邮件相关的协议包括POP3(Post Office Protocol version 3,邮件接收协议)、SMTP(Simple Mail Transfer Protocol,邮件发送协议)和IMAP(Internet Message Access Protocol,邮件访问协议)。而WTO(World Trade Organization)是世界贸易组织,与电子邮件无关。 4. 图像分辨率800x600表示水平像素和垂直像素数量,16位色意味着每个像素由16位二进制表示颜色信息,所以存储空间为800x600x16/8(位转换为字节)=960000/8=120000字节,约等于115.2KB,最接近的选项是A.937.5KB。 5. 计算机应用的最早领域是数值计算,用于处理大量复杂的数学运算。 6. 面向对象程序设计语言包括C++、Java和C#,它们都支持面向对象的特性,而C是结构化编程语言,虽然不是纯面向对象,但也可以通过封装和抽象来实现类似的功能。 7. NOI的中文意思是“全国青少年信息学奥林匹克竞赛”。 8. 从2017年10月1日往后推算18年,10月1日是星期日,1999年10月1日往前推2000年,1999年10月1日同样为星期日。 9. 甲选2门,乙丙各选3门,总共有4门课程,所以甲的选择有C(4,2)种,乙丙两人共有C(4,3)×C(1,1),因为他们的选择可以互换,所以总数要除以2。计算得到不同的选修方案共有(C(4,2)/2)×C(4,3)=6×4=24种,对应选项B.48。 10. 连通图G变成一棵树,即G减少边后成为有n个节点的树,树有n-1条边,所以需要删除的边数为原边数减去n-1,即m-(n-1)=m-n+1。 11. 序列1,7,2,3,5,4的逆序对可以通过枚举法计算,逆序对为(7,2), (7,3), (7,5), (7,4), (5,4),共5个。 12. 表达式a*(b+c)*d的后缀表示是将运算符放在操作数之后,所以是abc+*d*。 这些题目涵盖了基础的数据结构、算法、计算机基础知识和编程语言运用,是检验参赛者信息学综合能力的重要部分。