c语言历年题库_第1页
c语言历年题库_第2页
c语言历年题库_第3页
c语言历年题库_第4页
已阅读5页,还剩116页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2006年4月全国计算机等级考试二级C语言笔试试题(含参考答案)ー选择题((1)-(10)每题2分,(11)-(50)每题1分,共60分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。1)下列选项中不属于结构化程序设计方法的是A)自顶向下B)逐步求精〇模块化D)可复用2)两个或两个以上模块之间关联的紧密程度称为A)耦合度B)内聚度〇复杂度D)数据传输特性3)下列叙述中正确的是A)软件测试应该由程序开发者来完成B)程序经调试后一般不需要再测试〇软件维护只包括对程序代码的维护D)以上三种说法都不对4)按照“后进先出”原则组织数据的数据结构是A)队列B)栈〇双向链表D)二叉树5)下列叙述中正确的是A)线性链表是线性表的链式存储结构B)栈与队列是非线性结构〇双向链表是非线性结构D)只有根结点的ニ叉树是线性结构6)对如下ニ叉树进行后序遍历的结果为A)ABCDEFB)DBEAFCC)ABDECFD)DEBFCA7)在深度为7的满ニ叉树中,叶子结点的个数为A)32B)31C)64D)63“商品”与“顾客”两个实体集之间的联系一般是A)一对ーB)ー对多C)多对ーD)多对多9)在E-R图中,用来表示实体的图形是A)矩形B)椭圆形〇菱形D)三角形10)数据库DB,数据库系统DBS,数据库管理系统DBMS之间的关系是

