ImageVerifierCode 换一换
格式:DOCX , 页数:10 ,大小:25.40KB ,
资源ID:8700184      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8700184.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(noip初赛普及组C++试题 及答案.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

noip初赛普及组C++试题 及答案.docx

1、noip初赛普及组C+试题 及答案第十三届全国青少年信息学奥林匹克联赛初赛试题NOIP2007 初赛试题(普及组 C+ 二小时完成)一、单项选择题(共 20 题,每题 1.5 分,共计 30 分。每题有且仅有一个正确答案)。1. 在以下各项中,()不是 CPU 的组成部分。A. 控制器 B.运算器 C.寄存器 D.主板2在关系数据库中,存放在数据库中的数据的逻辑结构以()为主。A. 二叉树 B.多叉树 C.哈希表 D.二维表3在下列各项中,只有()不是计算机存储容量的常用单位。A. Byte B. KB C.UB D.TB4ASCII 码的含义是()。A. 二十进制转换码 B.美国信息交换标准

2、代码 C. 数字的二进制编码 D.计算机可处理字符的唯一编码5.一个完整的计算机系统应包括()。A.系统硬件和系统软件 B.硬件系统和软件系统C. 主机和外部设备 D.主机、键盘、显示器和辅助存储器6. IT 的含义是()。A. 通信技术 B.信息技术 C.网络技术 D.信息学7LAN 的含义是()。A. 因特网 B.局域网 C.广域网 D.城域网8. 冗余数据是指可以由其他数据导出的数据,例如,数据库中已存放了学生的数学、语文和英语的三科成绩, 如果还存放三科成绩的总分,则总分就可以看作冗余数据。冗余数据往往会造成数据的不一致,例如,上面 4 个数据如果都是输入的,由于操作错误使总分不等于三

3、科成绩之和,就会产生矛盾。下面关于冗余数据的说法 中,正确的是()。A. 应该在数据库中消除一切冗余数据B. 用高级语言编写的数据处理系统,通常比用关系数据库编写的系统更容易消除冗余数据C. 为了提高查询效率,在数据库中可以适当保留一些冗余数据,但更新时要做相容性检验D. 做相容性检验会降低效率,可以不理睬数据库中的冗余数据9.在下列各软件中,不属于 NOIP 竞赛(复赛)推荐使用的语言环境有()。A. gcc B. g+ C. Turbo C D. free pascal10. 以下断电之后仍能保存数据的有()。A. 硬盘 B.高速缓存 C.显存 D. RAM11. 在下列关于计算机语言的说

4、法中,正确的有()。A. 高级语言比汇编语言更高级,是因为它的程序的运行效率更高B. 随着 Pascal、C 等高级语言的出现,机器语言和汇编语言已经退出了历史舞台C. 高级语言程序比汇编语言程序更容易从一种计算机移植到另一种计算机上D. C 是一种面向对象的高级计算机语言12. 近 20 年来,许多计算机专家都大力推崇递归算法,认为它是解决较复杂问题的强有力的工具。在下列关于 递归算法的说法中,正确的是()。A. 在 1977 年前后形成标准的计算机高级语言“ FORTRAN77”禁止在程序使用递归,原因之一是该方法可能 会占用更多的内存空间B. 和非递归算法相比,解决同一个问题,递归算法一

5、般运行得更快一些C. 对于较复杂的问题,用递归方式编程一般比非递归方式更难一些D. 对于已经定义好的标准数学函数 sin(x),应用程序中的语句“ y=sin(sin(x);”就是一种递归调用13. 一个无法靠自身的控制终止的循环称为“死循环”,例如,在 C+语言程序中,语句“ while(1) printf(“*”);” 就是一个死循环,运行时它将无休止地打印 *号。下面关于死循环的说法中,只有()是正确的。A. 不存在一种算法,对任何一个程序及相应的输入数据,都可以判断是否会出现死循环,因而,任何编译系统 都不做死循环检验B有些编译系统可以检测出死循环C. 死循环属于语法错误,既然编译系统

6、能检查各种语法错误,当然也应该能检查出死循环D. 死循环与多进程中出现的“死锁”差不多,而死锁是可以检测的,因而,死循环也可以检测的14在 C+程序中,表达式 23|25 的值是()A. 23 B. 1 C.32 D.1815在 C+程序中,判断 a 等于 0 或 b 等于 0 或 c 等于 0 的正确的条件表达式是()A. !(a!=0)|(b!=0)|(c!=0) B. !(a!=0)&(b!=0)&(c!=0) C. !(a=0&b=0)|(c!=0) D. (a=0)&(b=0)&(c=0)16地面上有标号为 A、B、C 的 3 根细柱,在 A 柱上放有 10 个直径相同中间有孔的圆盘

7、,从上到下依次编号为 1,2,3,将 A 柱上的部分盘子经过 B 柱移入 C 柱,也可以在 B 柱上暂存。如果 B 柱上的操作 记录为:“进,进,出,进,进,出,出,进,进,出,进,出,出”。那么,在 C 柱上,从下到上的盘子的 编号为( )。A. 2 4 3 6 5 7 B. 2 4 1 2 5 7 C. 2 4 3 1 7 6 D. 2 4 3 6 7 517. 与十进制数 1770 对应的八进制数是()。A. 3350 B. 3351 C. 3352 D. 354018. 设 A=B=true,C=D=false,以下逻辑运算表达式值为假的有()。A. (AB)(CDA) B. (AB)

8、C)D) C. A(BCD)D D. (A(DC) B19. (2070)16 + (34)8 的结果是()。A. (8332)10 B. (208A)16 C. (100000000110)2 D. (20212)820. 已知 7 个结点的二叉树的先根遍历是 1 2 4 5 6 3 7(数字为结点的编号,以下同),中根遍历是 4 2 6 5 1 7 3, 则该二叉树的后根遍历是()A. 4 6 5 2 7 3 1 B. 4 6 5 2 1 3 7 C. 4 2 3 1 5 4 7 D. 4 6 5 3 1 7 2二问题求解(共 2 题,每题 5 分,共计 10 分)1(子集划分)将 n 个

9、数1,2, n划分成 r 个子集。每个数都恰好属于一个子集,任何两个不同的子集 没有共同的数,也没有空集。将不同划分方法的总数记为 S(n,r)。例如, S(4,2)=7,这 7 种不同的划分方法依次为 (1),(234), (2),(134), (3),(124), (4),(123),(12),(34), (13),(24), (14),(23)。当 n=6,r=3 时,S(6,3)= _。(提示:先固定一个数,对于其余的 5 个数考虑 S(5,3)与 S(5,2),再分这两种情况对原固定的数进行分析)。2(最短路线)某城市的街道是一个很规整的矩形网格(见下图),有 7 条南北向的纵街,

10、5 条东西向的横 街。现要从西南角的 A 走到东北角的 B,最短的走法共有多少种? _. 三阅读程序写结果(共 4 题,每题 8 分,共计 32 分)1.#include void main() int i,p5,a,b,c,x,y=20; for(i=0;ipi; a=(p0+p1)+(p2+p3+p4)/7; b=p0+p1/(p2+p3)/p4); c=p0*p1/p2;x=a+b-p(p3+3)%4;if(x10)y+= (b*100-a)/(pp4%3*5);elsey+=20+(b*100-c)/(pp4%3*5);coutx,yendl;/ 注:本例中,给定的输入数据可以避免分母

11、为 0 或数组元素下标越界。输入:6 6 5 5 3 输出:_2#include void fun(int *a,int *b) int *k;k=a; a=b; b=k;void main( ) int a=3, b=6, *x=&a, *y=&b; fun(x,y); couta,bendl;输出:_3#include #include #include math.hvoid main() int a151=0;int i,j,t,t2,n=50;for (i=2;i=sqrt(n);i+)if(a1i=0) t2=n/i;for(j=2;j=t2;j+) a1i*j=1;t=0;for

12、(i=2;i=n;i+) if(a1i=0)coutsetw(4)i; t+; if(t%10=0) coutendl;coutendl; 输出: _4.#include #include ctype.hvoid expand(char s1,char s2)int i,j,a,b,c;j=0; for(i=0;(c=s1i)!=0;i+) if(c=-) a=s1i-1; b=s1i+1;if ( isalpha(a) & isalpha(b) | isdigit(a) & isdigit(b) ) /函数 isalpha(a)用于判断字符 a 是否为字母, isdigit(b) 用于判断字

13、符/b 是否为数 字,如果是,返回 1,否则返回 0j-;do s2j+=a+; while(tolower(a)s1; expand(s1,s2); couts2endl;输入:wer2345d-h454-82qqq输出:_四完善程序 (前 4 空,每空 2.5 分,后 6 空,每空 3 分,共 28 分)1(求字符串的逆序)下面的程序的功能是输入若干行字符串,每输入一行,就按逆序输出该行,最后 键入-1 终止程序。#include #include int maxline=200,kz; int reverse(char s) int i,j,t;for(i=0,j=strlen(s)-1

14、; ij; , )t=si; si=sj; sj=t;return 0;void main() char line100;coutcontinue? -1 for end.kz;while( ) cinline; ;coutlineendl;coutcontinue? -1 for end.kz; 2. (棋盘覆盖问题)在一个 2k 2k 个方格组成的棋盘中恰有一个方格与其他方格不同(图中标记为 -1 的 方格),称之为特殊方格。现用 L 型(占 3 个小格)纸片覆盖棋盘上除特殊方格的所有部分,各纸片不得重叠, 于是,用到的纸片数恰好是 (4k-1) /3 。在下表给出的一个覆盖方案中, k=

15、2,相同的 3 个数字构成一个纸片。 下面给出的程序是用分治法设计的,将棋盘一分为四,依次处理左上角、右上角、左下角、右下角,递归进行。 请将程序补充完整。#include #include int board6565,tile; / tile 为纸片编号void chessboard(int tr,int tc,int dr,int dc,int size)/ dr,dc 依次为特殊方格的行、列号int t,s;if (size=1) ; t=tile+; s=size/2;if( ) chessboard(tr,tc,dr,dc,s);elseboardtr+s-1tc+s-1=t; ;i

16、f(dr=tc+s) chessboard(tr,tc+s,dr,dc,s);elseboardtr+s-1tc+s=t; ;if(dr=tr+s & dc=tr+s & dc=tc+s) chessboard(tr+s,tc+s,dr,dc,s);elseboardtr+stc+s=t; ; void prt1(int b65,int n)int i,j;for(i=1;i=n;i+)for(j=1;j=n;j+) coutsetw(3)bij; coutendl; void main()int size,dr,dc; coutinput size(4/8/16/64):size;couti

17、nput the position of special block(x,y):drdc; boarddrdc=-1; tile+;chessboard(1,1,dr,dc,size);prt1(board,size);NOIP2007 年普及组(C+语言)参考答案与评分标准一、单项选择题:(每题 1.5 分)1.5 D D C B B 610BBC C A1115 C A A A B 1620 D C D A A二、问题求解:(每题 5 分)1902210三、阅读程序写结果1. 15, 46(对 1 个数给 4 分,无逗号扣 1 分)2. 3, 63. 2 3 5 7 11 13 17 19

18、 23 2931 37 41 43 474. wer2345defgh45456782qqq四、完善程序(前 4 空(-),每空 2.5 分,后 6 空(-),每空 3 分)(说明:以下各程序填空可能还有一些等价的写法,各省可请本省专家审定和上机验证,不一定上报科学委员 会审查)1 i+ j- kz!=-1 reverse(line)2. return drtr+s & dctc+s chessboard(tr,tc,tr+s-1,tc+s-1,s) chessboard(tr,tc+s,tr+s-1,tc+s,s) chessboard(tr+s,tc,tr+s,tc+s-1,s) chessboard(tr+s,tc+s,tr+s,tc+s,s)

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1