1、 第十二届全国青少年信息学奥林匹克联赛初赛试题 2006( 普及组 C+ 语言二小时完成 ) 全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效 一、 单项选择题 (共20题,每题1.5分,共计30分。每题有且仅有一个正确答案.)1. 在下面各世界顶级的奖项中,为计算机科学与技术领域做出杰出贡献的科学家设立的奖项是( )。 A. 沃尔夫奖 B. 诺贝尔奖 C. 菲尔兹奖 D. 图灵奖 2. 在下列各软件中,不属于NOIP竞赛(复赛)推荐使用的语言环境有( )。A. gcc/g+ B. Turbo Pascal C. RHIDE D. free pascal 3. 以下断电之后仍能保存数据的有
2、( )。 A. 寄存器 B. ROM C. RAM D. 高速缓存4Linux是一种( )。A. 绘图软件 B. 程序设计语言 C. 操作系统 D. 网络浏览器5. CPU是( )的简称。A. 硬盘 B. 中央处理器 C. 高级程序语言 D. 核心寄存器6. 在计算机中,防火墙的作用是( )。A. 防止火灾蔓延 B.防止网络攻击C. 防止计算机死机 D. 防止使用者误删除数据7. 在下列关于计算机语言的说法中,不正确的是( )。 A. Pascal和C都是编译执行的高级语言B. 高级语言程序比汇编语言程序更容易从一种计算机移植到另一种计算机上C. C+是历史上的第一个支持面向对象的计算机语言D
3、. 与汇编语言相比,高级语言程序更容易阅读8. 在下列关于计算机算法的说法中,不正确的是( )。 A. 一个正确的算法至少要有一个输入B. 算法的改进,在很大程度上推动了计算机科学与技术的进步C. 判断一个算法的好坏的主要标准是算法的时间复杂性与空间复杂性 D. 目前仍然存在许多涉及到国计民生的重大课题,还没有找到能够在计算机上实施的有效算法9. 在下列各种排序算法中,不是以“比较”作为主要操作的算法是( )。 A. 选择排序 B. 冒泡排序 C. 插入排序 D. 基数排序10在编程时(使用任一种高级语言,不一定是C+),如果需要从磁盘文件中输入一个很大的二维数组(例如1000*1000的do
4、uble型数组),按行读(即外层循环是关于行的)与按列读(即外层循环是关于列的)相比,在输入效率上( )。A. 没有区别 B. 按行读的方式要高一些C. 按列读的方式要高一些 D. 取决于数组的存储方式。11在C+ 中,表达式212的值是( ) A. 441 B. 42 C.23 D.24 12在C+ 中,判断a不等于0且b不等于0的正确的条件表达式是( ) A. !a=0 | !b=0 B. !(a=0) for(i=0;iui; a=(u0+u1+u2+u3)/7; b=u0/(u1-u2)/u3); x=(u0+a+2)-u(u3+3)%4; if(x10) y+= (b*100-u3)
5、/(uu0%3*5); else y+=20+(b*100-u3)/(uu0%3*5); cout void main() int i,j,m=2,3,5,7,13; long t; for (i=0;i0) j-; return j; void main() char sN+1; int k; for(k=1;k #include void digit(long n,long m) if(m0) cout 1) digit(n/10,m/10); cout x; x2=1; while(x2 #include int n,a10; / a1,a2,an构成n个数的一个排列long count
6、=0; / 变量count记录不同排列的个数,这里用于控制换行void perm(int k) int j,p,t; if( ) count+; for(p=1;pn; for(i=1;i #include void main() long p,a,b,c,t,n; while (1) cout p; if (p%2!=0) a=0; n=0; while (a0); coutendl“n=“ endl; 参考答案一 选择题DBBCB BCADD CDCBC BBACB二 问题解答1. 4 次(1 分)第一步:分成 3 组:27,27,26,将前两组放在天平上(4 分)2. 有获胜策略(1 分
7、),第 1 次在第 5 堆中取 32 颗石子(4 分),。三 阅读程序1. 10,10(对 1 个数给 4 分,无逗号扣 1 分)2. 6 28 496 8128 33550336 (前 2 个对 1 个数给 1 分,后 3 个对 1 个数给 2 分)3. 54. 6 2 5 4 3 7 9 9 7 3 4 5 2 6(数字之间无空格扣 2 分) 四完善程序1.(1) k=n (或 n=k ) (2)count mod 5=0(3)perm(k+1)(4)ak:=aj;aj:=t (5)perm(1)2.(6)break(7)t mod 50=0(8)a-p*b (或 a-b*p )(9)c*10+1 (或 10*c+1)(10)n