DB包含DBS和DBMSDBMS包含DB和DBSDBS包含DB和DBMSD)没有任何关系11)以下不合法的用户标识符是A)J2KEYB)DoubleC)4dD)_8_12)以下不合法的数值常量是A)011B)leiC)8.0E0.5D)Oxabcd13)以下不合法的字符常量是A)'\018'B)VC)*\\'D)へxcc'14)表达式3.6-5/2+1.2+5%2的值是A)4.3B)4.8C)3.3D)3.815)以下能正确定义字符串的语句是charstr[[={へ064'};char§tr="\x43”;charstr=w;charstr[]="\〇”;16)以下数组定义中错误的是A)intx|||3|={0};B)intx[2][31={{1,2},{3,4},{5,6}};C)ntx[H3]={{1,23},{4,5,6));D)intx[2][3]={l,23,4,S,6};17)若要求从键盘读入含有空格字符的字符串,应使用函数A)getc()B)gets()C)getchar()18)A)getc()B)gets()C)getchar()18)下四个程序中,完全正确的是A)#includemain();{/*programming*/printf("programming!\n");}C)includemain(){/*/*programming*/printf("programming八n");}D)scanf()B)#includemain(){"/programming/*/printf("programming!\n");}D)includemain()*/{"programming*/printf(“programming八n");}19)19)若有定义:floatx=l.5;inta=l,b=3,c=2;则正确的switch语句是A)switch(x){case1.0:printf(A)switch(x){case1.0:printf(M*\nw);Case2.0:printf(“**\n");}C)switch(a+b)B)switch((int)x);{case1:printf("*\n“);case2:printf(u**\nM);}D)switch(a+b)case2+1:printf(M**\nw);}casec:printf(“**\n");}{case1:printf(M*\nw);{case1:printf(ハ!!”);20)若各选项中所用变量已正确定义,函数fun中通过return语句返回一个函数值,以下选项中错误的程序是A)main(){……x=fun(2,10);……}floatfun(inta,intb){ }C)floatfun(int,int);main(){……x=fun(2,10);……}floatfun(inta,intb){ }21)在以下给出的表达式中,B)floatfun(inta,intb){ }main(){ x=fun(ij); }D)main(){floatfun(intijntj); x=fun(i,j); }floatfun(inta,intb){ }与while(E)中的(E)不等价的表达式是A)(!E=0)B)(E>0||E<0)C)(E=0)D)(E!=0)22)要求通过while循环不断读入字符,当读入字母N时结束循环。若变量已正确定义,以下正确的程序段是A)while((ch=getchar())!=,N,)print負“%c”,ch);B)while(ch=getchar()!=,N,)printf("%c”,ch);C)while(ch=getchar()=N,)printf(“%c”,ch);D)while((ch=getchar())==,N,)printf("%c”,ch);23)已定义以下函数intfun(int*p){return*p;}fun函数返回值是A)不确定的值B)ー个整数〇形参p中存放的值D)形参p的地址值24)若有说明语句:double*p,a;则能通过scanf语句正确给输入项读入数据的程序段是A)*p=&a;scanf(w%ir,p);B)*p=&a;scanf(w%f\p);C)p=&a;scanf(u%ir\*p);D)p=&a;scanf(“%lf”,p);25)现有以下结构体说明和变量定义,如图所示,指针p,q,r分别指向ー个链表中连续的三个结点。structnodechardata;structnode*next;}*p,*q,*r;现要将q和r所指结点交换前后位置,同时要保持链表的连续,以下不能完成此操作的语句是q->next=r->next;p->next=r;r->next=q;p->next=r;q->next=r->next;r-.next=q;q->next=r->next;r->next=q;p->next=r;r->ncxt=q;p-next=r;q-next=r->next;26)有以下程序段structst{intx;int*y;}*pt:inta||={l,2}.b|]={3,4};structstc[2]={10,a,20,b};pt=c;以下选项中表达式的值为11的是A)*pt->yB)pt->xC)++pt->xD)(pt++)->x27)设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为A)EOFB)非〇值〇〇D)NULL28)设有以下语句inta=l,b=2,c;c=aA(b«2);执行后,C的值为A)6B)7C)8D)929)有以下程序#includemain(){charcl,c2,c3,c4,c5,c6;scanf("%c%c%c%c",&cl,&c2,&c3,&c4);c5=getchar();c6=getchar();putchar(cl);putchar(c2);printf("%c%c\n”,c5,c6);程序运行后,若从键盘输入(从第1列开始)123V回车〉45678V回车〉则输出结果是A)1267B)1256C)1278D)124530)若有以下程序main(){inty=10;while(y--);printf(“y=%d\n"y);}程序运行后的输出结果是A)y=OB)y=-1C)y=lD)vvhile构成无限循环31)有以下程序main(){inta=O,b=O,c=O,d=O;if(a=l)b=l;c=2;elsed=3;printf("%d,%d,%d,%d\n”,a,b,c,d);程序输出A)0,1,2,0B)0,0,0,3C)l,l,2,0D)编译有错32)有以下程序main(){inti,j,x=0;for(i=0;i<2;i++)V{x++;for(j=0;j<=3;j++){if(j%2)continue;x++;)x++;printf(“x=%d\n",x);程序执行后的输出结果是A)x=4B)x=8〇x=6D)x=1233)有以下程序intfunl(doublea){returna*=a;}intfun2(doublex,doubley)doublea=0,b=0;a=funl(x);b=funl(y);return(int)(a+b);main(){doublew;w=fun2(l.1,2.0); }程序执行后变量W中的值是A)5,21B)5C)5.0D)0.034)有以下程序main(){inti,t|l[3]=<9,8,7,6,5,4,3,2,l);for(i=0;i<3;i++)printf(“%d”,t[2-i|[i]);程序的执行后的输出结果是A)753B)3570369D)75135)有以下程序fun(charp[|[10]){intn=0,i;for(i=0;i<7;i++)if(p|i||0|==*r)n++;returnn;}main(){charstr[H10]={“Mon”,“Tue”,“Wed”,“ThuYFrFJSatFSuir};printf(tt%d\nM,fun(str));}程序执行后的输出结果是A)1NB)2C)3D)036)有以下程序main(){inti,s=O,t||={1,2,3,4,5,6,7,8,9};for(i=0;i<9;i+=2)s+=*(t+i);printf("%d\n",s);}程序执行后的输出结果是A)45B)20〇25D)3637)有以下程序voidfunl(char*p)char*q;q=p;while(*q!=*\0*){(*q)++;q++;}}main(){chara[]={"Program"},*p;p=&a|3|;funl(p);printf(u%s\n,,,a);}程序执行后的输出结果是A)ProhsbnB)PrphsbnC)ProgsbnD)Program、38)有以下程序voidswap(char*x,char*y){chart;t=*x;*x=*y;*y=t;|main(){char*§l="abc",*§2="123”;swap(sl9s2);printf(M%s,%s\nw,sl,s2);}程序执行后的输出结果是A)123,abcB)abc,123C)lbc,a23D)321,cba39)有以下程序intfun(intn){if(n=l)return1;elsereturn(n+fun(n-l));)main(){intx;scanf(u%dM,&x);x=fun(x);prin氓“%d\n”,x);程序执行时,给变量、输入10,程序的输出结果是A)55B)54C)65D)4540)有以下程序intfun(intx||Jntn){staticintsum=0,i;for(i=0;isum+=x|i|;returnsum;}main(){inta[尸{1,2,3,4,5},b[ド{6,7,8,9},s=0;s=fun(a,5)+fun(b,4);printf("%d\n”,s);}程序执行后的输出结果是A)45B)50060D)5541)有以下程序main()(union{charch|2|;intd;}s;s.d=0x4321;printf(u%x,%x\n"9s.ch|0|,s.ch[l|);)在16位编译系统上,程序执行后的输出结果是A)21,43B)43,21C)43,00D)21,0042)有以下程序main(){char*p[]={“3697”,“2584"};inti,j;longnum=0;for(i=0;i<2;i++){j=0;while(p|i||j|!=,\0,){if((p|illj|-'0,)%2)num=10*num+p|i]|j|-t0,;j+=2;}}printf("%d\n"num);程序执行后的输出结果是A)35B)37039D)397543)执行以下程序后,test.txt文件的内容是(若文件能正常打开)#includemain(){FILE*fp;char*sl=,,Fortran,\*s2=,,Basicw;if((fp=fopen(utest.txtM,wwbw))=NULL){printf(wCanftopentest.txtfile\n,,);exit(l);}fwrite(sl,7,l,fp);/*把从地址si开始的7个字符写到fp所指文件中・/fseek(fp,OL,SEEK_SET);/・文件位置指针移到文件开头・/fwrite(s2,5,l,fp);fclose(fp);)A)BasicanB)BasicFortranC)BasicD)FortranBasic44)以下叙述中错误的是C语言源程序经编译后生成后缀为.obj的目标程序C语言经过编译、连接步骤之后才能形成一个真正可执行的ニ进制机器指令文件C)用C语言编写的程序称为源程序,它以ASCII代码形式存放在ー个文本文件中D)C语言的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令45)以下叙述中错误的是A)算法正确的程序最终一定会结束B)算法正确的程序可以有零个输出〇算法正确的程序可以有零个输入D)算法正确的程序对于相同的输入一定有相同的结果46)以下叙述中错误的是A)C程序必须由一个或ー个以上的函数组成B)函数调用可以作为ー个独立的语句存在〇若函数有返回值,必须通过return语句返回D)函数形参的值也可以传回对应的实参47)设有以下定义和语句charstr|20|="Program",*p;p=str;则以下叙述中正确的是*p与str[0]中的值相等str与p的类型完全相同str数组长度和p所指向的字符串长度相等D)数组str中存放的内容和指针变量p中存放的内容相同48)以下叙述中错误的是A)C程序中的#include和#define行均不是C语句B)除逗号运算符外,赋值运算符的优先级最低C程序中,j++;是赋值语句C程序中,+、ー、・、/、%号是算术运算符,可用于整型和实型数的运算49)以下叙述中正确的是A)预处理命令行必须位于C源程序的起始位置B)在C语言中,预处理命令行都以“#"开头C)每个C程序必须在开头包括预处理命令行:includeD)C语言的预处理不能实现宏定义和条件编译的功能50)以下叙述中错误的是A)可以通过typedef增加新的类型B)可以用typedef将已存在的类型用ー个新的名字来代表C)用typedef定义新的类型名后,原有类型名仍有效D)用typedef可以为各种类型起别名,但不能为变量起别名填空题(每空2分,共40分)请将每一个空的正确答案写在答题卡至1201序号的横线上,答在试卷上不得分1)对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为[1|。2)在面向对象方法中,|2]描述的是具有相似属性与操作的一组对象。3)在关系模型中,把数据看成是二维表,每ー个二维表称为ー个ー网〇4)程序测试分为静态分析和动态测试,其中一⑷是指不执行程序,而只是对程序文本进行检査,通过阅读和讨论,分析和发现程序中的错误。5)数据独立性分为逻辑独立性与物理独立性,当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,称为」5].6)若变量a,b已定义为int类型并赋值21和55,要求用printf函数以a=21,b=55的形式输出,请写出完整的输出语句ー[6]—.7)以下程序用于判断a,b,c能否构成三角形,若能输出YES,若不能输出NO。当a,b,c输入三角形三条边长时,确定a,b,c能构成三角形的条件是需要同时满足三条件:a+b>c,a+c>b,b+c>a〇请填空。main(){floata,b,c;scanfr%f%f%P,&a,&b,&c);if(_I7|_)printf("YES\n");/*a,b,c能构成三角形・/elseprintf(“NO\n");/*a,b,c不能构成三角形・/8)以下程序的输出结果是ー网main(){inta|3][3J={{l,2,9},{3,4,8},{5,6,7}},i,s=0;for(i=0;i<3;i++)s+=a[i][il+a[i][3-i-l];printf(<<%d\n,,,s);)9)当运行以下程序时,输入abed,程序的输出结果是:」9|ー〇insert(charstr[]){inti;i=strlen(str);whiIe(i>0){str[2*i]=str[i];str|2*i-l|=,**;i—;)printf("%s\nZ§tr);}main(){charstr|40];scanf("%s”,str);insert(str);}10)以下程序的运行结果是:_|10]fun(intt[]Jntn){inti,m;if(n=l)returnt|0|;elseif(n>=2){m=fun(t,n-l);returnm;}}main()(inta[]={11,4,6,3,8,2,3,5,9,2};printf("%d\n”,fun(a,10));}11)现有两个c程序文件T18.C和myfun.c同时在TC系统目录(文件夹)下,其中T18.C文件如下:#include#include''myfun・c''main(){fun();printf("\n");}myfun.c文件如下:voidfun(){char§[80],c;infn=0;whlle((c=getcharO)!=,\n,)s[n-H-|=c;n-;while(n>=0)printf(w%c^s[n-J);当编译连接通过后,运行程序T18时,输入Thank!则输出的结果是:—111|.12)以下函数fun的功能是返回str所指字符串中以形参c中字符开头的后续字符串的首地址,例如:str所指字符串为Hello!,c中的字符为e,则函数返回字符串:ello!的首地址。若str所指字符串为空串或不包含c中的字符,则函数返回NULL。请填空。char*fun(char*str,charc){intn=0;char*p=str;if(p!=NULL)while(p[n!!=c&&p[n]!=,\0,)n++;if(p|n|=,\0,returnNULL;return(_|12]_);}13)以下程序的功能是:输出100以内(不含!00)能被3整除且个位数为6的所有整数,请填空。main(){inti,j;for(i=0;_|13]_;i++){j=i*10+6;)continue;printf(“%d”,j);}}14)以下isprime函数的功能是判断形参a是否为素数,是素数,函数返回1,否则返回0,请填空intisprime(inta){inti;for(i=2;i<=a/2;i-H-)if(a%i=0)_|15]—;_|16|—;}15)以下程序的功能是输入任意整数给n后,输出n行由大写字母A开始构成的三角形字符阵列图形,例如,输入整数5时(注意:n不得大于10),程序运行结果如下:ABCDEFGH1JKLMNO请填空完成该程序。main(){intij,n;charch=,A*;scanf(w%dM,&n);if(n<ll){for(i=l;i<=n;i++){forG=l;j<=n-i+l;j++){printf("%2c”,ch);—1171—;[18]}}elseprintf(unistoolarge!\nw);printf(“\n");}16)以下程序中函数fun的功能是:构成一个如图所示的带头结点的单向链表,在结点数据域中放入了具有两个字符的字符串。函数disp的功能是显示输出该单链表中所有结点中的字符串。请填空完成函数disp。#includetypedefstructnode/・链表结点结构・/{charsub|3|;Structnode*next;}Node;Nodefun(chars)/・建立链表・/voiddisp(Node*h)(Node*p;p=h->next;While([19]){printf("%s\n”,p・>§ub);p=[20];}}main()Node*hd;hd=fun();disp(hd);printff如う;}2006年4月全国计算机等级考试二级C语言笔试试题参考答案ー、选择题1-10:DADBADCDACll-20:CCADDBBBCA21-30:CABDDCDDDB31-40:DBCBBCACAC41-50:ACADBDCDBA、二、填空题1、452、类3、关系4、静态分析5、物理独立性6、printf("a=%d,b=%d",a,b)7、a+b>c&&a+c>b&&b+c>a8、309、a*b*c*d*10、1111、ahT12、p+n或str+nl3、i<=9或i<1014,j%3!=015、return016、return117、ch=ch+118、printf("\n'')19、p!=NULL20、p->next2006年9月二级C语言笔试试题(考试时间120分钟,满分100分)ー、选择题((1)〜(10)每题2分,(11)〜(50)每题I分,共60分)下列各题A)、B)、 C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。(1)下列选项中不符合良好程序设计风格的是。A)源程序要文档化B)数据说明的次序要规范化〇避免滥用goto语句D)模块设计要保证髙耦合、髙内聚(2)从工程管理角度,软件设计一般分为两步完成,它们是.A)概要设计与详细设计B)数据设计与接口设计〇软件结构设计与数据设计D)过程设计与数据设计(3)下列选项中不属于软件生命周期开发阶段任务的是»A)软件测试B)概要设计 C)软件维护D)详细设计(4)在数据库系统中,用户所见的数据模式为〇A)概念模式B)外模式C)内模式D)物理模式(5)数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和.A)编码设计B)测试阶段 〇运行阶段D)物理设计(6)设有如下三个关系表BC13BC13ABCm13n13T下列操作中正确的是.A)T=RnS B)T=R3C)T=RXS D)T=R/S(7)下列叙述中正确的是〇ー个算法的空间复杂度大,则其时间复杂度也必定大ー个算法的空间复杂度大,则其时间复杂度必定小〇ー个算法的时间复杂度大,则其空间复杂度必定小D)上述三种说法都不对(8)在长度为64的有序线性表中进行顺序査找,最环境情况下需要比较的次数为A)63B)64C)6D)7(9)数据库技术的根本目标是要解决数据的。A)存储问题B)共享问题〇安全问题D)保护问题(10)对下列二叉树进行中序遍进行中序遍历的结果是.A)ACBDFEGB)ACBDFGE〇ABDCGEFD)FCADBEG(11)下列叙述中错误的是。ー个C语言程序只能实现ー种算法C程序可以由多个程序文件组成C程序可以由一个或多个函数组成ー个C函数可以单独作为ー个C程序文件存在(12)下列叙述中正确的是.A)每个C程序文件中都必须有一个main。函数B)在C程序中main()函数的位置是固定的C)C程序可以由一个或多个函数组成D)在C程序的函数中不能定义另ー个函数(13)下列定义变量的语句中错误的是〇A)int__int;B)doubleint_;C)charFor;D)floatUSS(14)若变量x、y已正确定义并赋值,以下符合C语言语法的表达式是0A)++x,y=x—B)x+l=yC)x=x+10=x+yD)double(x)/10(15)以下关于逻辑运算符两侧运算对象的叙述中正确的是。A)只能是整数()或1B)只能是整数〇或非〇的整数〇可以是结构体类型的数据D)可是任意合法的表达式(16)若有定义intx,y;并已正确给变量赋值,则以下选项中与表达式(x-y)?(x++):(y++)中的条件表达式(x-y)等价的是.A)(x-y>0)B)(x-y<0)C)(x-y<|x-y>0)D)(x-y-0)(17)有以下程序main(){intx,y,z;x=y=l;z=x-H-,y++,++y;printf("%d,%d,%d\n",x,y,z);}程序运行后的输出结果是。A)2,3,3B)2,3,2C)2,3,1D)2,2,1(18)设有定义:inta;floatb;执行scanグ%2d%「,&a,&b);语句时,若从键盘输入876543.0<回车》,a和b的值分别是0A)876和543.000000B)87和6.0000。〇C)8フ和543.000000D)76和543.000000(19)有以下程序main(){inta=0,b=0;a=10;/・给a赋值b=20;给b赋值・/printf("a+b=%d\n",a+b);/*输出计算结果・/}程序运行后输出结果是。A)a+b=0B)a+b=30C)30D)出错(20)在嵌套使用if语句时,C语言规定else总是〇A)和之前与其具有相同缩进位置的if配对B)和之前与其最近的if配对〇和之前与其最近的且不带else的if配对D)和之前的第一个if配对(21)下列叙述中正确的是〇A)break语句只能用于switch语句B)在switch语句中必须使用defaultC)break语句必须与switch语句中的case配对使用D)在switch语句中,不一定使用break语句(22)有以下程序mianO{intk=5;while(-k)printf(n%dtr,k-=3);printf(n\nH))执行后的输出结果是。A)1B)2C)4D)死循环(23)有以下程序main(){inti;for(l==1;l<=40;I++){if(I++%5=0)if(++I%8=0)printグ%d”,i)}printf(n\nM)}执行后的输出结果是〇A)5B)24C)32D)40(24)以下选项中,值为1的表达式0A)B) C)T・0D)"MTJO”(25)有以下程序fun(intx,inty){return(x+y);}main(){inta=l,b=2,c=3,sum;sum=fun((a++,b++b,a+b),c++);printf(n%d\nn,sum);)执行后的输出结果是〇A)6B)7 C)8D)9(26)有以下程序main(){chars||="abcde";s+=2;printf("%d\n",s|0|);)执行后的结果是。A)输出字符a的ASCII码B)输出字符c的ASCII码C)输出字符cD)程序出错(27)有以下程序fun(intx,inty){staticintm=0,I=2;I+=m+I;m=I+x+y;returnm;}main(){intj=l,m=I,k;k=funO,m);printf(M%dM,k);k=fun(j,m);printf(M%d\nM,k)}执行后的输出结果是.A)5,5B)5,11C)11,11D)11,5(28)有以下程序fun(intx){intp;if(x=OIx==1)return(3);p=x-fun(x=2);returnp;}main(){prinf(M%d\nH,fun(7));}执行后的输出结果是.A)7B)3 03D)0(29)在16位编译系统上,右有定义inta[]={10,2030},*p=&a;,当执行p++:后,下列说法错误的是«A)p向髙地址移了一个字节B)p抽髙地址移了一个存储单元〇p向髙地址移了两个字节D)p与a+!等价(30)有以下程序main(){inta=l,b=3,c=5;int*pl=&a,*p2=&b,*p=&c;*p=*pl*(*p2);printf(M%d\nM,c);)执行后的输出结果是A)1B)2 03D)4(31)若有定义:intw|3||5];,则以下不能正确表示该数组元素的表达式是,A)*(*w+3)B)*(w+l)|4]C)*(*(w+l))D)*(&w|01|0]+l)(32)若有以下函数首部intfun(doublex|10|,int*n)则下面针对此函数声母语句中正确的是.A)intfun(doublex,int*n);B)intfun(doubleJnt);C)intfun(double*x,intn);D)intfun(double*,int*);(33)若有定义语句:intk[2][3],*pk[3];,则以下语句中正确的是«A)pk=k;B)pk|0|=&k|l||2|;C)pk=k|0|;D)pk|l|=k;(34)有以下程序voidchange(intk||){k|0|=k|5|;)main(){intx[10]={l,2,3,4,5,6,7,8,9,10},n=0while(n<=4){change(&x|n|);n++;)for(n=0;n<5;n-H-)printf(M%dn,x[n|);printf(H\nM);)程序运行后输出的结果是.A)678910B)13579 0!2345D)62345(35)若要求定义具有10个int型元素的ー维数组a,则以下定义语句中错误的是A)#defineN10Inta[N]B)#definen5Inta[2*n]C)inta[5+5]D)intn=10,a{n|(36)有以下程序main(){intx网[2]={〇},I;for(l=0;I<3;I++)scanf("%d",x[i]);printf(,,%3d%3d%3d\n",x[0][0],x[0]|l],x|1][0]);}若运行时输入:246V回车〉,则输出结果为.A)200B)204C)240D)246(37)有以下程序main(){chars||={"aeiou"},*ps;ps=s;printf("%c\n",*ps+4);)程序运行后的输出结果是〇aB)eC)uD)元素s[4]的地址(38)以下语句中存在语法错误的是〇A)charss|6||20|;ss|l|=Mright?charss|][20]={nright?n);char*ss[6];ss[l]="right?u;char*ss[|={Hright?H};(39)若有定义:char*x="abcdefghi”以下选项中正确运用了strepy函数的是chary|10];strcpy(y,x|4|);chary[10];strcpy(-H-y,&x(l]);chary|10],*s;strcpy(s=y+5,x);chary[10],*s;strcpy(s=y+l,x+l);(40)有以下程序intadd(inta,intb){return+b};}main(){intk,(*D(),a=5,b=10;f=add;}则以下函数调用语句错误的是〇A)k=(*f)(a,b);B)k=add(a,b);C)k=*f(a,b);D)k=f(a,b);(41)有以下程序#include<string.h>main(intargc,charwargv||){inti=l,n=0;while(i<arge){n=n+strlen(argv[i]);i-H-;}printf("%d'n",n);)该程序生成的可执行文件名为:proc.exeo若运行时输入命令行:proc1234567则程序的输出结果是〇A)3B)5C)7D)11(42)有以下程序voidfun2(chara,charb){printi("%b%c"出,b);}chara='A',b='B';voidfun1(){a=1b='D';}main(){funl()printf(“%c%c”,a,b);fun2('E,,'ド);}程序的运行结果是〇A)CDEFB)ABEF〇ABCDD)CDAB(43)有以下程序#include<stdio.h>#defineN5#defineMN+1#definef(x)(x*M)main(){intil,i2;ii=f(2);i2=f(l+l);printf("%d%d\nw}程序的运行结果是。A)1212B)117C)1111D)127(44)设有以下语句typedefstructTT(charc;inta|4|;}CIN;则下面叙述中正确的是。A)可以用TT定义结构体变量B)TT是struct类型的变量C)可以用CIN定义结构体变量D)CIN是structTT类型的变量(45)有以下结构体说明、变量定义和赋值语句structSTD{charname[10);intage;charsex;}s|5],*ps;ps=&s[0];则以下scanf函数调用语句中错误引用结构体变量成员的是.A)scanf("%s",s[〇].name);B)scanf("%d" [0].age);C)scanf("%c”,&(ps>sex));D)scanf("%d”,ps>age);(46)若有以下定义和语句uniondata{inti;charc;floatf;}x;inty;则以下语句正确的是•A)x=10.5;B)x.c=101;C)y=x;D)printf("%d'n",x);(47)程序中已构成如下图所示的不带头结点的单向链表结构,指针变量§、p、q均已正确定义,并用于指向链表结点,指针变量s总是作为头指针指向链表的第一个结点。datanexteNULL若有以下程序段q=s;s=s>next;p=s;while(p->next)p=p->next;p->next=q;q->next=NULL;该程序段实现的功能是。A)首结点成为尾结点B)尾结点成为首结点〇删除首结点D)删除尾结点(48)若变量已正确定义,则以下语句的输出结果是。s=32;sA=32;printf("%d”,s);A)-1B)0C)1D)32(49)以下叙述中正确的是.A)C语言中的文件是流式文件,因此只能顺序存取数据B)打开一个已存在的文件并进行了写操作后,原有文件中的全部数据必定被覆盖〇在一个程序中当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到第1个数据D)当对文件的读(写)操作完成之后,必须将它关闭,否则可能导致数据丢失(50)有以下程序#include<stdio.h>main(){FILE*fp;inti;charch|]=wabed”,t;fp=fopen("abc.dat"wb+");for(i=0;i<4;i++)fwriter&ch[],1,1fp;fseek(fp,-2L,SEEK_END);fread(&t,l,l,fp);fclose(fp);printf(“%c\n”,t);}程序执行后的输出结果是A)dB)cC)bD)a06年9月二级c答案ー、选择题:01—05DACBD06—10CDBBA11—15ADDAD16—20CCBBC21—25DACBC26—30ABCDC31—35ADBAD36—40BBADC41—45CBBCD46—50BABDC二、填空题:1、32、调试3、元组4、栈5、线性6、12346.07、(0118、19、 7410、n=n/1011、(x+8)12、sin(x)13、014、i%2=015、s-16、・s++17、1818、!611 19、->data20、“rb”2007年4月全国计算机等级考试二级笔试试卷C语言程序设计(考试时间120分钟,满分100分)ー、选择题¢(1)〜(10)每题2分,(11)〜(50)每题I分,共60分)下列各题A)、B)、〇、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。(1)下列叙述中正确的是()A)算法的效率只与问题的规模有关,而与数据的存储结构无关B)算法的时间复杂度是指执行算法所需要的计算工作量〇数据的逻辑结构与存储结构是ーー对应的D)算法的时间复杂度与空间复杂度一定相关(2)在结构化程序设计中,模块划分的原则是()A)各模块应包括尽量多的功能B)各模块的规模应尽量大〇各模块之间的联系应尽量紧密D)模块内具有高内聚度、模块间具有低耦合度(3)下列叙述中正确的是()A)软件测试的主要目的是发现程序中的错误B)软件测试的主要目的是确定程序中错误的位置

