1、A. 硬盘 B.高速缓存 C.显存 D. RAM11. 在下列关于计算机语言的说法中,正确的有()。A. 高级语言比汇编语言更高级,是因为它的程序的运行效率更高B. 随着 Pascal、C 等高级语言的出现,机器语言和汇编语言已经退出了历史舞台C. 高级语言程序比汇编语言程序更容易从一种计算机移植到另一种计算机上D. C 是一种面向对象的高级计算机语言12. 近 20 年来,许多计算机专家都大力推崇递归算法,认为它是解决较复杂问题的强有力的工具。在下列关于 递归算法的说法中,正确的是()。A. 在 1977 年前后形成标准的计算机高级语言“ FORTRAN77”禁止在程序使用递归,原因之一是该
2、方法可能 会占用更多的内存空间B. 和非递归算法相比,解决同一个问题,递归算法一般运行得更快一些C. 对于较复杂的问题,用递归方式编程一般比非递归方式更难一些D. 对于已经定义好的标准数学函数 sin(x),应用程序中的语句“ y=sin(sin(x);”就是一种递归调用13. 一个无法靠自身的控制终止的循环称为“死循环”,例如,在 C+语言程序中,语句“ while(1) printf(“*”);” 就是一个死循环,运行时它将无休止地打印 *号。下面关于死循环的说法中,只有()是正确的。A. 不存在一种算法,对任何一个程序及相应的输入数据,都可以判断是否会出现死循环,因而,任何编译系统 都不
3、做死循环检验B有些编译系统可以检测出死循环C. 死循环属于语法错误,既然编译系统能检查各种语法错误,当然也应该能检查出死循环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. !=0)&(b!(c!=0) C. !(a=0&b=0)|(c!=0) D. (a=0)&(b=0)&(c=0)16地面上有标号为 A、B、C
4、 的 3 根细柱,在 A 柱上放有 10 个直径相同中间有孔的圆盘,从上到下依次编号为 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,以下逻辑
5、运算表达式值为假的有()。A. (AB)(CDA) B. (AB)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二问题求解(
6、共 2 题,每题 5 分,共计 10 分)1(子集划分)将 n 个数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、的街道是一个很规整的矩形网格(见下图),有 7 条南北向的纵街, 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);cout
8、x,yendl;/ 注:本例中,给定的输入数据可以避免分母为 0 或数组元素下标越界。输入:6 6 5 5 3 输出:_2void 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); coutab#include math.hint a151=0;int i,j,t,t2,n=50;for (i=2;=sqrt(n);i+)if(a1i=0) t2=n/i;for(j=2;j=t2;j+) a1i*j=1;t=0;=n;i+) if(a1i=0)setw(4)i; t
9、+; if(t%10=0) cout输出: _4.ctype.hvoid expand(char s1,char s2)int i,j,a,b,c;j=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) 用于判断字符/b 是否为数 字,如果是,返回 1,否则返回 0j-;do s2j+=a+;while(tolower(a)s1;expand(s1,s2);s2int
10、maxline=200,kz;int reverse(char s) int i,j,t;for(i=0,j=strlen(s)-1; ikz;while( ) line; ;line 2. (棋盘覆盖问题)在一个 2k 2k 个方格组成的棋盘中恰有一个方格与其他方格不同(图中标记为 -1 的 方格),称之为特殊方格。现用 L 型(占 3 个小格)纸片覆盖棋盘上除特殊方格的所有部分,各纸片不得重叠, 于是,用到的纸片数恰好是 (4k-1) /3 。在下表给出的一个覆盖方案中, k=2,相同的 3 个数字构成一个纸片。 下面给出的程序是用分治法设计的,将棋盘一分为四,依次处理左上角、右上角、左下
11、角、右下角,递归进行。 请将程序补充完整。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);boardtr+s-1tc+s-1=t; ;if(dr=tc+s) chessboard(tr,tc+s,dr,dc,s);boardtr+s-1tc+s=t; ;if(dr=tr+s & dctc+s)
12、 chessboard(tr+s,tc,dr,dc,s);boardtr+stc+s-1=t; ;=tc+s) chessboard(tr+s,tc+s,dr,dc,s);boardtr+stc+s=t; ;void prt1(int b65,int n)int i,j;for(i=1;for(j=1;j+) setw(3)bij; void main()int size,dr,dc; coutdc;boarddrdc=-1;tile+;chessboard(1,1,dr,dc,size);prt1(board,size);NOIP2007 年普及组(C+语言)参考答案与评分标准一、单项选择题
13、:(每题 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 23 2931 37 41 43 474. wer2345defgh45456782qqq四、完善程序(前 4 空(-),每空 2.5 分,后 6 空(-),每空 3 分)(说明:以下各程序填空可能还有一些等价的写法,各省可请本省专家审定和上机验证,不一定上报科学委员 会审查)1 i+ j- kz!=-1 reverse(line)2. return drtc+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