《2003年到2012年国家计算机二级c语言历年真题及答案大全》_第1页
《2003年到2012年国家计算机二级c语言历年真题及答案大全》_第2页
《2003年到2012年国家计算机二级c语言历年真题及答案大全》_第3页
《2003年到2012年国家计算机二级c语言历年真题及答案大全》_第4页
已阅读5页,还剩279页未读 继续免费阅读

下载本文档

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

文档简介

2012年3月全国计算机等级考试二级C语言真题(考试时间90分钟,满分100分)ー、选择题1、下列叙述中正确的是:A、循环队列是队列的ー种顺序存储结构B、循环队列是队列的ー种链式存储结构C、循环队列是非线性结构D、循环队列是一直逻辑结构2、下列叙述中正确的是A、栈是ー种先进先出的线性表B、队列是ー种后进先出的线性表C、栈和队列都是非线性结构D、以上三种说法都不对3、一棵ニ叉树共有25个节点,其中5个时子节点,那么度为1的节点数为A、4 B、6 C、10 D、164、在下列模式中,能够给出数据库物理存储结构与物理存取方法的是A、内模式B、外模式C、概念模式D、逻辑模式5、在满足实体完整性约束的条件下A、ー个关系中可以没有候选关键词B、ー个关系中只能有一个候选关键词C、ー个关系中必须有多个候选关键词D、ー个关系中应该有一个或者多个候选关键词6、有三个关系R、S和T如下:RABCTOC\o"1-5"\h\za1 2b2 1c3 1则由关系R和S得到关系T的操作是A,自然连接 B、并C、差D、交7、软件生命周期中的活动不包括A、软件维护B、市场调研 C、软件测试D、需求分析8、下面不属于需求分析阶段任务的是A、确定软件系统的功能需求 B、确定软件系统的系统的系能需求B、制定软件集成测试计划 D、需求规格说明书审评9、在黑盒测试方式中,设计测试用例的主要根据是A、程序外部功能 B、程序内部逻辑C、程序数据结构 D、程序流程图10、 在软件设计中不使用的工具是A、系统结构图B、程序流程图C,PAD图 D、数据流图(DFD图)11、针对简单程序设计,以下叙述的实施步骤正确的是A、确定算法和数据结构、编码、调试、整理文档B,编码、确定算法和数据结构、调试、整理文档C、整理文档、确定算法和数据结构、编码、调试D、确定算法和数据结构、调试、编码、整理文档12、关于C语言中数的表示,以下叙述正确的是A、只有整型数在允许范围内能精确无误的表示,实型数会有误差B、只要在在允许范围内整型和实型都能精确表示C、只有实型数在允许范围内能精确无误的表示,整型数会有误差D、只有八进制表示的数在不会有误差13、以下关于算法叙述错误的是A、算法可以用伪代码、流程图等多种形式来描述B、ー个正确的算法必须有输入C、ー个正确的算法必须有输出D、用流程图可以描述的算法可以用任何ー种计算机高级语言编写成程序代码14、以下叙述错误的是A、ー个C程序可以包含多个不同名的函数B、ー个C程序只能有一个主函数C、C程序在书写时,有严格的缩进要求,否则不能编译通过D、C程序的主函数必须用main作为函数名15、设有以下语句Charchl,ch2,scanf(,,%c%c,,,&chl,&ch2);若要为变量chi和ch2分别输入字符A和B,正确的输入形式应该是A、A和B之间用逗号间隔 B、A和B之间不能有任何间隔符C、A和B之间可以用回车间隔 D、A和B之间用空格间隔16、以下选项中非法的字符常量是A、,\102,B、’\65'C、D、’\019'17、有以下程序#include<sthio.h>Main(){IntA=O,B=O,C=O;C=(A-=A-5);(A=B,B+=4);Printfド%ム%d,%d\n”,A,B,C))程序运行后输出的结果是A0,4,5B4,4,5 C4,4,4D0,0,018、设变量均已正确定义并且赋值,以下与其他三组输出结构不同的ー组语句是A、x++;printf((u%d\nM,x); B、n=++x;printf(("%d\n”,n);C、++x;printf((u%d\nM,x); D、n=x++;printf((u%d\n,,,n);19、以下选项中,能表示逻辑值“假”的是Al B0.000001 C0 D100.020、有以下程序#include<sthio.h>Main(){inta;Scanf(“%d”,&a);If(a++<9)printf((“%如!”,a);Elseprintf((u%d\nM,a—);)程序运行时键盘输入9〈回车〉,则输出的结构是A、10B11C9D821、有以下程序#include<sthio.h>Main。{ints=O,n;For(n=0;n<3;n<++){switch(s){case0;Casel;s+=l;Case2;s+=2;break;Case3;s+3;Case4;s+=4;)printf((u%d\nM,s);))程序运行后的结果是A1,2,4B1,3,6C3,10,14D3,6,1022、若k是int类型变量,且有以下for语句For(k二・l;k<0;k++)printf(****\n^);下面关于语句执行情况的叙述中正确的是A、循环体执行一次 B、循环体执行两次C、循环体ー次也不执行 D、构成无限循环23、有以下程序#include<sthio.h>Main(){charA,B,C;B=T;CゴA'For(A=0;A<6;A++){if(A%2)putchar(B+A);Elseputchar(C+A);}}程序运行后输出的结果是A1B3D5FBABCDFECA2C4E6D12345624、设有如下定义语句Intm[]={2,4,6,8},*k=m;以下选项中,表达式的值为6的是A*(k+2)Bk+2 C*k+2 D*k+=225、fun函数的功能是:通过键盘输入给x所指的整型数组所有元素赋值。在下列划线处应该填写的是#include<sthio.h>#deHneN5Viodfun(intx[NJ){intm;For(m=N-l;m>0;m-)scanf("%d\n",);)A&x[++m]B&x[m+l]Cx+(m++)Dx+m26、若有函数Viodfun(doublea[],int*n){ }以下叙述中正确的是A、调用fun函数时只有数组执行按值传送,其他实参和形参之间执行按地址传送B、形参a和n都是指针变量C、形参a是ー个数组名,n是指针变量D、调用fun函数时将把double型实参数组元素ーー对应地传送给形参a数组27、有以下程序#include<sthio.h>Main。{inta,b,k,m,*pl,*p2;k=l,m=8;pl=&k,p2=∋a=/*pl-m;b=*pl+*p2+6;print*“%d”3);printf("%d\n",b);)编译时编译器提示错误信息,你认为出错的语句是A、a=/*pl-m B、b=*pl+*p2+6C>k=l,m=8; D、pl=&k,p2=&m;28、以下选项中有语法错误的是Achar*str[]={"guest"}; B、charstr[10]={"guest"};C>char*str[3]*str[l]={"guest"}; D^charstr[3][10];str[1]={"guest"};29、avg函数的功能是求整型数组中的前若干个元素的平均值,设数组元素个数最多不超过10.则下列函数说明语句错误的是A^intavg(int*a,intn);B、intavg(inta[10],intn);C>intavg(inta,intn);D、intavg(inta[]9intn);30、有以下函数#include<sthio.h>#include<string.h>main(){printf("%d\n",strren"ATS\nO12\l"));}程序运行后的输出结果是A3B831、有以下函数#include<sthio.h>main(){chara[20],b[20],c[20];scanf("%s%s”,a,b);get(c);printf(M%s%s\n”,a,b,c);)程序运行时从第一行开始输入thisisacat!〈回车〉,则输出结果是Athisisacat!BthisisaCthisisacat!Dthisisacat!32、有以下函数#include<sthio.h>viodfun(charc){if(0,x')fun(c-l);printf(“%c”,c);)main(){fun"が;}程序运行输出结果是AxyzBwxyzCzyxwDzyx33、有以下函数#include<sthio.h>viodfunc(intn){inti;for(i=0;i<=n;i++)printf(“*”);printfd#'');main(){func(3);printK“????”);func(4);printf(“\n”);}程序运行输出结果是A****#9999***# B***#9999******C**#????*****# D****#9999******34、有以下函数#include<sthio.h>viodfun(int*s){staicintj=0;do{s[j]=s[j]+s[j+l];}wihle(++j<2);}main(){intk,a[10]={14,3,4,5};for(K+l;k<3;k++)fun(a);for(K+l;k<5;k++)printf("%(T,a[k]);printf(u\nM);)程序运行输出结果是A12345B23445C34756D3574535、有以下函数#include<sthio.h>#defineS(x)(x)*x*2main(){intk=5,j=2;printf(M%d,M,S[k+j]);printf(w%d\nM,S(k-j)));)程序运行输出结果是A98,18B39,11 C39,18D98,ll36、有以下函数#include<sthio.h>Viodexch(intt[]){t[0]=t[5];}{intx[10]={1,2,3,45,6,7,8,9,10},i=0;Whlle(i<=4){exch(&x[i]),i++;}for(i=0;i<5;i++)printf(u%d",x[i]);printfぐへn”);}程序运行输出结果是A246810B13579 C12345 D67891037、设有以下程序段StructMP3{charname[20];Charcolor;Floatprice;}std,*ptr;ptr=&std;若要引用结构体变量std中的color成员,写法错误的是Astd.colorBptr->color Cstd->colorD(*ptr).color38、有以下函数#include<sthio.h>structstu{intmun;charname[10];intage;};viodfun(structstu*p){printf("%s\n"p>name);}mian(){structstux[3]={{01,,,zhang,,,20},{02,,,wang,,,19},{03,,,zhao,,,18)};fun(x+2);)程序运行输出结果是AzhangBzhaoCwangD1939、有以下函数#inciude<sthio.h>mian(){inta=12,c;c=(a«2)«l;print*"%d\nM,c):}程序运行输出结果是A3B50C2D9640、以下函数不能用于向文件写入数据的是Aftell Bfwrite Cfputc Dfprintf二、填空题1、将长度为n的顺序存储在线性表中删除ー个元素,最坏情况下需要移动表中的元素个数为(2、设循环队列的存储空间为Q(l:3),初始状态为front=rear=30。现经过一系列入队与退队运算后,front=16,rear=15,则循环队列中有( )个元素。3、数据库管理系统提供的数据语言中,负责数据的增、删、改和查询的是( )»4、在将ER图转换到关系模式时,实体和联系都可以表示成()。5、常见的软件工程方法有结构化方法和面向对象方法,类、继承以及多态性等概念属于()〇6、设变量a和b已定义为int类型,若要通过scanf("a=%d1b=%<T,&a,&b);语句分别给a和b输入1和2,则正确的数据输入内容是( )«7、以下程序的输出结果是()«#include<sthio.h>mian(){inta=37;a+=a%=9;printfじ%d\n”,a);}8、设a、b、c都是整型变量,如果a的值为1,b的值为2,则执行c=a++llg+;语句后,变量b的值是().9、有以下程序段s=1.0;for(k=l,k<=n;k++) s=s+1.0(k*(k+l));printf("%f\n,,,s);请填空,使以下程序段的功能与上面的程序段完全相同。s=l.O;k=l;whiie(){s=s+1.0(k*(k+l));k=k+l;}printf("%f\nM,s);10、以下程序段的输出结果是( )#include<sthio.h>mian(){chara,b;for(a=0;a<20;a+=7){b=a%10;putchar(b+,0,);}}H、以下程序段的输出结果是( )#include<sthio.h>mian(){char*ch[4]={"red”,"green”,“blue”};Inti=0;While(ch[i]);{putchar(ch[i][O];i++;})有以下程序#include<sthio.h>mian(){intarrロ={1,3,5,7,2,4,6用,i,start;Scanf(^%(r\&start);For(i=0,i<3,i++)printf(u%d,,,arr[(start+i)%8]);)若在程序运行时输入整数10v回车),则输出结果为( )。以下程序的功能是输出a数组中的所有字符串,请填空#include<sthio.h>mian(){char*aロ={“ABC”,“DEFGIT',“IJ”,KLMNOP'};Inti=0;For(;i<4;i++)printf("%s\n", );}14、以下程序的输出结果是( )〇#include<sthio.h>#inciude<sthio.h>#include<string.h>mian(){char*p,*q,*r;p=q=r=(char*)malloc(sizeof(char)*20);strcpy(p,"attaboy,welcome!”);printf("%c%c%c\nM,p[ll],q[3],r[4]);free(p);)15、设文件test.txt中原已写入字符串Begin,执行以下程序后,文件中的内容为()〇#include<string.h>mian(){file*fp;fp=fopen(utest.txt,V,w+M);fputs(utesf\fp);fclose(fp);}2012年3月全国计算机等级考试二级C语言真题标准答案ー、选择题1-5,ADDAD6-10,CBCAD11-15,ABBCB16-20,DADCA21-25,CACAD26-30、CADCB31-35,CADDC36-40、DCBDA二、填空题1、n-1 2、29 3、数据操纵语言4,关系5、面向对象方法 6、a=l,b=2 7,2 8、29、k《=n10、074 11、rgb12、572 13、a[i] 14、cab15、test2011年9月全国计算机等级考试二级笔试试卷C语言程序设计(考试时间90分钟,满分100分)ー、选择题((1)-(10)、(21)-(40)每题2分,(11)-(2。)每题1分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。请将正确选项填涂在答题卡相应位置上答在试卷上不得分。(1)下列叙述中正确的是()=A)算法就是程序 B)设计算法时只需要考虑数据结构的设计C)设计算法时只需要考虑结果的可靠性 D)以上三种说法都不对(2)下列关于线性链表的叙述中,正确的是( )。A)各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B)各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续C)进行插入与删除时,不需要移动表中的元素D)以上三种说法都不对(3)下列关于ニ叉树的叙述中,正确的是( )。A)叶子结点总是比度为2的结点少ー个B )叶子结点总是比度为2的结点多一个c)叶子结点数是度为2的结点数的两倍D)度为2的结点数是度为1的结点数的两倍(4)软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是()。A)学生成绩管理系统B)C语言编译程序C)UNIX操作系统D)数据库管理系统(5)某系统总体结构图如下图所示:A)7 B)6 C)3 D)2(6)程序调试的任务是()〇A)设计测试用例 B)验证程序的正确性C)发现程序中的错误 D)诊断和改正程序中的错误(7)下列关于数据库设计的叙述中,正确的是()。A)在需求分析阶段建立数据字典 B)在概念设计阶段建立数据字典C)在逻辑设计阶段建立数据字典 D)在物理设计阶段建立数据字典(8)数据库系统的三级模式不包括().则由关系R和s得到关系T的操作是()«A)自然连接 B)差C)交 D)并(10)下列选项中属于面向对象设计方法主要特征的是( )〇A)继承 B)自顶向下C)模块化 D)逐步求精(11)以下叙述中错误的是()。A)C语言编写的函数源程序,其文件名后缀可以是.CB)C语言编写的函数都可以作为ー个独立的源程序文件C)C语言编写的每个函数都可以进行独立的编译并执行D)ー个C语言程序只能有一个主函数(12)以下选项中关于程序模块化的叙述错误的是( )。A)把程序分成若干相对独立的模块,可便于编码和调试B)把程序分成若干相对独立、功能单一的模块,可便于重复使用这些模块c)可采用自底向上、逐步细化的设计方法把若干独立模块组装成所要求的程序D)可采用自项向下、逐步细化的设计方法把若干独立模块组装成所要求的程序(13)以下选项中关于c语言常量的叙述错误的是( )«A)所谓常量,是指在程序运行过程中,其值不能被改变的量B)常量分为整型常量、实型常量、字符常量和字符串常量c)常量可分为数值型常量和非数值型常量D)经常被使用的变量可以定义成常量(14)若有定义语句:inta=10;doubleb=3.14;,则表达式A+a+b值的类型是( )»A)charB)intC)doubleD)float(15)若有定义语句:intx=12,3=8,z;,在其后执行语句z=0.9+x/y;,则Z的值为()«A)l.9 B)1 C)2 D)2.4(16)若有定义:inta,b;,通过语句scanf("%d;%d",&a,&b);,能把整数3赋给变量a,5赋给变量b的输入数据是()。A)35 B)3,5 C)3;5 D)35(17)若有定义语句:intkl=10,k2=20;.执行表达式(kl=kl>k2)&&(k2=k2>kl)后,kl和k2的值分别为()。A)〇和1 B)〇和20 C)10和1 D)10和20(18)有以下程序#include<stdio.h>main(){inta=1,b=0;if(-a)b++;elseif(a=0)b+=2:elseb+=3:printf("%d\n",b);)程序运行后的输出结果是()。A)0 B)1 C)2 D)3(19)下列条件语句中,输出结果与其他语句不同的是()〇A)if(a)printf("%d'・n",x); elseprinlf("%d\n",y);B)if(a—O)printf(M%d\nn,y); elseprintf(n%d\n",x);C)if(a!=O)p由tf(”%d\n”,x);elseprintf(',%d\n,',y);D)if(a=O)printf(n%d\nn,x);elseprintf("%d\n",y);(20)有以下程序#include<stdio.h>main(){inta=7;while(a-); printf("%d\n",a);)程序运行后的输出结果是( )。A)-lB)0 C)1 D)7(21)以下不能输出字符A的语句是(注:字符A的ASCII码值为65,字符a的ASCII码值为97)A)printf(n%c\nM,,a,-32);B)printf(,,%d\nH,'A');c)printf("%c\n",65);D)print-f("%c\n",B・l);(22)有以下程序(注:字符a的ASCII码值为97)#include<stdio.h>main(){char*s={Haben);do{printf(w%d”,+s%10);++s;)while(+s);)程序运行后的输出结果是()。A)abcB)789 C)7890 D)979899(23)若有定义语句:doublea,+p=&a:以下叙述中错误的是( )。A)定义语句中的・号是一个间址运算符B)定义语句中的・号只是ー个说明符C)定义语句中的P只能存放double类型变量的地址D)定义语句中,*p=&a把变量a的地址作为初值赋给指针变量P(24)有以下程序#include<stdio.h>doublef(doublex);main(){doublea_0;inti;for(i=0;i<30;i+=10)a+—f((double)i);printf("%5.Of\n”,a);)doublef(doublex)(returnX+x+l;)程序运行后的输出结果是( )。A)503 B)401 C)500 D)1404(25)若有定义语句:intyear=2009,*p=&year;»以下不能使变量year中的值增至2010的语句是()。A)*p+=1; B)(*p)++; O++(*p); D)*p++;(26)以下定义数组的语句中错误的是()〇A)intnum[]={l,2,3,4,5,6};B)intnum[][3]={{1,2},3,4,5,6);Qintnum[2][4]=({l,2,,{3,4},{5,6});D)intnum[][4]={l,2,3,4,5,6);(27)有以下程序#include<stdK).h>voidfun(int+p){printf(v%d\n",p[5]);}main();{inta[10]={l,2,3,4,5,6,7,8,9,10};fun(&a[3]);)程序运行后的输出结果是( )〇A)5 B)6Q8D)9(28)有以下程序#include<stdio.h>#defineN4voidfun(inta[][N],imb[]){inti;for(i=0;i<N;i++)b[i]=a[i][i]-a[i][N-l-i];)voidmain(){intx[N][N]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},y[N],i;fun(x,y);for(i=0;kN;i++)printf(w%d,",y[i]);printf('\n,');)程序运行后的输出结果是()〇A)-12,-3,0,0, B)・3,・l,1,3, C)0,l,2,3, D)-3,-3,-3,-3(29)有以下函数intfun(char*x,char*y){intn=0;while((*x=*y)&&*x!=\0'){x++;y++;n++;}returnn:)函数的功能是()»A)查找x和y所指字符串中是否有へO'B)统计x和y所指字符串中最前面连续相同的字符个数c)将y所指字符串赋给X所指存储空间D)统计x和y所指字符串中相同的字符个数(30)若有定义语句:char*slゴOK",*s2="ok";,以下选项中,能够输出“0K"的语句是( )。A)if(strcmp(sl,s2)=0)puts(sl);B)if(strcmp(sl,s2)!=0)puts(s2);C)if(strcmp(sl,s2)=l)puts(sl,);D)if(strcmp(sl,s2)!=0)puts(sl);(31)以下程序的主函数中调用了在其前面定义的fun函数#include<stdio.h>{main(){doublea[15],k;k=fun(a);}则以下选项中错误的fun函数首部是()。A)doublefun(doublea[15]) B)doublefun(double*a)C)doublefun(doublea[]) D)doublefun(doublea)(32)有以下程序#include<stdio.h>#include<string.h>main(){chara[5][10]={"china","bejjing","you","tiananmen","welcome");inti,j;chart[10];for(i=0;i<4;i++)for(j=i+1;j<5;j++)if(strcmp(a[i],a[j])>0){strcpy(t,a[i]);strcpy(a[i],a[j]);strcpy(a[j],t);}puts(a[3]);)程序运行后的输出结果是()〇A)BeijingB)chinaC)welcomeD)tiananmen(33)有以下程序#include<stdio.h>intf(intm){staticintn=0;n+=m:returnn;)main(){intn=0;printf("%d”,f(++n));printf(n%d\n",f(n++));)程序运行后的输出结果是()。A)l,2B)l,1 C)2,3 D)3,3(34)有以下程序#include<stdio.h>main(){charch[3][5]={nAAAAn,nBBB","CC**);printf("%s\n",ch[l]);)程序运行后的输出结果是()«A)AAAAB)CCC)BBBCCD)BBB(35)有以下程序#include<stdio.h>#include<string.h>voidfun(char*w,intm){chars,*pl,*p2;pl=w;p2=w+m-l;while(pl<p2){s=*pl;*pl=p2;*p2=s;pl++;p2—;))main(){charaロメ123456”;fun(a,strlen(a));puts(a);1程序运行后的输出结果是()A)654321 B)116611 Q161616D)123456(36)有以下程序#include<stdio.h>#include<string.h>typedefstruct{charname[9];charsex;intscore[2];}STU;STUf(STUa){STUb={,'Zhaon;m',85,90);inti:strcpy(,);a.sex=b.sex;for(i=0;i<2;i++)a.score[i]=b.scorefi];returna;}main()fSTUc={',Qian,,;f,95,92},d;d=f(c);printf('*%s,%c,%d,%d,”,d.nalne,d.sex,d.score[0]>d.score[1]);printf("%s,%c,%d,%d,”,c.nanle,c.Sex,c.score[0],c.score[l]);}程序运行后的输出结果是()。A)Zhao,m,85,90,Qian,f,95,92B)Zhao,m,85,90,ZhaO,m,85,90QQian,f,95,92,Qian,f,95,92 D)Qian,f,95,92,Zhao,m,85,90(37)有以下程序#include<stdio.h>main(){structnode{intn;stmctnode+next;}*p;structnodex[31={(2,x+1},{4,x+2),{6,NULL}};p=x;printff"%d,",p->n);printf("%dkn",p->next->n);}程序运行后的输出结果是()〇A)2,3 B)2,4 C)3,4 D)4,6(38)有以下程序#include<stdio.h>main(){inta=2,b;b=a«2:printr("%d\n",b);)程序运行后的输出结果是().A)2 B)4 C)6 D)8(39)以下选项中叙述错误的是( )。A)C程序函数中定义的赋有初值的静态变量,每调用一次函数,赋ー次初值B)在C程序的同一函数中,各复合语句内可以定义变量,其作用域仅限本复合语句内C)C程序函数中定义的自动变量,系统不自动赋确定的初值D)C程序函数的形参不可以说明为static型变量(40)有以下程序#include<stdio.h>main(){FILE*fp,intk,n,j,a[6]=<l,2,3,4,5,6);fp=fopen("d2.dat","w");for(i=0;i<6;i++)fprintf(fp,"%d\n",a[i]);fclose(fp);fp=fopen(Md2.datM,Y*);for(i=0:k3:i++)fscanf(fp,n%d%d”,&k,&n);fclose(fp):printf(”%d,%d\n”,k,n);)程序运行后的输出结果是( )。A)l,2 B)3,4 C)5,6 D)123.456二、填空题(每空2分,共30分)请将每空的正确答案写在答题卡【1】至【15】序号的横线上,答在试卷上不得分。(1)数据结构分为线性结构与非线性结构,带链的栈属于〇(2)在长度为n的顺序存储的线性表中插入一个元素,最坏情况下需要移动表中【2】个元素。(3)常见的软件开发方法有结构化方法和面向对象方法。对某应用系统经过需求分析建立数据流图(DFD),则应采用【3】方法。(4)数据库系统的核心是【4】。(5)在进行关系数据库的逻辑设计时,E-R图中的属性常被转换为关系中的属性,联系通常被转换为[5]〇(6)若程序中已给整型变量a和b赋值10和20,请写出按以下格式输出a、b值的语句[6]〇****a=10.b=20****(7)以下程序运行后的输出结果是[7]〇#include<stdio.h>main()<inta=37;a%=9;printf("%d\n",a);)(8)以下程序运行后的输出结果是 [8I〇#include<stdio.h>main(){inti,j;for(i=6:i>3;i一)j=i;printf(99%d%d\n",i,j);}(9)以下程序运行后的输出结果是 [9]〇#include<stdio.h>main(){inti,n[]={0,0,0,0,0);for(i=l;i<=2;i++){n[i]=n[i-l]*3+l;printf("%d",n[i]);)printf(AnH);(10)以下程序运行后的输出结果是 [10I 0#include<stdio.h>main(){chara:for(a=0:a<15;a+=5){putchar(a+'A');)printfC^n'1);)(11)以下程序运行后的输出结果是 [111〇#include<stdio.h>voidfun(intx){if(x/5>o)fun(x/5);prinff(”%dビ,x);)main(){fun(ll):printfCn");}(12)有以下程序#include<stdio.h>main(){intc[3]={0},k,i:while((k=getchar())!='\nr)c[k-'A']++;for(i=0;i<3;i++)printf(w%d”,c[i]);printf(,r\nu);若程序运行时从键盘输入ABcAcCv回车〉,则输出结果为【12】0(13)以下程序运行后的输出结果是 【13】。#include<stdio.h>main(){intn[2],i,j;for(i=0;i<2;i++)n[i]=0;for(i=0;i<2;i++)for(j=0;j<2;j++)n[j]=n[i]+l;printf("%d\n",n[l]);)(14)以下程序调用fun函数把x中的值插入到a数组下标为k的数组元素中0主函数中,n存放a数组中数据的个数。请填空。#include<stdio.h>voidfun(intsロ,int*n,intk,intx){inti;for(i=*n-hi>=k;i—)s[[14]1=s[i1;s[k]=x;*n=*n+ 【15】 ;main(){inta[20]={L2*3,4,5,6»7,8,9,10,11},i,x=0,k=6,n=ll;fun(a,&n,k,X);for(i=0;i<n:i++)prinlf("%4d",a[i]);printf(AnM);二、填空题(1)线性结构【解析】一般将数据结构分为线性结构与非线性结构两大类.如果ー个非空的数据结构满足以下两个条件:①有且只有一"t•根结点;②每ー个结点最多有一个前件,也最多有一个后件.则称该数据结构为线性结构,所以带解栈为线性结构.(2)n【解析】在顺序存储的线性表中插入一个元素时,ー殷是从最后的元素向后移动…位,移动到插入的位置后,插入元素.在最坏情况下,需要移动n个元素.(3)结构化【解析】采用结构化方法开发软件时,需求分析阶段建立数据流图.(4)数据库管理系统(或DBMs)【解析】一般认为,数据库系统包括四个部分:数据库、数据库管理系统、数据库应用程序、数据库管理员.其中DBMS是为数据库的建立、使用和维护而配置的软件,是数据库系统的核心.(5)关系【解析】在实体.关系图中的联系通常被转换为关系.(6)pfintf(*****a=%d,b=%d*****,a>b);【解析】要按照题目所要求的格式****a=10,b=20***确出,所以要在输出函数的格式中定义****a=%d.b=%d***3*1这个字符串.(7)1【解析】37对9求余数其值等于1.(8)34【解析】在fo工循环中,当变量1的值等于4时,把4赋给变量j,同时变量工的值诚1等于3,所以程序输出结果为34.(9)14【解析】在fo工循环第一次执行结束后,n[l]的值等于1,输出1;循环第二次执行结束后,n[2]的值等于4,输出4,所以输出结果为14.(1O)AFK【解析】在程序中,for循环共执行三次,第一次输出字符A,第二次输出字符F,第三次输出字符K.(11)211【解析】这个题目主要考査函数的递归调用,当把实参11传递给形参曲,因为11除以5得2,所以要调用f(2),输出2,再执行f(11)中的输出语句,输出11.所以结果为211.(12)213【解析】这个题目考查的是从键盘输入的大写字母的个数,数组元素c[0]存放的是大写字母A的个数,H1]存放的是大写字母8的个数,c[2]存放的是大写字母C的个数,所以当从键盘输出ABCACC时,输出结果为213.(13)3【解析】在两层for循环中当外层的循环变量1的值等于。时,执行内层的f;Dr循环,其结果是n[0]=l,n[l]=2;,当外层的循环变量[的值等于1时,执行内层的for循环,其结果是n[0]=3,n[l]=3i»所以结果为3.(14)i+1【解析】在函数fun中,使用for循环语句,把数组s口中下标大于k的元素向后移动一位,所以应该填入:i+l.(15)1【解析】因为变量n的值表示数组元素的个数,插入一个元素后,其值加1,所以埴入1.2011年下半年计算机二级C语言上机试题全真试卷

温馨提示

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

评论

0/150

提交评论