〇为了提髙软件测试的效率,最好由程序编制者自己来完成软件测试的工作D)软件测试是证明软件没有错误(4)下面选项中不属于面向对象程序设计特征的是()A)继承性 B)多态性 C)类比性 D)封闭性(5)下列对列的叙述正确的是()A)队列属于非线性表B)队列按“先进后出”原则组织数据〇队列在队尾删除数据D)队列按“先进先出”原则组织数据(6)对下列ニ叉树进行前序遍历的结果为()B)YDEBFZXCAD)ABCDEFXYZB)YDEBFZXCAD)ABCDEFXYZ〇ABDYECFXZ(7)某ニ叉树中有n个度为2的结点,则该ニ叉树中的叶子结点为()A)n+1 B)n-1 C)2n D)n/2(8)在下列关系运算中,不改变关系表中的属性个数但能减少元组个数的是()A)并 B)交 C)投影 D)笛卡儿乘积(9)在E-R图中,用来表示实体之间联系的图形是()A)矩形 B)椭圆形 C)菱形 D)平行四边形(10)下列叙述中错误的是()A)在数据库系统中,数据的物理结构必须与逻辑结构一致B)数据库技术的根本目标是要解决数据的共享问题0数据库设计是指在已有数据库管理系统的基础上建立数据库D)数据库系统需要操作系统的支持(11)算法中,对需要执行的每ー步操作,必须给出清楚、严格的规定,这属于算法的()A)正当性 B)可行性 C)确定性 D)有穷性(12)下列叙述中错误的是()A)计算机不能直接执行用C语言编写的源程序B)C程序经C编译后,生成后缀为.obj的文件是ー个二进制文件〇后缀为.obj的文件,经连接程序生成后缀为.exe的文件是ー个二进制文件D)后缀为.obj和.exe的二进制文件都可以直接运行(13)按照C语言规定的用户标识符命名规则,不能出现在标识符中的是()A)大写字母 B)连接符 〇数字字符 D)下划线(14)以下叙述中错误的是()A)C语言是ー种结构化程序设计语言B)结构化程序有顺序、分支、循环三种基本结构组成〇使用三种基本结构构成的程序只能解决简单问题D)结构化程序设计提倡模块化的设计方法(15)对于ー个正常运行的C程序,以下叙述中正确的是()A)程序的执行总是从main函数开始,在main函数结束B)程序的执行总是从程序的第一个函数开始,在main函数结束〇程序的执行总是从main函数开始,在程序的最后一个函数中结束D)程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束(16)设变量均已正确定义,若要通过scanf("%d%c%d%c",&al,&cl*&a2,&c2);语句为变量al和a2赋数值10和20,为变量cl和c2赋字符X和Y。以下所示的输入形式正确的是(注:口代表空格字符)()A)10oXn20nY(回车〉 B)10nX20nY〈回车〉〇IOdX(回车〉 D)10X〈回车)20cYく回车〉 20Y〈回车)(17)若有代数式(其中e仅代表自然对数的底数,不是变量),则以下能够正确表示该代数式的C语言表达式是()A)sqrt(abs(nAx+eAx)) B)sqrt(fabs(pow(n,x)+pow(x,e)))C)sqrt(fabs(pow(n,x)+exp(x,e))) D)sqrt(fabs(pow(x,n)+exp(x)))(18)设有定义:intk=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是()A)k++ B)k+=l C)++k D)k+1(19)有以下程序,其中%u表示按无符号整数输出main(){unsignedintx=0xFFFF;/*x的初值为十六进制数・/printf(M%u\nn,x);}程序运行后的输出结果是()A)-1 B)65535 C)32767 D)0XFFFF(20)设变量x和y均已正确定义并赋值,以下if语句中,在编译时将产生错误信息的是()A)if(x++); B)if(x>y«&y!=0);C)if(x>0)x--; D)if(y<0){;}elsey-H-: elsex-H-;(21)以下选项中,当x为大于1的奇数时,值为〇的表达式()A)x%2=l B)x/2 C)x%2!=0 D)x%2=0(22)以下叙述中正确的是()break语句只能用于switch语句题中continue语句的作用是:使程序的执行流程跳出包含它的所有循环〇break语句只能用在循环体内和switch语句体内D)在循环体内使用break语句和continue语句的作用相同(23)有以下程序main(){intk=5,n=0;do{switch(k){easel:case3:n+=l;k-;break;default:n=O;k—;case2:case4:n+=2;k—;break;}printf(M%dn,n);}while(k>0&&n<5);}程序运行后的输出结果是()A)235 B)0235 C)02356 D)2356(24)有以下程序main(){inti,j;for(i=l;i<4;i-H-){ for(j=i;j<4;j++)printf(M\nM);jprintf(M%d*%d=%dM,i,j,i*j);i}程序运行后的输出结果是()1*1=11*2=21*3=3B)1*1=11*2=21*3=32*1=22*2=42*2=42*3=63*1=33*3=9C)1*1=1D)1*1=11*2=22*2=42*1=22*2=4

1*3=32*3=6 3*3=93*1=33*2=63*3=9(25)以下合法的字符型常量是()A)へ13' B)'\081'C)'65'D)“\n”(26)在C语言中,函数返回值的类型最终取决于()A)函数定义时在函数首部所说明的函数类型B)return语句中表达式值的类型〇调用函数时主调函数所传递的实参类型D)函数定义时形参的类型(27)已知大写字母A的ASCII码是65,小写字母a的ACSH码是97,以下不能将变量c中的大写字母转换为对应小写字母的语句是()B)c=c+32D)c=(,B)c=c+32D)c=(,A,+c)%26-,a,B)计算s所指字符串占用内存字节的个D)将s所指字符串复制到字符串t中C)c=c・’A'+'a'(28)有以下函数intfun(char*s){char*t=s;while(*t++);return(t-s);}该函数的功能是()A)比较两个字符串的大小数〇计算s所指字符串的长度(29)设已有定义:floatx;,则以下指针变量p进行定义且赋初值的语句中正确的是()A)float*p=1024;B)int*p=(float)x;C)floatp=&x;D)float*p=&x;(30)有以下程序#include<stdio.h>main(){intn,*p=NULL;*p=&n;printf(nInputn:");§canf("%d",&p);printf(noutputn:");printf("%d\n”,p);}该程序试图通过指针p为变量n读入数据并输出,但程序有多处错误,以下语句正确的是()A)intn,*p=NULL;B)*p=&n; C)scanf("%d",&p)D )printf("%d\n",p);(31)以下程序中函数f的功能是:当nag为4时,进行有小到大排序;当nag为0时,进行由大到小排序。voidf(intb|],intn,intflag){inti,j,t;for(i=0;i<n-l;i-H-)forG=i+l;j<n;j++)if(nag?b[i|>b|jl:b[i]<b[j]){t=b(i];b(i]=bU];bUI=t;}}main(){inta|10|={5,4,3,2,l,6,7,8,9,10},i;f(&a(2|,5,0);f(a,5,l);for(i=0;i<10;i++)printf("%d,"a|i|);}程序运行后的输出结果是()A)1,2,3,4,5,6,7,8,9,10,C)5,4,3,2,1,6,7,8,9,10,(32)有以下程序voidf(intb||){inti;for(i=2;i<6;i++)b|i|*=2;}main(){ inta|10]={l,2,3,4,5,6,7,8,9,10},i;f(a);for(i=0;i<10;i++)printf("%d,",a(i]);}程序运行后的输出结果是()A)1,2,3,4,5,6,7,8,9,10,01,2,3,4,10,12,14,16,9,10,(33)有以下程序typedefstruct{intb,p;}A;voidf(Ac)/・注意:c是结构变量名・/{<ntj;c.b+=l;c.p+=2;}main(){inti;Aa={l,2};f(a);printf("%d,%d\n",a.b,a.p);}程序运行后的输出结果是()A)2,3 B)2,4B)3,4,5,6,7,2,1,8,9,10,D)10,9,8,7,6,5,4,3,2,1,B)1,2,6,8,10,12,7,8,9,10D)1,2,6,8,10,12,14,16,9,10,C)1,4 D)(34)有以下程序main(){ inta[4][4]={{l,4,3,2,},{8,6,5,7,},{3,7,2,5,},{4,8,6,l,}},ij,k,t;for(i=0;i<4;i++)for(j=0;j<3;j++)for(k=j+l;k<4;k4-4-)if(a|j||i|>a|k||i|){t=a|j||i|;a|j||i]=a|k||i|;a|k||i|=t;} /・按列排序・/for(i=0;i<4;i+4-)printf(n%d/,,a|i][j|);}程序运行后的输出结果是()A)1,6,5,7, B)8,7,3,1, C)4,7,5,2, D)1,6,2,1,(35)有以下程序main(){ inta[4][4F{{l,4,3,2,},{8,6,5,7,},{3,7,2,5,},{4,8,6,l,}},i,k,t;for(i=0;i<3;i++)for(k=i+l;k<4;k++)if(a|i||i|<a|k||k|){t=a|i||i|;a|i||i|=a|k||k|;a|k||k|=t;}for(i=0;i<4;i++)printf("%d,",a|0||i|);}程序运行后的输出结果是()A)6,2,1,1, B)6,4,3,2, C)1,1,2,6, D)2,3,4,6,(36)有以下程序voidf(int*q){inti=0;for(;i<5;i-H-)(*q)++;}main(){inta[5]={l,23A5}4;f(a);for(i=0;i<5;i++)printf(n%d,,\a|i|);}程序运行后的输出结果是()A)2,2,3,4,5, B)6,2,3,4,5, C)1,23,4,5, D)2,3,4,5,6,(37)有以下程序#include<string.h>main(){charp|20]={,a7b7c\,d,},q||=nabcM,r||=Mabcdenstrcpy(p+strlen(q),r);strcat(p,q);printf(n%d%d\nn,sizeof(p),strlen(p));)程序运行后的输出结果是()A)209 B)99 C)2011 D)1111(38)有以下程序#include<string.h>main(){charp[20]={WJbソゼ」d}q[]="abc",r[]="abcde”strcat(p,r);strcpy(p+strlen(q),q);printf(u%d\nM,sizeof(p));}程序运行后的输出结果是()A)9 B)6 C)11 D)7(39)有以下程序#include<string.h>voidf(charp|||10|4ntn){chart|10|;intij;for(i=0;i<n-l;i++)forG=i+l;j<n;j++)if(strcmp(p(i|,p|jl)>0){strcpy(t,p|i|);strcpy(p[i],p[j]);strcpy(p|j|,t);)}main(){ charp[5][10]=『abc”Jaabdfg”Jabbd”Jdcdbc"Jed"};f(P,5);printf("%d\n",strlen(p|O|));}程序运行后的输出结果是()A)2 B)4 〇6 D)3(40)有以下程序voidf(intn9int*r){intrl=0;if(n%3=0)rl=n/3;elseif(n%5==0)rl=n/5;elsef(—n,&rl);*r=rl;}main(){intm=7,r;f(m,&r);printf("%d\n",r);}程序运行后的输出结果是()A)2 B)1 C)3 D)0(41)有以下程序main(intargc,char*argv||){intn=0,i;for(i=l;i<argc;i++)n=n*10+*argv|i]-'0,;printf("%d\n",n);}编译连接后生成可执行文件tt.exe,若运行时输入以下命令行tt12345678程序的运行输出结构是()A)12 B)12345 C)12345678 D)136(42)有以下程序inta=4;intf(intn){intt=0;staticinta=5;if(n%2){inta=6;t+=a++;}else{inta=7;t+=a++;}returnt+a++;}main(){ints=a,i=0;for(;i<2;i++)s+=f(i);printf(u%d\nM,s);}程序运行后的输出结果是()A)24 B)28 C)32 D)36(43)有一个名为init.txt的文件,内容如下:#defineHDY(A,B)A/B#definePRINT(Y)printf(My=%d\nM,Y)有以下程序#include"init.txt''main(){inta=l,b=2,c=3,d=4,k;k=HDY(a+c,b+d);PRINT(k);

)下面针对该程序的叙述正确的是()B)运行出错D)运行结果为y=6C)B)运行出错D)运行结果为y=6C)元素ch⑸地址D)字符y的地址〇运行结果为y=0(44)有以下程序main(){charch||=vuvwxyzM,*pc;pc=ch;printf(M%c\nM,*(pc4-5));)程序运行后的输出结果是()A)z B)0(45)有以下程序structS{intn;inta|20|;};voidf(structS*p){inti,j,t;for(i=0;i<p->n-l;i++)for(j=j+l;j<p->n-l;j++)if(p->a[ij>p->a[j]){t=p->a|i|;p->a|i]=p->a|j|;p->a[j]=t;}}main(){inti;structS§={10,{2,3,1,6,8,7,5,4,10,9}};f(&s);for(i=0;i<s,n;i++)printf("%d,",s.a|i|);)程序运行后的输出结果是()A)1,2,3,4,5,6,7,8,9,10,B)10,9,8,7,6,5,43,2,1,C)2,3,1,6,8,7,5,4,10,9,D)10,9,8,7,6,1,2,3,4,5,(46)有以下程序structS{intn;inta|20];};voidf(int*a,intn){inti;for(i=0;i<n-l;i++)a(ij+=i;}main(){inti;structSs={10,{2,3,1,6,8,7,5,4,10,9}};f(s.a,s.n);for(i=0;i<s.n;i++)printf(M%d,M,s.a|i|);}程序运行后的输出结果是()

A)2,4,3,9,12,12,11,11,18,9,C)2,3,1,6,8,7,5,4,10,9,A)2,4,3,9,12,12,11,11,18,9,C)2,3,1,6,8,7,5,4,10,9,B)3,4,2,7,9,8,6,5,11,10,D)1,2,3,6,8,7,5,4,10,9,(47)有以下程序段typedefstructnode{intdata;structnode*next;}*NODE;NODEp;以下叙述中正确的是()p是指向structnode结构变量的指针的指针NODEp:语句出错p是指向structnode结构变量的指针p是structnode结构变量(48)有以下程序main(){unsignedchara=2,b=4,c=5,d;d=a|b;d&=c;printf(n%d\nn,d);}程序运行后的输出结果是()A)3 B)4 C)5 D)6(49)有以下程序#include<stdio.h>main(){FILE*fp;inti,a|6|={l,2,3,4,5,6);fp=fopen("d2,daビJw”);fprintf(fpj%d%d%d\n",a[〇],a[l],a[2]); fprintf(fp,n%d%d%d\nH,a|3|,a|4|,a|5]);fclose(fp);fp=fopen("d2.dat","r");fscanf(fp,n%d%d\nn,&k,&n);printf(M%d%d\nM,k,n);fclose(fp);}程序运行后的输出结果是()A)12 B)14 C)1234 D)123 456(50)有以下程序#include<stdio.h>main(){FILE*fp;inti,a[6]={l,2,3,4,5,6k};fp=fopen("d3.dat"Jw+b'');fwrite(a,size(int),6,fp);fseek(fp,sizeof(int)*3,SEEK一SET);/・使读文件的位置指针从文件头向后移动3个!nt型数据・/fread(a,sizeof(int),3,fp);fclose(fp);for(i=0;i<6;i++) printグ%dJ,a同);}程序运行后的输出结果是()A)4,5,6,4,5,6, B)1,23,4,5,6,C)4,5,6,1,23,D)6,5,43,2,1,二.填空题(每空2分,共40分)请将每一个空的正确答案写在答题卡⑴至[20|序号的横线上,答在试卷上不得分。(1)在深度为7的满ニ叉树中,度为2的结点个数为.(2)软件测试分为白箱(盒)测试和黑箱(盒)测试,等价类划分法属于测试。(3)在数据库系统中,实现各种数据管理功能的核心软件称为。(4)软件生命周期可分为多个阶段,一般分为定义阶段、开发阶段和维护阶段。编码和测试属于阶段。(5)在结构化分析使用的数据流图(DFD)中,利用对其中的图形元素进行确切解释。(6)执行以下程序后的输出结果是。main(){inta=10;a=(3*5,a+4);printf(Ma=%d\nn,a);)(7)当执行以下程序时,输入1234567890V回车>,则其中while循环体将执行 次。#include<stdio.h>main(){charch;while((ch=getchar0)=,0,)printf(パ#");}(8)以下程序的运行结果是〇intk=0;voidfun(intm){ m+=k;k+=m;printf(Hm=%dk=%dH,m,k++);)main(){inti=4;fun(i++);printf(ni=%dk=%d\n”,i,k);}(9)以下程序的运行结果是〇main(){inta=2,b=7,c=5;switch(a>0){ casel:switch(b<0){ casel:switch(M@M);break;case2:printf(n!n);break;}case0:switch(c=5){case0:printf(M*M);break;printf(M#M);break;prlntf(,,$M);break;}default:printグ&”);}printf(n\nM);}(10)以下程序的输出结果是•include<string.h>main(){printf(M%d\nn,strlen(nIBM\nO12\l\\M));}⑴)已定义charch=$;inti=l,j;执行j=!ch&&i++以后,i的值为.(12)以下程序的输出结果是.include<string.h>main(){chara||={,\r,,\2,;\3\,\4,;\0,};printf(n%d%d\nH,sizeof(a)),srelen(a));}(13)设有定义语句:inta|][3]={{0},{1},{2}};,则数组元素的值为.(14)以下程序的功能是:求出数组x中各相邻两个元素的和,依次存放到a数组中,然后输出,请填空。main(){ intx|10|,a|9],i;for(i=0;i<10;i++)scanf(n%dn,&x|i|);for(;i〈10;i++)a|i-l]=x|i]+;for(i=0;i<9;i++)printf(n%dn,a[i|);printf(n\nM);(15)以下程序的功能是:利用指针指向三个整型变量,并通过指针运算找出三个数中的最大值,输出到屏幕上,请填空:main(){intx,y,z,max,*px,*py,*pz,*pmax;scanf(“%d%d%d”,&x,&y,&z);px=&x;py=&y;pz=&z;pmax=&max;if(*pmax<*py)*pmax=*py;if(*pmax<*pz)*pmax=*pz;printf(nmax=%d\nn,max);}(16)以下程序的输出结果是。intfun(int*x,intn){if(n=O)returnx|0|;elsereturnx[O]+fun(x+l,n-l);}main(){ inta|]={1,233,5,6,7);printf(n%d\nu,fun(a,3));)(17)以下程序的输出结果是〇#include<stdlib.h>main(){char*sl,*s2,m;sl=s2=(char*)malloc(sizeof(char));*sl=15;*s2=20;m=*sl+*§2;printグ%d\n”,m);)(18)设有说明structDATE{intyear;intmonth;intday;};请写出一条定义语句,该语句定义d为上述结构体变量,并同时为其成员year、month、day依次赋初值2006、10、1:;(19)设有定义:FlLE*fw;,请将以下打开文件的语句补充完整,以便可以向文本文件readme.txt的最后续写内容。fw=fopen("readme.txt", );

2007年4月全国计算机等级考试二级C语言笔试参考答案ー、选择题:1-5BDACD6-10CABCA11-15CDBCA16-20DCABC21-25DCABA26-30ADBDA31-35BBDAB36-40BCBCA41-45DBDAA46-50ACBDA二、填空题:1.63 2.黑盒 3.DBMS4,开发5.数据字典6,a=14 7,0 8,m=4k=4i=5k=5 9,#&10,9 11,1 12,54 13,0 14,i=lx|i-l|15,max=*px 16,10 17,40 18,structDATEd={2006,10,l}19,“a”2007年9月计算机等级考试二级C语言试卷及答案考试时间120分钟,满分100分)ー、选择题((1)-(10)每题2分,(11)-(50)每题1分.共60分))下列各题A)、B)、C)、D)四个选项中,只有一个是正确的,请将正确选项涂写在答题卡上,答在试卷上不得分。(1)软件是指B)程序和文档D)B)程序和文档D)程序、数据和相关文档的集合B)改正错误D)验证软件的正确性〇算法加数据结构(2)软件调试的目的是A)发现错误〇改善软件的性能(3)在面向对象方法中,实现信息隐蔽是依靠A)对象的继承 B)对象的多态C)对象的封装 D)对象的分类(4)下列叙述中,不符合良好程序设计风格的是A)程序的效率第一,清晰第二 B)程序的可读性好〇程序中有必要的注释 D)输入数据前要有提示信息(5)下列叙述中正确的是A)程序执行的效率与数据的存储结构密切相关B)程序执行的效率只取决于程序的控制结构〇程序执行的效率只取决于所处理的数据量D)以上三种说法都不对(6)下列叙述中正确的是A)数据的逻辑结构与存储结构必定是ーー对应的B)由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构〇程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线线结构D)以上三种说法都不对(7)冒泡排

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论