20089至20113全国计算机C语言真题及答案

申明敬告: 本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。

文档介绍

20089至20113全国计算机C语言真题及答案

2008年9月二级C语言笔试真题及答案(考试时间:120分钟,满分100分)一、选择题((1)~(10)、(21)~(40)每题2分,(11)~(20)每题1分,70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。(1)一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是()。A)12345ABCDEB)EDCBA54321C)ABCDE12345D)54321EDCBA(2)下列叙述中正确的是()。A)循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B)在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C)在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D)循环队列中元素的个数是由队头指针和队尾指针共同决定(3)在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是()。A)O(n)B)O(n2)C)O(log2n)D)O(nlog2n)(4)下列叙述中正确的是()。A)顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的B)顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C)顺序存储结构能存储有序表,链式存储结构不能存储有序表D)链式存储结构比顺序存储结构节省存储空间(5)数据流图中带有箭头的线段表示的是()。A)控制流B)事件驱动C)模块调用D)数据流(6)在软件开发中,需求分析阶段可以使用的工具是()。A)N-S图B)DFD图C)PAD图D)程序流程图(7)在面向对象方法中,不属于“对象”基本特点的是()。A)一致性B)分类性C)多态性D)标识唯一性(8)一间宿舍可住多个学生,则实体宿舍和学生之间的联系是()。A)一对一B)一对多C)多对一D)多对多(9)在数据管理技术发展的三个阶段中,数据共享最好的是()。A)人工管理阶段B)文件系统阶段C)数据库系统阶段D)三个阶段相同(10)有三个关系R、S和T如下:nRSTABBCABCm113m13n235由关系R和S通过运算得到关系T,则所使用的运算为()。A)笛卡尔积B)交C)并D)自然连接(11)以下叙述中正确的是()。A)C程序的基本组成单位是语句B)C程序中的每一行只能写一条语句二级C语言程序设计试卷第2页(共9页)C)简单C语句必须以分号结束D)C语句必须在一行内写完(12)计算机能直接执行的程序是()。A)源程序B)目标程序C)汇编程序D)可执行程序(13)以下选项中不能作为C语言合法常量的是()。A)'cd'B)0.1e+6C)"a"D)'11'(14)以下选项中正确的定义语句是()。A)doublea;b;B)doublea=b=7;C)doublea=7,b=7;D)double,a,b;(15)以下不能正确表示代数式2abcd的C语言表达式是()。A)2*a*b/c/dB)a*b/c/d*2C)a/c/d*b*2D)2*a*b/c*d(16)C源程序中不能表示的数制是()。A)二进制B)八进制C)十进制D)十六进制(17)若有表达式(w)?(--x):(++y),则其中与w等价的表达式是()。A)w==lB)w==0C)w!=lD)w!=0(18)执行以下程序段后,w的值为()。intw='A',x=14,y=15;w=((x||y)&&(w<'a'));A)-1B)NULLC)lD)0(19)若变量已正确定义为int型,要通过语句scanf("%d,%d,%d",&a,&b,&c);给a赋值1、给b赋值2、给c赋值3,以下输入形式中错误的是(ò代表一个空格符)()。A)òòò1,2,3<回车>B)1ò2ò3<回车>C)1,òòò2,òòò3<回车>D)1,2,3<回车>(20)有以下程序段inta,b,c;na=10;b=50;c=30;if(a>b)a=b,b=c;c=a;printf("a=%db=%dc=%dn”,a,b,c);程序的输出结果是()。A)a=10b=50c=10B)a=10b=50c=30C)a=10b=30c=10D)a=50b=30c=50(21)若有定义语句:intm[]={5,4,3,2,1},i=4;,则下面对m数组元素的引用中错误的是()。A)m[--i]B)m[2*2]C)m[m[0]]D)m[m[i]](22)下面的函数调用语句中func函数的实参个数是()。func(f2(v1,v2),(v3,v4,v5),(v6,max(v7,v8)));A)3B)4C)5D)8(23)若有定义语句:doublex[5]={1.0,2.0,3.0,4.0,5.0},*p=x;则错误引用x数组元素的是()。A)*pB)x[5]C)*(p+1)D)*x(24)若有定义语句:chars[10]="1234567";,则strlen(s)的值是()。A)7B)8C)9D)10(25)以下叙述中错误的是()。A)用户定义的函数中可以没有return语句B)用户定义的函数中可以有多个return语句,以便可以调用一次返回多个函数值C)用户定义的函数中若没有return语句,则应当定义函数为void类型二级C语言程序设计试卷第3页(共9页)D)函数的return语句中可以没有表达式(26)以下关于宏的叙述中正确的是()。A)宏名必须用大写字母表示B)宏定义必须位于源程序中所有语句之前C)宏替换没有数据类型限制D)宏调用比函数调用耗费时间(27)有以下程序#includemain(){inti,j;for(i=3;i>=l;i--){for(j=1;j<=2;j++)printf("%d",i+j);nprintf("n");}}程序的运行结果是()。A)234B)432345543C)23D)4534344523(28)有以下程序#includemain(){intx=l,y=2,z=3;if(x>y)if(ymain(){inti=5;do{if(i%3=1)if(i%5==2){printf("*%d",i);break;}i++;}while(i!=0);printf("n");}二级C语言程序设计试卷第4页(共9页)程序的运行结果是()。A)*7B)*3*5C)*5D)*2*6(30)有以下程序n#includeintfun(inta,intb){if(b==0)returna;elsereturn(fun(--a,--b));}main(){printf("%dn",fun(4,2));}程序的运行结果是()。A)1B)2C)3D)4(31)有以下程序#include#includeintfun(intn){int*p;p=(int*)malloc(sizeof(int));*p=n;return*p;}main(){inta;a=fun(10);printf("%dn",a+fun(10));}程序的运行结果是()。A)0B)10C)20D)出错(32)有以下程序#includevoidfun(inta,intb){intt;t=a;a=b;b=t;}main(){intc[10]={1,2,3,4,5,6,7,8,9,0),i;for(i=0;i<10;i+=2)fun(c[i],c[i+l]);for(i=0;i<10;i++)printf("%d,",c[i]);printf("n");}程序的运行结果是()。nA)l,2,3,4,5,6,7,8,9,0,B)2,l,4,3,6,5,8,7,0,9,C)0,9,8,7,6,5,4,3,2,1,D)0,1,2,3,4,5,6,7,8,9,(33)有以下程序#includestructst二级C语言程序设计试卷第5页(共9页){intx,y;)data[2]={l,10,2,20};main(){structst*p=data;printf("%d,",p->y);printf("%dn",(++p)->x);}程序的运行结果是()。A)10,1B)20,1C)10,2D)20,2(34)有以下程序#includevoidfun(inta[],intn){inti,t;for(i=0;i#defineN4voidfun(inta[][N],intb[]){inti;for(i=0;iintfun(int(*s)[4],intn,intk){intm,i;m=s[0][k];for(i=l;im)m=s[i][k];returnm;}二级C语言程序设计试卷第6页(共9页)main(){inta[4][4]={{1,2,3,4),{11,12,13,14},{2l,22,23,24},{31,32,33,34}};printf("%dn",fun(a,4,0));}程序的运行结果是()。A)4B)34C)31D)32(37)有以下程序#includemain(){structSTU{charname[9];charsex;doublescore[2];};structSTUa={"Zhao",'m',85.0,90.0),b={"Qian",'f',95.0,92.0);b=a;printf("%s,%c,%2.0f,%2.0fn",b.name,b.sex,b.score[0],b.score[1]);}程序的运行结果是()。A)Qian,f,95,92B)Qian,m,85,90C)Zhao,f,95,92D)Zhao,m,85,90(38)假定已建立以下链表结构,且指针p和q已指向如图所示的结点:headabcdatanext↑p↑qn则以下选项中可将q所指结点从链表中删除并释放该结点的语句组是()。A)(*p).next=(*q).next;free(p);B)p=q->next;free(q);C)p=q;free(q);D)p->next=q->next;free(q);(39)有以下程序#includemain(){chara=4;printf("%dn",a=a<<1);}程序的运行结果是()。A)40B)16C)8D)4(40)有以下程序#includemain(){FILE*pf;char*s1="China",*s2="Beijing";pf=fopen("abc.dat","wb+");fwrite(s2,7,l,pf);rewind(pf);fwrite(s1,5,1,pf);fclose(pf);}以上程序执行后abc.dat文件的内容是()。B)ChinaB)ChinangC)ChinaBeijingD)BeijingChina二级C语言程序设计试卷第7页(共9页)二、填空题(每空2分,共30分)请将每一个空的正确答案写在答题卡【1】至【15】序号的横线上,答在试卷上不得分。(1)对下列二叉树进行中序遍历的结果【1】。ABCDEFXYZ(2)按照软件测试的一般步骤,集成测试应在【2】测试之后进行。(3)软件工程三要素包括方法、工具和过程,其中,【3】支持软件开发的各个环节的n控制和管理。(4)数据库设计包括概念设计、【4】和物理设计。(5)在二维表中,元组的【5】不能再分成更小的数据项。(6)设变量a和b已正确定义并赋初值。请写出与a-=a+b等价的赋值表达式【6】。(7)若整型变量a和b中的值分别为7和9,要求按以下格式输出a和b的值:a=7b=9请完成输出语句:printf("【7】",a,b);。(8)以下程序的输出结果是【8】。#includemain(){inti,j,sum;for(i=3;i>=1;i--){sum=0;for(j=1;j<=i;j++)sum+=i*j;}printf("%dn",sum);}(9)以下程序的输出结果是【9】。#includemain(){intj,a[]={1,3,5,7,9,11,13,15},*p=a+5;for(j=3;j;j--){switch(j){case1:case2:printf("%d",*p++);break;case3:printf("%d",*(--p));}}}二级C语言程序设计试卷第8页(共9页)(10)以下程序的输出结果是【10】。#include#defineN5intfun(int*s,inta,intn)n{intj;*s=a;j=n;while(a!=s[j])j--;returnj;}main(){ints[N+1];intk;for(k=l;k<=N;k++)s[k]=k+l;printf("%dn",fun(s,4,N));}(11)以下程序的输出结果是【11】。#includeintfun(intx){staticintt=0;return(t+=x);}main(){ints,i;for(i=l;i<=5;i++)s=fun(i);printf("%dn",s);}(12)以下程序按下面指定的数据给x数组的下三角置数,并按如下形式输出,请填空。43726915810#includemain(){intx[4][4],n=0,i,j;for(j=0;j<4;j++)for(i=3;i>=j;【12】){n++;x[i][j]=【13】;}for(i=0;i<4;i++){for(j=0;j<=i;j++)printf("%3d",x[i][j]);printf("n");}n}(13)以下程序的功能是:通过函数func输入字符并统计输入字符的个数。输入时用字符@作为输入结束标志。请填空。#includelong【14】;二级C语言程序设计试卷第9页(共9页)main(){longn;n=func();printf("n=%ldn",n);}longfunc(){longm;for(m=0;getchar()!='@';【15】);retumm;}2009年3月二级C语言笔试真题及答案(1)下列叙述中正确的是A)栈是“先进先出”的线性表B)队列是“先进先出”的线性表C)循环队列是非线性结构D)有序性表既可以采用顺序存储结构,也可以采用链式存储结构(2)支持子程序调用的数据结构是A)栈B)树C)队列D)二叉树(3)某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是A)10B)8C)6D)4(4)下列排序方法中,最坏情况下比较次数最少的是A)冒泡排序B)简单选择排序C)直接插排序D)堆排序(5)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是A)编译软件B)操作系统C)教务管理系统D)汇编程序(6)下面叙述中错误的是A)软件测试的目的是发现错误并改正错误B)对被调试的程序进行“错误定位”是程序调试的必要步骤C)程序调试通常也称为DebugD)软件测试应严格执行测试计划,排除测试的随意性(7)耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是A)提高耦合性降低内聚性有利于提高模块的独立性B)降低耦合性提高内聚性有利于提高模块的独立性C)耦合性是指一个模块内部各个元素间彼此结合的紧密程度D)内聚性是指模块间互相连接的紧密程度(8)数据库应用系统中的核心问题是A)数据库设计B)数据库系统设计C)数据库维护nD)数据库管理员培训(9)有两个关系R,S如下:RABCa32b01c21SABa3b0c2由关系R通过运算得到关系S,则所使用的运算为A)选择B)投影C)插入D)连接(10)将E-R图转换为关系模式时,实体和联系都可以表示为A)属性B)键C)关系D)域(11)以下选项中合法的标识符是A)1-1B)1—1C)-11D)1--(12)若函数中有定义语句:intk;,则A)系统将自动给k赋初值0B)这时k中值无定义C)系统将自动给k赋初值-1D)这时k中无任何值(13)以下选项中,能用作数据常量的是A)o115B)0118C)1.5e1.5D)115L(14)设有定义:intx=2;,以下表达式中,值不为6的是A)x*=x+1B)x++,2*xC)x*=(1+x)D)2*x,x+=2(15)程序段:intx=12;doubley=3.141593;printf(“%d%8.6f”,x,y);的输出结果是A)123.141593B)123.141593C)12,3.141593D)123.141593(16)若有定义语句:doublex,y,*px,*py,执行了px=&x,py=&y;之后,正确的输入语句是A)scanf(“%f%f”,x,y);B)scanf(“%f%f”,&x,&y);C)scanf(“%lf%le”,px,py);D)scanf(“%lf%lf”,x,y);(17)以下是if语句的基本形式:if(表达式)语句其中“表达式”A)必须是逻辑表达式B)必须是关系表达式C)必须是逻辑表达式或关系表达式D)可以是任意合法的表达式(18)有以下程序#includemain(){intx;scanf(“%d”,&x);if(x<=3);elsenif(x!=10)printf(“%dn”,x);}程序运行时,输入的值在哪个范围才会有输出结果A)不等于10的整数B)大于3且不等于10的整数C)大于3或等于10的整数D)小于3的整数(19)有以下程序#includeMain(){inta=1,b=2,c=3,d=0;if(a==1&&b++==2)if(b!=2||c--!=3)printf(“%d,%d,%dn”,a,b,c);elseprintf(“%d,%d,%dn”,a,b,c);elseprintf(“%d,%d,%dn”,a,b,c);}程序运行后的输出结果是A)1,2,3B)1,3,2C)1,3,3D)3,2,1(20)以下程序中的变量已正确定义for(i=0;i<4;i++,i++for(k=1;k<3;k++);printf(*”);程序段的输出结果是A)********B)****C)**D)*(21)有以下程序#includemain(){char*s=(“ABC);do{printf(“%d”,*s%10);s++;}while(*s);}注意,字母A的ASCII码值为65。程序运行后的输出结果是A)5670B)656667C)567D)ABC(22)设变量已正确定义,以下不能统计出一行中输入字符个数(不包含回车符)的程序段是A)n=0;while((ch=getchar())!=’n’)n++;B)n=0;while(getchar()!=’n’)n++;C)for(n=0;getchar()!=’n’;n++);D)n=0;for(ch=getchar();ch!=’n’;n++);(23)有以下程序#includemain(){inta1,a2;charc1,c2;scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);printf(“%d,%c,%d,%c”,&1,c1,a2,c2);}若想通过键盘输入,使得a1的值为12,a2的是为34,c1的值为字符a,c2的值为字符b,程序输出结果是:12,a,34,b,则正确的输入格式是(以下代表空格,代表回车)A)12a34bC)12,a,34,bnB)12D)12aa3434bb24)有以下程序#includeintf(intx,inty){return()y-x)*x);}main(){inta=3,b=4,c=5,d;d=f(f(a,b),f(a,c));printf(“%dn”,d);}程序运行后的输出结果是A)10B)9C)8D)7(25)有以下程序#includevoidfun(char*s){while(*s){if(*s%2==0)printf(“%c”,*s);s++;}}main(){chara[]={“good”};fun(a);printf(“n”);}注意:字母a的ASCⅡ码值为97,程序运行后的输出结果是A)dB)goC)godD)good(26)有以下程序#includevoidfun(int*a,int*b){int*c;c=a;a=b;b=c;}main(){intx=3,y-5,*P=&x,*q=&y;fun(p,q);printf(“%d,%d,”,*p,*q);fun(&x,&y);printf(“%d,%dn”,*p,*q);}程序运行后的输出结果是A)3,5,5,3B)3,5,3,5C)5,3,3,5D)5,3,5,3(27)有以下程序#includeviodf(int*p,int*q);main(){intm=1,n=2,*r=&m;f(r,&n);printf(“%d,%d”,m,n);}voidf(int*p,int*q)n{p=p+1;*q=*q+1;}程序运行后输出的结果是A)1,3B)2,3C)1,4D)1,2(28)以下函数按每行8个输出数组中的数据voidfun(int*w,intn){inti;for(i=0;imain(){char*a[]={“abcd”,”ef”,”gh”,”ijk”};intI;for(i=0;i<4;i++)printf(“%c”,*a);}程序运行后输出的结果是A)aegiB)dfhkC)abcdD)abcdefghijk32)以下选项中正确的语句组是A)chars[];s=”BOOK!”;B)char*s;s={”BOOK!”};C)chars[10];s=”BOOK!”;D)char*s;s=”BOOK!”;(33)有以下程序#includeintfun{intx,inty}{if(x==y)return(x);elsereturen((x+y)/2)}main(){inta=4,b=5,c=6;printf(“%dn”,fun(2*a,fun(b,c)))}程序运行后的输出结果是A)3B)6C)8D)12(34)设函数中有整型变量n,为保证其在未赋值的情况下初值为0,应选择的存储类别是A)autoB)registerC)staticD)auto或register(35)有以下程序#includeintb=2;nintfun(int*k){b=*k+b;return(b);}main(){inta[10]={1,2,3,4,5,6,7,8},I;for(i=2;i<4;i++){b=fun(&a)+b;printf(“%d”,b);}printf(“n”);}程序运行后输出的结果是A)10B)8C)10D)101210281636)有以下程序#include#definePT3.5;#defineS(x)PT*x*x;mian(){inta=1,b=2;printf(“%4.1fn”,S(a+b));}程序运行后输出的结果是A)14.0B)31.5C)7.5D)程序有错无输出结果37)有以下程序#includestructord{intx,y;}dt[2]={1,2,3,4};main(){structord*p=dt;printf(“%d,”,++p->x);printf(“%dn”,++p->y);}程序的运行结果是A)1,2B)2,3C)3,4D)4,138)设有宏定义:#includeIsDIV(k,n)((k%n==1)?1:0且变量m已正确定义并赋值,则宏调用:IsDIV(m,5)&&IsDIV(m,7)为真时所要表达的是A)判断m是否能被5或者7整除B)判断m是否能被5和7整除C)判断m被5或者7整除是否余1D)判断m被5和7整除是否余1(39)有以下程序#includemain(){inta=5,b=1,t;t=(a<<2|b);printf(“%dn”,t)}程序运行后的输出结果是A)21B)11C)6D)1(40)有以下程序#includemain(){EILE*f;f=fopen(“filea.txt”,”w”);fprintf(f,”abc”);fclose(f);}若文本文件filea.txt中原有内容为:hello,则运行以上程序后,文件filea.txt中的内容为A)helloabcB)abcloC)abcD)abchello二、填空题(每空2分,共30分)n(1)假设一个长度为50的数组(数组元素的下标从0到49)作为栈的存储空间,栈底指针bottom指向栈底元素,栈顶指针top指向栈顶元素,如果bottom=49,top=30(数组下标),则栈中具有【1】个元素。(2)软件测试可分为白盒测试和黑盒测试。基本路径测试属于【2】测试。(3)符合结构化原则的三种基本控制结构是:选择结构、循环结构和【3】。(4)数据库系统的核心是【4】(5)在E-R图中,图形包括矩形框、菱形框、椭圆框。其中表示实体联系的是【5】框。(6)表达式(int)((double)(5/2)+2.5)的值是【6】(7)若变量x、y已定义为int类型且x的值为99,y的值为9,请将输出语句printf(【7】,x/y);补充完整,使其输出的计算结果形式为:x/y=11(8)有以下程序#includemain(){charc1,c2;scanf(“&c”,&c1);while(c1<65||c1>90)scanf(“&c”,&c1);c2=c1+32;printf(“&c,&cn”,c1,c2);}程序运行输入65回车后,能否输出结果、结束运行(请回答能或不能)【8】。(9)以下程序运行后的输出结果是【9】#includemain(){intk=1,s=0;do{if{((k&2)!=0)continue;s+=k;k++;}while(k)10);printf(“s=&d/n”,s);}(10)下列程序运行时,若输入labced12df<回车>输出结果为【10】#includemain(){chara=0,ch;while((ch=getchar())!=’n’){if(a&2!=0&&(ch>’a’&&ch<=’z’))ch=ch-‘a’+’A’;a++;putchar(ch);}printf(“n”);}(11)有以下程序,程序执行后,输出结果是【11】#includevoidfun(int*a){a[0=a[1];]}main(){inta[10]={10,9,8,7,6,5,4,3,2,1},i;nfor(i=2;i>=0;i--)fun{&a};for(i=0;i<10;i++)printf(“&d”,a);printf(“n”);}(12)请将以下程序中的函数声明语句补充完整#includeint【12】;main(){intx,y,(*p)();p=max;printf(“&dn”,&x,&y);}Intmax(inta,intb){return(a>b/a:b);}(13)以下程序用来判断指定文件是否能正常打开,请填空#includemain(){FILE*fp;if(((fp=fopen(“test.txt”,”r”))==【13】))printf(“未能打开文件!n”);elseprintf(“文件打开成功!n”);(14)下列程序的运行结果为【14】#include#includestructA{inta;charb[10];doublec;};voidf(structA*t);main(){structAa=(1001,”ZhangDa”,1098,0);f(&a);printf(“&d,&s,&6,ifn”,a.a,a.b,a.c);}voidf(structA*t){strcpy(t->b,”ChangRong”);}(15)以下程序把三个NODETYPE型的变量链接成一个简单的链表,并在while循环中输出链表结点数据域中的数据,请填空#includestructnode{intdata;structnode*next;};typedefstructnodeNODETYPE;main()n{NODETYPEa,b,c,*h,*p;a.data=10;b.data=20;c.data=30;h=&a;b.next=&b;b.next=&c;c.next=’’;p=h;while(p){printf(“&d”,p->data);【15】;}}2009年9月计算机二级考试C语言真题一、选择题(每题2分,共计70分)(1)下列数据结构中,属于非线性结构的是A)循环队列B)带链队列C)二叉树D)带链栈(2)下列数据结构中,能够按照“先进后出”原则存取数据的是A)循环队列B)栈C)队列D)二叉树(3)对于循环队列,下列叙述中正确的是A)队头指针是固定不变的B)队头指针一定大于队尾指针C)队头指针一定小于队尾指针D)队头指针可以大于队尾指针,也可以小于队尾指针(4)算法的空间复杂度是指A)算法在执行过程中所需要的计算机存储空间B)算法所处理的数据量C)算法程序中的语句或指令条数D)算法在执行过程中所需要的临时工作单元数(5)软件设计中划分模块的一个准则是A)低内聚低耦合B)高内聚低耦合C)低内聚高耦合D)高内聚高耦合(6)下列选项中不属于结构化程序设计原则的是A)可封装B)自顶向下C)模块化D)逐步求精(7)软件详细设计产生的图如下:n该图是A)N-S图B)PAD图C)程序流程图D)E-R图(8)数据库管理系统是A)操作系统的一部分B)在操作系统支持下的系统软件C)一种编译系统D)一种操作系统(9)在E-R图中,用来表示实体联系的图形是A)椭圆形B)矩形C)菱形D)三角形10.(10)有三个关系R,S,和T如下:11.(11)以下叙述中正确的是A)程序设计的任务就是编写程序代码并上机调试B)程序设计的任务就是确定所用的数据结构C)程序设计的任务就是确定所用算法D)以上三种说法都不完整12.(12)以下选项中,能用作用户标识符的是A)voidB)8_8C)_0_D)unsigned13.(13)阅读以下程序#include nmain(){ int case; float printF;  printf("请输入2个数:");  scanf("%d %f",&case,&printF);  printf("%d %fn",case,printf);}该程序在编译时产生错误,其出错原因是A)定义语句出错,case是关键字,不能用作用户自定义标识符B)定义语句出错,printF不能用作用户自定义标识符C)定义语句无错,scanf不能作为输入函数使用D)定义语句无措,printf不能输出case的值14.(14)表达式:(int)((double)9/2)-(9)%2的值是A)0B)3C)4D)515.(15)若有定义语句: int x=10;,则表达式x-=x+x的值为A)-20B)-10C)0D)1016.(16)有以下程序#include main(){ int a=1,b=0;  printf("%d,",b=a+b);  printf("%d",a=2*b);}程序运行后的输出结果是A)0,0B)1,0C)3,2D)1,217.(17)设有定义: int a=1,b=2,c=3;,以下语句中执行效果与其它三个不同的是A)if(a>b) c=a,a=b,b=c;B)if(a>b){c=a,a=b,b=c;}C)if(a>b) c=a;a=b;b=c;D)if(a>b){c=a;a=b;b=c;}18.(18)有以下程序#include main(){ int c=0,k;  for(k=1;k<3;k++)n    switch(k)    { default:c+=k;      case 2:c++;break;      case 4:c+=2;break;    }    printf("%dn",c);}程序运行后的输出结果是A)3B)5C)7D)919.(19)以下程序段中,与语句: k=a>b?(b>c?1:0):0;功能相同的是A)if((a>b)&&(b>c)) k=1;  else k=0;B)if((a>b)||(b>c)) k=1;  else k=0;C)if(a<=b)k=0;  else if(b<=c) k=1;D) if(a>b) k=1;   else if(b>c) k=1;   else k=0;20.(20)有以下程序#include main(){  char s[]={"012xy"};int i,n=0;   for(i=0;s[i]!=0;i++)     if(s[i]>'a'&&s[i]<='z') n++;   printf("%dn",n);}程序运行后的输出结果是A)0B)2C)3D)521.(21)有以下程序#include main(){  int n=2,k=0;   while(k++&&n++>2);      printf("%d %dn",k,n);}程序运行后的输出结果是A)0 2nB)1 3C)5 7D)1 222.(22)有以下定义语句,编译时会出现编译错误的是A) char a='a';B) char a='n';C) char a='aa';D) char a='x2d';23.(23)有以下程序#include main(){  char c1,c2;   c1='A'+'8'-'4';   c2='A'+'8'-'5';   printf("%c,%dn",c1,c2);}已知字母A的ASCII码为65,程序运行后的输出结果是A)E,68B)D,69C)E,DD)输出无定值24.(24)有以下程序#include void fun(int p){  int d=2;   p=d++;    printf("%d",p);}main(){  int a=1;   fun(a);   printf("%dn",a);}程序运行后的输出结果是A)32B)12C)21D)2225.(25)以下函数findmax拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能#define MIN -2147463647int findmax(int x[],int n){  int i,max;   for(i=0;imain(){  int m=1,n=2,*p=&m,*q=&n,*r;   r=p;p=q;q=r;   printf("%d,%d,%d,%dn",m,n,*p,*q);}程序运行后的输出结果是A)1,2,1,2B)1,2,2,1C)2,1,2,1D)2,1,1,227.(27)若有定义语句: int a[4][10],*p,*q[4];且0<=i<4,则错误的赋值是A)p=aB)q[i]=a[i]C)p=a[i]D)p=&a[2][1]28.(28)有以下程序#include #include main(){  char str[][20]={"One*World","One*Dream!"},*p=str[1];   printf("%d,",strlen(p));   printf("%sn",p);}程序运行后的输出结果是A)9,One*WorldB)9,One*Dream!C)10,One*Dream!D)10,One*World29.(29)有以下程序#include main(){ int a[]={2,3,5,4},i;n  for(i=0;i<4;i++)  switch(i%2)  { case 0:         switch(a[i]%2)  {  case 0:a[i]++;break;     case 1:a[i]--;  } break;    case 1:a[i]=0;  }  for(i=0;i<4;i++)    printf("%d ",a[i]);  printf("n");}程序运行后的输出结果是A)3 3 4 4 B)2 0 5 0C)3 0 4 0D)0 3 0 430.(30)有以下程序#include #include main(){ char a[10]="abcd";  printf("%d,%dn",strlen(a),sizeof(a));}程序运行后的输出结果是A)7,4B)4,10C)8,8D)10,1031.(31)下面是有关C语言字符数组的描述,其中错误的是A)不可以用赋值语句给字符数组名赋字符串B)可以用输入语句把字符串整体输入给字符数组C)字符数组中的内容不一定是字符串D)字符数组只能存放字符串32.(32)下列函数的功能是fun(char *a,char *b){ while((*b=*a)!=''){a++;b++;} }A)将a所指字符串赋给b所指空间B)使指针b指向a所指字符串C)将a所指字符串和b所指字符串进行比较D)检查a和b所指字符串中是否有''33.(33)设有以下函数:void fun(int n,char *s){……}n则下面对函数指针的定义和赋值均正确的是A)void (*pf)(); pf=fun;B)void *pf();  pf=fun;C)void *pf(); *pf=fun;D)void (*pf)(int,char);pf=&fun;34.(34)有以下程序#include int f(int n);main(){  int a=3,s;   s=f(a);s=s+f(a);printf("%dn",s);}int f(int n){ static int a=1;  n+=a++;  return n;}程序运行后的输出结果是A)7B)8C)9D)1035.(35)有以下程序#include #define f(x) x*x*xmain(){  int a=3,s,t;   s=f(a+1);t=f((a+1));   printf("%d,%dn",s,t);}程序运行后的输出结果是A)10,64B)10,10C)64,10D)64,6436.(36)下面结构体的定义语句中,错误的是A)struct ord {int x;int y;int z;};struct ord a;B)struct ord {int x;int y;int z;} struct ord a;C)struct ord {int x;int y;int z;} n;D)struct {int x;int y;int z;} a;37.(37)设有定义: char *c;以下选项中能够使字符型指针C正确指向一个字符串的是A) char str[]="string";c=str;B) scanf("%s",c);nC) c=getchar();D) *c="string";38.(38)有以下程序#include #include struct A{ int a;char b[10];double c;};struct A f(struct A t);main(){ struct A a={1001,"ZhangDa",1098.0};  a=f(a); printf("%d,%s,%6.1fn",a.a,a.b,a.c);}struct A f(struct A t){ t.a=1002;strcpy(t.b,"ChangRong");t.c=1202.0;return t;}程序运行后的输出结果是A)1001,ZhangDa,1098.0B)1002,ZhangDa,1202.0C)1001,ChangRong,1098.0D)1002,ChangRong,1202.039.(39)有以下程序int r=8;printf("%dn",r>>1);输出结果是A)16B)8C)4D)240.(40)下列关于C语言文件的叙述中正确的是A)文件由一系列数据一次排列组成,只能构成二进制文件B)文件由结构序列组成,可以构成二进制文件或文本文件C)文件由数据序列组成,可以构成二进制文件或文本文件D)文件由字符序列组成,只能是文本文件二、填空题(每空2分,共计30分)1.(1)某二叉树有5个度为2的结点以及3个度为1的结点,则该二叉树中共有【1】个结点。(3)软件开发过程主要分为需求分析、设计、编码与测试四个阶段。其中【3】阶段产生”软件需求规格说明书“。(4)在数据库技术中,实体集之间的联系可以是一对一或一对多或多对多的,那么”学生“和"可选课程"的联系为【4】(5)人员基本信息一般包括:身份证号,姓名,性别,年龄等。其中可以作为主关键字的n是【5】(6)若有定义语句:int a=5;,则表达式a++的值是【6】。(7)若有语句double x=17;int y;,当执行y=(int)(x/5)%2;之后y的值是【7】(8)以下程序运行后的输出结果是【8】#include main(){  int x=20;   printf("%d ",0main(){  int a=1,b=7;   do{      b=b/2;a+=b;   } while (b>1);   printf("%dn",a);}(10)有一下程序#include main(){  int f,f1,f2,i;   f1=0;f2=1;   printf("%d %d ",f1,f2);   for(i=3;i<=5;i++)   { f=f1+f2; printf("%d",f);     f1=f2; f2=f;   }   printf("n");}程序运行后的输出结果是【10】(11)有以下程序#include int a=5;void fun(int b){  int a=10;   a+=b; printf("%d",a);}main(){  int c=20;   fun(c); a+=c; printf("%dn",a);}程序运行后的输出结果是【11】n(12)设有定义struct person{ int ID;char name[12];} p;请将scanf("%d",【12】);语句补充完整,使其能够为结构体变量p的成员ID正确读入数据。(13)有以下程序#include main(){  char a[20]="How are you?",b[20];   scanf("%s",b); printf("%s %sn",a,b);}程序运行时从键盘输入: How are you?<回车>则输出结果为【13】(14)有以下程序#include typedef struct{ int num;double s;} REC;void fun1(REC x){ x.num=23;x.s=88.5; }main(){ REC a={16,90.0};  fun1(a);  printf("%dn",a.num);}(15)有以下程序#include fun(int x){  if(x/2>0) fun(x/2);   printf("%d ",x);}main(){ fun(6);printf("n");}程序运行后的输出结果是【15】2010年3月全国计算机等级考试二级笔试试卷C语言程序设计及参考答案(考试时间90分钟,满分100分)一、选择题((1)—(10)、(21)—(40)每题2分,(11)—(20)每题1分。共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡上,答在试卷上不得分。(1)下列叙述中正确的是nA)对长度为n的有序链表进行查找,最坏情况下需要的比较次数为nB)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)C)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n)D)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(nlog2n)(2)算法的时间复杂度是指  A)算法的执行时间                B)算法所处理的数据量  C)算法程序中的语句或指令条数    D)算法在执行过程中所需要的基本运算次数(3)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于系统软件的是  A)编辑软件   B)操作系统                     C)教务管理系统   D)浏览器(4)软件(程序)调试的任务是  A)诊断和改正程序中的错误       B)尽可能多地发现程序中的错误  C)发现并改正程序中的所有错误           D)确定程序中错误的性质(5)数据流程图(DFD图)是  A)软件概要设计的工具           B)软件详细设计的工具  C)结构化方法的需求分析工具              D)面向对象方法的需求分析工具(6)软件生命周期可分为定义阶段,开发阶段和维护阶段。详细设计属于  A)定义阶段      B)开发阶段           C)维护阶段     D)上述三个阶段(7)数据库管理系统中负责数据模式定义的语言是  A)数据定义语言  B)数据管理语言      C)数据操纵语言 D)数据控制语言(8)在学生管理的关系数据库中,存取一个学生信息的数据单位是  A)文件         B)数据库          C)字段           D)记录(9)数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的D A)需求分析阶段                   B)逻辑设计阶段 C)概念设计阶段                   D)物理设计阶段 (10)有两个关系R和T如下:R                TABCa12b22c32ABCnc32d32 则由关系R得到关系T的操作是A选择         B)投影          C)交         D)并(11)以下叙述正确的是A)C语言程序是由过程和函数组成的B)C语言函数可以嵌套调用,例如:fun(fun(x))C)C语言函数不可以单独编译D)C语言中除了main函数,其他函数不可以作为单独文件形式存在(12)以下关于C语言的叙述中正确的是A)C语言中的注释不可以夹在变量名或关键字的中间B)C语言中的变量可以再使用之前的任何位置进行定义C)在C语言算术的书写中,运算符两侧的运算数类型必须一致D)C语言的数值常量中夹带空格不影响常量值的正确表示 (13)以下C语言用户标示符中,不合法的是DA)_1          B)AaBc        C)a_b          D)a--b (14)若有定义:doublea=22;inti=0,k=18;则不符合C语言规定的赋值语句是D   A)a=a++,i++         B)i=(a+k)<=(i+k)        C)i=a%11       D)i=!a (15)#includemain(){chara,b,c,d;scanf("%c%c",&a,&b);c=getchar(); d=getchar();printf("%c%c%c%cn",a,b,c,d);}当执行程序时,按下列方式输入数据(从第一列开始,代表回车,注意:回车是一个字符)1234则输出结果是:A、1234       B、12         C、12             D、1216、以下关于C语言数据类型使用的叙述中错误的是:A、若要准确无误的表示自然数,应使用整数类型。B、若要保存带有多位小数的数据,应使用双精度类型。C、若要处理如"人员信息"等含有不同类型的相关数据,应自定义结构体类型。D、若只处理"真"和"假"两种逻辑值,应使用逻辑类型。 17、若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是:AA、1         B、0         C、2           D、不知道a的值,不能确定n 18、以下选项中与if(a==1)a=b;elsea++;语句功能不同的switch语句是:A、switch(a)                         B、switch(a==1)  {case1:a=b;break;                         { case0:a=b;break;    default:a++;                              case1:a++;}                                       }C、switch(a)                         D、switch(a==1)  { default:a++;break;                       { case1:a=b;break;      case1:a=b;                                case0:a++;}                                      }19、有如下嵌套的if语句      if(amain(){inti,j,m=1;for(i=1;i<3;i++){for(j=3;j>0;j--){if(i*j>3)break;m*=i*j;}}printf("m=%dn",m)n}程序运行后的输出结果是(A)m=6                       (B)m=2         (C)m=4         (D)m=5(21)有以下程序#includemain(){inta=1,b=2; for(;a<8;a++){b+=a;a+=2;}printf("%d,%dn",a,b);}程序运行后的输出结果是(A)9,18              (B)8,11            (C)7,11           (D)10,14 (22)有以下程序,其中k的初值为八进制数#includemain(){intk=011;printf("%dn",k++);}程序运行后的输出结果是(A)12                           (B)11                 (C)10         (D)923)下列语句中,正确的是A)char*s;s="Olympic";                           B)chars[7];s="Olympic";C)char*s;s={"Olympic"};                        D)chars[7];s={"Olympic"};(24)以下关于return语句的叙述中正确的是A)一个自定义函数中必须有一条return语句B)一个自定义函数中可以根据不同情况设置多条return语句C)定义成viod类型的函数中可以有带返回值的return语句D)没有return语句的自定义函数在执行结束时不能返回到调用处25)下列选项中,能够正确定义数组的语句是A)intnum[0..2008];                      B)intnum[];C)intN=2008;                            D)#defineN2008n  intnum[N];                                    intnum[N] (26)有以下程序#includevoidfun(char*c,intd){*c=*c+1;d=d+1;printf("%c,%c,",*c,d);}main(){charb=’a’,a=’A’;        fun(&b,a);printf("%c,%cn",b,a);}程序运行后的输出结果是 A)b,B,b,A   B)b,B,B,A     C)a,B,B,a   D)a,B,a,B (27)若有定义int(*pt)[3];,则下列说法正确的是A)定义了基类型为int的三个指针变量B)定义了基类型为int的具有三个元素的指针数组pt。C)定义了一个名为*pt、具有三个元素的整型数组D)定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组28)设有定义doublea[10],*s=a;,一下能够代表数组元素a[3]的是A)(*s)[3]      B)*(s+3)    C)*s[3]       D)*s+329)有以下程序#includemain(){inta[5]={1,2,3,4,5},b[5]={0,2,1,3,0},is=0 for(i=0;i<5;i++)s=s+a[b[i]];printf("%dn",s);}程序运行后的输出结果是A)6   B)10  C)11  D)1530)有以下程序 #include main(){intb[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1; for(i=0;i<3;i++)For(j=i;j<=i;j++) t+=b[i][b[j][i]]);Printf("%dn",t);}程序运行后的输出结果是A)1   B)3   C)4  D)9(31)若有以下定义和语句charsl[10]="abcd!",*s2="n123\";n  printf("%d%dn",strlen(s1),strlen(s2));则输出结果是A)55   B)105   C)107   D)58(32)有以下程序 #include #defineN8 voidfun(int *x,inti) {*x=*(x+i);}main(){inta[N]={1,2,3,4,5,6,7,8},i;fun(a,2);for(i=0;iintf(intt[],intn);main(){inta[4]={1,2,3,4},s;s=f{a,4};printf("%dn",s);}intf(intt[],intn){if(n>0) returnt[n-1]+f(t,n-1);else return0;}程序运行后的输出结果是A)4   B)10 C)14 D)6(34)有以下程序#includeintfun(){staticint x=1;x*=2;return x;}main(){intI,s=1;for(i=1;i<=2;i++) s=fun();printf("%dn",s);}程序运行后的输出结果是A)0 B)1 C)4  D)8(35)以下程序n#include#define SUB(a) (a)-(a)main(){int a=2,b=3,c=5,d;d=SUB(a+b)*c;printf("%dn",d);}程序运行后的结果是A)0 B)-12 C)-20 D)10(36)没有定义structcomplex{  int real,unreal;}datal={1,8},data2;则以下赋值语句中的错误的是A)data2=data1;   B)data2=(2,6);C)data2.real1=data1.real; D)data2.real=data1.unreal;(37)有以下程序#include#includestructA{inta;charb[10];doublec;};voidf(struct A t);main(){struct A a={1001,"ZhangDa",1098.0};f(a);pringt("%d,%s,%6.1fn",a.a,a.b,a.c);}voidf(struct A t){t.a=1002;strcpy(t.b,"ChangRong");t.c=1202.0;}程序运行后的输出结果是A)1001,ZhangDa,1098.0   B)1002,ChangRong,1202.0C)1001,ChangRong,1098.0 D)1002,ZhangDa,1202.0(38)有以下定义和语句struct workers{int num;charname[20];charc;srruct{intday;intmonth;intyear;}s;};structworkers w,*pw;pw=&w能给w中year成员赋1980的语句是A)*pw.year=1980;  B)w.year=1980;C)pw->year=1980;  D)w.s.year=1980; (39)有以下程序#includemain()n{inta=2,b=2,c=2;printf("%dn",a/b&c);}程序运行后的结果是A)0        B)1        C)2      D)340)以下程序#includemain(){  FILE *fp;char str[10];fp=fopen("myfile.dat","w");fputs("abc",fp); fclose(fp);fp=fopen("myfile.dat","a+");rewind(fp,"gd",28);rewind(fp);fscanf(fp,"gs",str); puts(str);fclose(fp);}程序运行后的输出结果是A)abc           B)28c          C)abc28          D)因类型不一致而出错二、填空题(每空2分,共30分)请将每空的正确答案写在答题卡【1】至【15】序号的横线上,答在试卷上不得分。 (1)一个队列的初始状态为空,先将元素A,B,C,D,E,F,5,4,3,2,1依次入队,然后再依次退队,则元素退队的顺序为_____。 (2)设某循环列队的容量为50,如果头指针front=45(指向队头元素的前一位置),尾指针rear=10(指向队尾元素),则该循环队列中共有_____个元素。 (3)设二叉数如下:                                         对该二叉树进行后序遍历的结果为。 (4)软件是    、数据和文档的集合。 (5)有一个学生选课的关系,其中学生的关系模式为:学生(学号,姓名,班级,年龄),课程的关系模式为:课程(课号,课程名,学时),其中两个关系模式的键分别是学好和课号,则关系模式选课可以定义为:选课(学号,  ,成绩)。(6)设x为int型变量,请写出一个关系表达式     ,用以判断x同时为3和7的倍数时,关系表达式的值为真。(7)有以下程序#includenmain(){inta=1,b=2,c=3,d=0;if(a==1)    if(b!=2)         if(c!=3) d=1;         else    d=2;     elseif(c!=3) d=3;          else   d=4; else             d=5; printf("%dn",d);}程序运行后的输出结果是:  。(8)有以下程序#includemain(){ intm,n;scanf("%d%d",&m,&n);while(m!=n){ while(m>n)m=m-n;  while(m时,输出结果是    (9)有以下程序#includemain(){ intI,j,a[][3]={1,2,3,4,5,6,7,8,9};  for(i=1;i<3;i++)       for(j=I;j<3;j++) printtf("%d",a[i][j]);   printf("n");}程序运行后的输出结果是      (10)有以下程序    #includemain(){           int []={1,2,3,4,5,6},*k[3],i=0;           while(i<3)           {                     k[i]=&a[2*i];                     printf("%d",*k[i]);                     i++;            }n}程序运行后的输出结果是__________(11)有以下程序   #includemain(){          int a[3][3]={{1,2,3},{4,5,6},{7,8,9}};          int b[3]={0},i;          for(i=0;i<3;i++)b[i]=a[i][2]+a[2][i];     for(i=0;i<3;i++)printf("%d",b[i]);          printf("n");}程序运行后的结果是____________(12)有以下程序#include#includevoidfun(char*str){        chartemp; intn,i;        n=strlen(str);        temp=str[n-1];        for(i=n-1;i>0;i--)str[i]=str[i-1];        str[0]=temp;}main(){        chars[50];        scanf("%s",s); fun(s);  printf("%sn",s);}程序运行后输入:abcdef<回车>,则输出结果是____________ 13、以下程序的功能是:将值为三位正整数的变量x中的数值按照个位、十位、百位的顺序拆分并输出。请填空。#includemain(){      intx=256;    printf("%d-%d-%dn",       ,x/10%10,x/100);} 14、以下程序用以删除字符串中的所有的空格,请填空。#includemain(){  nchar s[100]={"our.tercherteach clanguage!"};inti,j;for(i=j=0;s[i]!=‘’;i++)  if(s[i]!=‘’){s[j]=s[i];j++;}s[j]=   ;printf("%sn",s);} (15)以下程序功能是:借助指针变量找出数组元素中的最大值及其元素的下标值。请填空。#includemain(){        inta[10],*p,*s;        for(p=a;p-a<10;p++)scanf("%d",p);        for(p=a,s=a;p-a<10;p++) if(*p>*s)s=_______________;        printf("index=%dn",s-a);}2010年9月二级C语言笔试真题及答案((1)—(10)每小题2分,(11)—(50)每题1分,共60分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。(1)下列叙述中正确的是A)栈是“先进先出”的线性表B)队列是“先进先出”的线性表C)循环队列是非线性结构D)有序性表既可以采用顺序存储结构,也可以采用链式存储结构(2)支持子程序调用的数据结构是A)栈B)树C)队列D)二叉树(3)某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是A)10B)8C)6D)4(4)下列排序方法中,最坏情况下比较次数最少的是A)冒泡排序B)简单选择排序C)直接插入排序D)堆排序(5)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是An)编译软件B)操作系统C)教务管理系统D)汇编程序(6)下面叙述中错误的是A)软件测试的目的是发现错误并改正错误B)对被调试的程序进行“错误定位”是程序调试的必要步骤C)程序调试通常也称为DebugD)软件测试应严格执行测试计划,排除测试的随意性(7)耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是A)提高耦合性降低内聚性有利于提高模块的独立性B)降低耦合性提高内聚性有利于提高模块的独立性C)耦合性是指一个模块内部各个元素间彼此结合的紧密程度D)内聚性是指模块间互相连接的紧密程度(8)数据库应用系统中的核心问题是A)数据库设计B)数据库系统设计C)数据库维护D)数据库管理员培训(9)有两个关系R,S如下:RABCa32b01c21SABa3b0c2由关系R通过运算得到关系S,则所使用的运算为A)选择B)投影C)插入D)连接(10)将E-R图转换为关系模式时,实体和联系都可以表示为A)属性B)键C)关系D)域(11)以下选项中合法的标识符是A)1-1B)1—1C)-11D)1--n(12)若函数中有定义语句:intk;,则A)系统将自动给k赋初值0B)这时k中值无定义C)系统将自动给k赋初值-1D)这时k中无任何值(13)以下选项中,能用作数据常量的是A)o115B)0118C)1.5e1.5D)115L(14)设有定义:intx=2;,以下表达式中,值不为6的是A)x*=x+1B)x++,2*xC)x*=(1+x)D)2*x,x+=2(15)程序段:intx=12;doubley=3.141593;printf(“%d%8.6f”,x,y);的输出结果是A)123.141593B)123.141593C)12,3.141593D)123.141593(16)若有定义语句:doublex,y,*px,*py,执行了px=&x,py=&y;之后,正确的输入语句是A)scanf(“%f%f”,x,y);B)scanf(“%f%f”,&x,&y);C)scanf(“%lf%le”,px,py);D)scanf(“%lf%lf”,x,y);(17)以下是if语句的基本形式:if(表达式)语句其中“表达式”A)必须是逻辑表达式B)必须是关系表达式C)必须是逻辑表达式或关系表达式D)可以是任意合法的表达式(18)有以下程序#includemain(){intx;scanf(“%d”,&x);if(x<=3);elseif(x!=10)printf(“%dn”,x);}程序运行时,输入的值在哪个范围才会有输出结果An)不等于10的整数B)大于3且不等于10的整数C)大于3或等于10的整数D)小于3的整数(19)有以下程序#includeMain(){inta=1,b=2,c=3,d=0;if(a==1&&b++==2)if(b!=2||c--!=3)printf(“%d,%d,%dn”,a,b,c);elseprintf(“%d,%d,%dn”,a,b,c);elseprintf(“%d,%d,%dn”,a,b,c);}程序运行后的输出结果是A)1,2,3B)1,3,2C)1,3,3D)3,2,1(20)以下程序中的变量已正确定义for(i=0;i<4;i++,i++for(k=1;k<3;k++);printf(*”);程序段的输出结果是An)********B)****C)**D)*(21)有以下程序#includemain(){char*s=(“ABC);do{printf(“%d”,*s%10);s++;}while(*s);}注意,字母A的ASCII码值为65。程序运行后的输出结果是A)5670B)656667C)567D)ABC(22)设变量已正确定义,以下不能统计出一行中输入字符个数(不包含回车符)的程序段是A)n=0;while((ch=getchar())!=’n’)n++;B)n=0;while(getchar()!=’n’)n++;C)for(n=0;getchar()!=’n’;n++);D)n=0;for(ch=getchar();ch!=’n’;n++);(23)有以下程序#includemain(){inta1,a2;charc1,c2;scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);printf(“%d,%c,%d,%c”,&1,c1,a2,c2);}若想通过键盘输入,使得a1的值为12,a2的是为34,c1的值为字符a,c2的值为字符b,程序输出结果是:12,a,34,b,则正确的输入格式是(以下代表空格,代表回车)A)12a34bB)12a34bC)12,a,34,bD)12a34b(24)有以下程序#includeintf(intx,inty){return()y-x)*x);}main(){inta=3,b=4,c=5,d;d=f(f(a,b),f(a,c));printf(“%dn”,d);}程序运行后的输出结果是A)10B)9C)8D)7(25)有以下程序#includevoidfun(char*s){while(*s)n{if(*s%2==0)printf(“%c”,*s);s++;}}main(){chara[]={“good”};fun(a);printf(“n”);}注意:字母a的ASCⅡ码值为97,程序运行后的输出结果是A)dB)goC)godD)good(26)有以下程序#includevoidfun(int*a,int*b){int*c;c=a;a=b;b=c;}main(){intx=3,y-5,*P=&x,*q=&y;fun(p,q);printf(“%d,%d,”,*p,*q);fun(&x,&y);printf(“%d,%dn”,*p,*q);}程序运行后的输出结果是A)3,5,5,3B)3,5,3,5C)5,3,3,5D)5,3,5,3(27)有以下程序#includeviodf(int*p,int*q);main(){intm=1,n=2,*r=&m;f(r,&n);printf(“%d,%d”,m,n);}voidf(int*p,int*q){p=p+1;*q=*q+1;}n程序运行后输出的结果是A)1,3B)2,3C)1,4D)1,2(28)以下函数按每行8个输出数组中的数据voidfun(int*w,intn){inti;for(i=0;imain(){char*a[]={“abcd”,”ef”,”gh”,”ijk”};intnI;for(i=0;i<4;i++)printf(“%c”,*a);}程序运行后输出的结果是A)aegiB)dfhkC)abcdD)abcdefghijk(32)以下选项中正确的语句组是A)chars[];s=”BOOK!”;B)char*s;s={”BOOK!”};C)chars[10];s=”BOOK!”;D)char*s;s=”BOOK!”;(33)有以下程序#includeintfun{intx,inty}{if(x==y)return(x);elsereturen((x+y)/2)}main(){inta=4,b=5,c=6;printf(“%dn”,fun(2*a,fun(b,c)))}程序运行后的输出结果是A)3B)6C)8D)12(34)设函数中有整型变量n,为保证其在未赋值的情况下初值为0,应选择的存储类别是A)autoB)registerC)staticD)auto或register(35)有以下程序#includeintb=2;intfun(int*k){b=*k+b;return(b);}main(){intna[10]={1,2,3,4,5,6,7,8},I;for(i=2;i<4;i++){b=fun(&a)+b;printf(“%d”,b);}printf(“n”);}程序运行后输出的结果是A)1012B)810C)1028D)1016(36)有以下程序#include#definePT3.5;#defineS(x)PT*x*x;mian(){inta=1,b=2;printf(“%4.1fn”,S(a+b));}程序运行后输出的结果是A)14.0B)31.5C)7.5D)程序有错无输出结果(37)有以下程序#includestructord{intx,y;}dt[2]={1,2,3,4};main(){structord*p=dt;printf(“%d,”,++p->x);printf(“%dn”,++p->y);}程序的运行结果是A)1,2B)2,3C)3,4D)4,1(38)设有宏定义:#includeIsDIV(k,n)((k%n==1)?1:0且变量m已正确定义并赋值,则宏调用:IsDIV(m,5)&&nIsDIV(m,7)为真时所要表达的是A)判断m是否能被5或者7整除B)判断m是否能被5和7整除C)判断m被5或者7整除是否余1D)判断m被5和7整除是否余1(39)有以下程序#includemain(){inta=5,b=1,t;t=(a<<2|b);printf(“%dn”,t)}程序运行后的输出结果是A)21B)11C)6D)1(40)有以下程序#includemain(){EILE*f;f=fopen(“filea.txt”,”w”);fprintf(f,”abc”);fclose(f);}若文本文件filea.txt中原有内容为:hello,则运行以上程序后,文件filea.txt中的内容为A)helloabcB)abcloC)abcD)abchello二、填空题(每空2分,共30分)请将每一个空的正确答案写在答题卡【1】至【15】序号的横线上,答在试卷上不得分。(1)假设一个长度为50的数组(数组元素的下标从0到49)作为栈的存储空间,栈底指针bottom指向栈底元素,栈顶指针top指向栈顶元素,如果bottom=49,top=30(数组下标),则栈中具有【1】个元素。(2)软件测试可分为白盒测试和黑盒测试。基本路径测试属于【2】测试。(3)符合结构化原则的三种基本控制结构是:选择结构、循环结构和【3】。(4)数据库系统的核心是n【4】(5)在E-R图中,图形包括矩形框、菱形框、椭圆框。其中表示实体联系的是【5】框。(6)表达式(int)((double)(5/2)+2.5)的值是【6】(7)若变量x、y已定义为int类型且x的值为99,y的值为9,请将输出语句printf(【7】,x/y);补充完整,使其输出的计算结果形式为:x/y=11(8)有以下程序#includemain(){charc1,c2;scanf(“&c”,&c1);while(c1<65||c1>90)scanf(“&c”,&c1);c2=c1+32;printf(“&c,&cn”,c1,c2);}程序运行输入65回车后,能否输出结果、结束运行(请回答能或不能)【8】。(9)以下程序运行后的输出结果是【9】#includemain(){intk=1,s=0;do{if{((k&2)!=0)continue;s+=k;k++;}while(k)10);printf(“s=&d/n”,s);}(10)下列程序运行时,若输入labced12df<回车>输出结果为【10】#includemain(){chara=0,ch;while((ch=getchar())!=’n’){if(a&2!=0&&(ch>’a’&&ch<=’z’))ch=ch-‘a’+’A’;a++;putchar(ch);}printf(“n”);n}(11)有以下程序,程序执行后,输出结果是【11】#includevoidfun(int*a){a[0=a[1];]}main(){inta[10]={10,9,8,7,6,5,4,3,2,1},i;for(i=2;i>=0;i--)fun{&a};for(i=0;i<10;i++)printf(“&d”,a);printf(“n”);}(12)请将以下程序中的函数声明语句补充完整#includeint【12】;main(){intx,y,(*p)();p=max;printf(“&dn”,&x,&y);}Intmax(inta,intb){return(a>b/a:b);}(13)以下程序用来判断指定文件是否能正常打开,请填空#includemain(){FILE*fp;if(((fp=fopen(“test.txt”,”r”))==【13】))printf(“未能打开文件!n”);elseprintf(“文件打开成功!n”);(14)下列程序的运行结果为【14】#include#includestructA{inta;charb[10];doublec;};voidf(structA*t);main(){structAna=(1001,”ZhangDa”,1098,0);f(&a);printf(“&d,&s,&6,ifn”,a.a,a.b,a.c);}voidf(structA*t){strcpy(t->b,”ChangRong”);}(15)以下程序把三个NODETYPE型的变量链接成一个简单的链表,并在while循环中输出链表结点数据域中的数据,请填空#includestructnode{intdata;structnode*next;};typedefstructnodeNODETYPE;main(){NODETYPEa,b,c,*h,*p;a.data=10;b.data=20;c.data=30;h=&a;b.next=&b;b.next=&c;c.next=’’;p=h;while(p){printf(“&d”,p->data);【15】;}}2011年3月全国计算机等级考试二级笔试试卷C语言程序设计(考试时间90分钟,满分100分)一、选择题(1-10,21-40每题2分,11-20每题1分,共70分)  (1)下列关于栈叙述正确的是  A)栈顶元素最先能被删除  B)栈顶元素最后才能被删除  C)栈底元素永远不能被删除  D)以上三种说法都不对  (2)下列叙述中正确的是  A)有一个以上根结点的数据结构不一定是非线性结构  B)只有一个根结点的数据结构不一定是线性结构  C)循环链表是非线性结构  D)双向链表是非线性结构  (3)某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)  A)3B)4C)6D)7  (4)在软件开发中,需求分析阶段产生的主要文档是n  A)软件集成测试计划B)软件详细设计说明书  C)用户手册D)软件需求规格说明书  (5)结构化程序所要求的基本结构不包括  A)顺序结构B)GOTO跳转  C)选择(分支)结构D)重复(循环)结构  (6)下面描述中错误的是  A)系统总体结构图支持软件系统的详细设计  B)软件设计是将软件需求转换为软件表示的过程  C)数据结构与数据库设计是软件设计的任务之一  D)PAD图是软件详细设计的表示工具  (7)负责数据库中查询操作的数据库语言是  A)数据定义语言  B)数据管理语言  C)数据操纵语言  D)数据控制语言  (8)一个教师可讲授多门课程,一门课程可由多个教师讲授。则实体教师和课程间的联系是  A)1:1联系B)1:m联系  C)m:1联系D)m:n联系(9)有三个关系R、S和T如下:    则由关系R和S得到关系T的操作是  A)自然连接B)交C)除D)并  (10)定义无符号整数类为UInt,下面可以作为类UInt实例化值的是  A)-369B)369C)0.369D)整数集合{1,2,3,4,5}  (11)计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是  A)C语言程序仅可以编译执行  B)C语言程序仅可以解释执行  C)C语言程序既可以编译执行又可以解释执行  D)以上说法都不对n  (12)以下叙述中错误的是  A)C语言的可执行程序是由一系列机器指令构成的  B)用C语言编写的源程序不能直接在计算机上运行  C)通过编译得到的二进制目标程序需要连接才可以运行  D)在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件  (13)以下选项中不能用作C程序合法常量的是  A)1,234B)'123'  C)123D)"x7G"  (14)以下选项中可用作C程序合法实数的是  A).1e0B)3.0e0.2  C)E9D)9.12E  (15)若有定义语句:inta=3,b=2,c=1;,以下选项中错误的赋值表达式是  A)a=(b=4)=3;B)a=b=c+1;  C)a=(b=4)+c;D)a=1+(b=c=4);  (16)有以下程序段  charname[20];  intnum;  scanf("name=%snum=%d",name;&num);  当执行上述程序段,并从键盘输入:name=Lilinum=1001<回车>后,name的值为  A)Lili  B)name=Lili  C)Lilinum=  D)name=Lilinum=1001  (17)if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是  A)必须是逻辑值B)必须是整数值  C)必须是正数D)可以是任意合法的数值(18)有以下程序  #include  main()  {intx=011;  printf("%dn",++x);  }  程序运行后的输出结果是  A)12B)11C)10D)9n (19)有以下程序  #include  main()  {ints;  scanf("%d",&s);  while(s>0)  {switch(s)  {case1:printf("%d",s+5);  case2:printf("%d",s+4);break;  case3:printf("%d",s+3);  default:printf("%d",s+1);break;  }  scanf("%d",&s);  }  }  运行时,若输入123450<回车>,则输出结果是  A)6566456B)66656C)66666D)6666656  (20)有以下程序段  inti,n;  for(i=0;i<8;i++)  {n=rand()%5;  switch(n)  {case1:  case3:printf("%dn",n);break;  case2:  case4:printf("%dn",n);continue;  case0:exit(0);  }  printf("%dn",n);  }  以下关于程序段执行情况的叙述,正确的是  A)for循环语句固定执行8次  B)当产生的随机数n为4时结束循环操作  C)当产生的随机数n为1和2时不做任何操作  D)当产生的随机数n为0时结束程序运行 (21)有以下程序  #include  main()  {chars[]="012xy8s34f4w2";  inti,n=0;  for(i=0;s[i]!=0;i++)n  if(s[i]>='0'&&s[i]<='9')n++;  printf("%dn",n);  }  程序运行后的输出结果是  A)0B)3C)7D)8(22)若i和k都是int类型变量,有以下for语句  for(i=0,k=-1;k=1;k++)printf("*****n");  下面关于语句执行情况的叙述中正确的是  A)循环体执行两次  B)循环体执行一次  C)循环体一次也不执行  D)构成无限循环  (23)有以下程序  #include  main()  {charb,c;inti;  b='a';c='A';  for(i=0;i<6;i++)  {if(i%2)putchar(i+b);  elseputchar(i+c);  }printf("n");  }  程序运行后的输出结果是  A)ABCDEFB)AbCdEfC)aBcDeFD)abcdef  (24)设有定义:doublex[10],*p=x;,以下能给数组x下标为6的元素读入数据的正确语句是  A)scanf("%f",&x[6]);B)scanf("%lf",*(x+6));  C)scanf("%lf",p+6);D)scanf("%lf",p[6]);  (25)有以下程序(说明:字母A的ASCII码值是65)  #include  voidfun(char*s)  {while(*s)  {if(*s%2)printf("%c",*s);  s++;  }  }  main()  {chara[]="BYTE";  fun(a);printf("n");  }n  程序运行后的输出结果是  A)BYB)BTC)YTD)YE  (26)有以下程序段  #include  main()  {…  while(getchar()!='n');  …  }  以下叙述中正确的是  A)此while语句将无限循环  B)getchar()不可以出现在while语句的条件表达式中  C)当执行此while语句时,只有按回车键程序才能继续执行  D)当执行此while语句时,按任意键程序就能继续执行(27)有以下程序  #include  main()  {intx=1,y=0;  if(!x)y++;  elseif(x==0)  if(x)y+=2;  elsey+=3;  printf("%dn",y);  }  程序运行后的输出结果是  A)3B)2C)1D)0(28)若有定义语句:chars[3][10],(*k)[3],*p;,则以下赋值语句正确的是  A)p=s;B)p=k;C)p=s[0];D)k=s;  (29)有以下程序  #include  voidfun(char*c)  {while(*c)  {if(*c>='a'&&*c<='z')*c=*c-('a'-'A');  c++;  }  }  main()  {chars[81];  gets(s);fun(s);puts(s):  }n  当执行程序时从键盘上输入HelloBeijing<回车>,则程序的输出结果是  A)hellobeijingB)HelloBeijingC)HELLOBEIJINGD)hELLOBeijing  (30)以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。  #include  #defineN10  voidfun(intx[N])  {inti=0;  while(i<>  }  在程序中下划线处应填入的是  A)x+iB)&x[i+1]  C)x+(i++)D)&x[++i]  (31)有以下程序  #include  main()  {chara[30],b[30];  scanf("%s",a);  gets(b);  printf("%sn%sn",a,b);  }  程序运行时若输入:  howareyou?Iamfine<回车>  则输出结果是  A)howareyou?B)how  Iamfineareyou?Iamfine  C)howareyou?IamfineD)rowareyou?  (32)设有如下函数定义  intfun(intk)  {if(k<1)return0;  elseif(k==1)return1;  elsereturnfun(k-1)+1;  }  若执行调用语句:n=fun(3);,则函数fun总共被调用的次数是  A)2B)3C)4D)5  (33)有以下程序  #include  intfun(intx,inty)  {if(x!=y)return((x+y);2);  elsereturn(x);  }n  main()  {inta=4,b=5,c=6;  printf("%dn",fun(2*a,fun(b,c)));  }  程序运行后的输出结果是  A)3B)6C)8D)12(34)有以下程序  #include  intfun()  {staticintx=1;  x*=2;  returnx;  }  main()  {inti,s=1;  for(i=1;i<=3;i++)s*=fun();  printf("%dn",s);  }  程序运行后的输出结果是  A)0B)10C)30D)64  (35)有以下程序  #include  #defineS(x)4*(x)*x+1  main()  {intk=5,j=2;  printf("%dn",S(k+j));  }  程序运行后的输出结果是  A)197B)143C)33D)28  (36)设有定义:struct{charmark[12];intnum1;doublenum2;}t1,t2;,若变量均已正确赋初值,则以下语句中错误的是  A)t1=t2;B)t2.num1=t1.num1;  C)t2.mark=t1.mark;D)t2.num2=t1.num2;  (37)有以下程序  #include  structord  {intx,y;}dt[2]={1,2,3,4};  main()  {  structord*p=dt;n  printf("%d,",++(p->x));printf("%dn",++(p->y));  }  程序运行后的输出结果是  A)1,2B)4,1C)3,4D)2,3  (38)有以下程序  #include  structS  {inta,b;}data[2]={10,100,20,200};  main()  {structSp=data[1];  printf("%dn",++(p.a));  }  程序运行后的输出结果是  A)10B)11C)20D)21  (39)有以下程序  #include  main()  {unsignedchara=8,c;  c=a>>3;  printf("%dn",c);  }  程序运行后的输出结果是  A)32B)16C)1D)0  (40)设fp已定义,执行语句fp=fopen("file","w");后,以下针对文本文件file操作叙述的选项中正确的是  A)写操作结束后可以从头开始读B)只能写不能读  C)可以在原有内容后追加写D)可以随意读和写二、填空题(1)有序线性表能进行二分查找的前提是该线性表必须是【1】存储的。(2)一棵二叉树的中序遍历结果为DBEAFC,前序遍历结果为ABDECF,则后序遍历结果为【2】。(3)对软件设计的最小单位(模块或程序单元)进行的测试通常称为【3】测试。(4)实体完整性约束要求关系数据库中元组的【4】属性值不能为空。(5)在关系A(S,SN,D)和关系B(D,CN,NM)中,A的主关键字是S,B的主关键字是D,则称【5】是关系A的外码。n  (6)以下程序运行后的输出结果是【6】。  #include  main()  {inta;  a=(int)((double)(3/2)+0.5+(int)1.99*2);  printf("%dn",a);  }  (7)有以下程序  #include  main()  {intx;  scanf("%d",&x);  if(x>15)printf("%d",x-5);  if(x>10)printf("%d",x);  if(x>5)printf("%dn",x+5);  }  若程序运行时从键盘输入12<回车>,则输出结果为【7】。  (8)有以下程序(说明:字符0的ASCII码值为48)  #include  main()  {charc1,c2;  scanf("%d",&c1);  c2=c1+9;  printf("%c%cn",c1,c2);  }  若程序运行时从键盘输入48<回车>,则输出结果为【8】。  (9)有以下函数  voidprt(charch,intn)  {inti;  for(i=1;i<=n;i++)  printf(i%6!=0?"%c":"%cn",ch);  }  执行调用语句prt('*',24);后,函数共输出了【9】行*号。(10)以下程序运行后的输出结果是【10】。  #include  main()  {intx=10,y=20,t=0;  if(x==y)t=x;x=y;y=t;n  printf("%d%dn",x,y);  }  (11)己知a所指的数组中有N个元素。函数fun的功能是,将下标k(k>0)开始的后续元素全部向前移动一个位置。请填空。  voidfun(inta[N],intk)  {inti;  for(i=k;i  }  (12)有以下程序,请在【12】处填写正确语句,使程序可正常编译运行。  #include  【12】;  main()  {doublex,y,(*p)();  scanf("%lf%lf",&x,&y);  p=avg;  printf("%fn",(*p)(x,y));  }  doubleavg(doublea,doubleb)  {return((a+b)/2);}  (13)以下程序运行后的输出结果是【13】。  #include  main()  {inti,n[5]={0};  for(i=1;i<=4;i++)  {n[i]==n[i-1]*2+1;printf("%d",n[i]);}  printf("n");  }  (14)以下程序运行后的输出结果是【14】。  #include  #include  #include  main()  {char*p;inti;  p=(char*)malloc(sizeof(char)*20);  strcpy(p,"welcome");  for(i=6;i>=0;i--)putchar(*(p+i));  printf("n-");free(p);  }  (15)以下程序运行后的输出结果是【15】。n  #include  main()  {FILE*fp;intx[6]={1,2,3,4,5,6},i;  fp=fopen("test.dat","wb");  fwrite(x,sizeof(int),3,fp);  rewind(fp);  fread(x,sizeof(int),3,fp);  for(i=0;i<6;i++)printf("%d",x[i]);  printf("n");  fclose(fp);  }2008年9月笔试卷参考答案一、选择题(1-5)BDCAD(6-10)BABCD(11-15)CDACD(16-20)ADCBA(21-25)CABAB(26-30)CDDAB)(31-35)CACDB(36-40)CDDCB二、填空题(1)【1】DBXEAYFZC(2)【2】单元(3)【3】过程(4)【4】逻辑设计(5)【5】分量(6)【6】a=a-(a+b)或(a=-b)(7)【7】a=%dnb=%d(8)【8】1(9)【9】9911(10)【10】3(11)【11】15(12)【12】i--(13)【13】n(14)【14】func()(15)【15】m++2009年3月答案:选择题:1~10:DACDCABABC11~20:CBDDACDBCB21~30:CDABABACBC31~4ADBCCCBDAC填空题:(1)19(2)白盒(3)顺序结构(4)数据库管理系统(DBMS)(5)菱形(6)4n(7)"x/y=%d"(8)能(9)s=0(10)1AbCeDf2dF(11)7777654321(12)max(inta,intb)(13)NULL(14)1001,ChangRong,1098.0(15)p=p—>next(1)C(2)B(3)D(4)A(5)B(6)A(7)C(8)B(9)C(10)D(11)D(12)C(13)A(14)B(15)B(16)D(17)C(18)A(19)A(20)B(21)D(22)C(23)A(24)C(25)D(26)B(27)A(28)C(29)C(30)B(31)D(32)A(33)A(34)C(35)A(36)B(37)A(38)D(39)C(40)C二、填空题(1)14(2)逻辑条件(3)需求分析(4)多对多(5)身份证号(6)5(7)1(8)10(9)5(10)011232010.3参考答案 一、选择题:1-5ADBAC    6-10BADCA   11-15BBDCC  16-20DABCA 21-25DDABD  26-30ADBCC  31-35ACBCC  36-40BADAC二、填空题1、ABCDEF543212、153、EDBGHFCA4、程序5、课号6、(x%3==0)&&(x%7==0)7、48、79、12356910、13511、10141812、fabcden13、x%1014、''或者填写015、p2010.9答案:选择题:1~10:DACDCABABC11~20:CBDDACDBCB21~30:CDABABACBC31~40:ADBCCCBDAC填空题:(1)19(2)白盒(3)顺序结构(4)数据库管理系统(DBMS)(5)菱形(6)4(7)"x/y=%d"(8)能(9)s=0(10)1AbCeDf2dF(11)7777654321(12)max(inta,intb)(13)NULL(14)1001,ChangRong,1098.0(15)p=p—>next2011年3月全国计算机等级考试二级笔试试卷C语言程序设计答案一.选择题1-5ABDDB6-10ACDCB11-15ADAAA16-20ADCAD21-25BDBCD26-30CDCCC31-35BBBDB36-40CDDCB二,填空题1)顺序2)DEBFCA3)单元测试4)主键5)D6)37)12178)099)410)20011)i-112)doubleavg(doublea,doubleb)13)1271514)Emoclew15)123456
查看更多

相关文章

您可能关注的文档