



版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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如下:
R
ABC
a1 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(u%d,%d,%d\rT,A,B,C)
)
程序运行后输出的结果是A0,43B4,4,5 C4,4,4D0,0,018、设变量均已正确定义并且赋值,以下与其他三组输出结构不同的ー组语句是
A、x++;printf((u%d\n,\x); B、n=++x;printf(("%d\n”,n);C、++x;printf(("%d\iT,x); D、n=x++;printf((u%d\n,,,n);19、以下选项中,能表示逻辑值“假”的是A1 B0.000001 C0 D100.020、有以下程序
#include<sthio.h>Main()
{inta;
Scanf(“%d”,&a);
If(a++<9)printf((M%d\n,»;
Elseprintf((u%d\n,\a-);
}
程序运行时键盘输入9〈回车〉,则输出的结构是
A、10B11C9D8
21、有以下程序
#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(("%d\n”,s);
}
}
程序运行后的结果是
A1,2,4B1,3,6C3,10,14D3,6,10
22、若k是int类型变量,且有以下for语句
For(k=-l;k<O;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);
}
}
程序运行后输出的结果是
A1B3D5FBABCDFECA2C4E6D123456
24、设有如下定义语句
Intm[]={2,4,6,8},*k=m;以下选项中,表达式的值为6的是A*(k+2)Bk+2 C*k+2 D*k+=225、fun函数的功能是:通过键盘输入给x所指的整型数组所有元素赋值。在下列划线处应
该填写的是#include<sthio.h>#denneN5Viodfun(intx[N])
{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—1,m=8;
pl=&k,p2=&m;
a=/*pl-m;b=*pl+*p2+6;
printf("%d”,a);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[]={uguesf,}; B、charstr[10]={“guest”};C、char*str[3]*str[l]={uguesf,};D、charstr[3J[10J;str[l]={uguestM);29、avg函数的功能是求整型数组中的前若干个元素的平均值,设数组元素个数最多不超过
10,则下列函数说明语句错误的是A、intavg(int*a,intn);B、intavg(inta[10],intn);C、intavg(inta,intn);D、intavg(inta[],intn);
30、有以下函数
#include<sthio.h>#include<string.h>
main(){printf(“%d\n”,strren”ATS\nO12\l"));}
程序运行后的输出结果是
A3B8 C4D931、有以下函数#include<sthio.h>
main(){chara[20],b[20],c[20];scanf("%s%s”,a,b);get(c);printf(M%s%s\nM,a,b,c);)程序运行时从第一行开始输入thisisacatk回车),则输出结果是
Athisisacat!BthisisaCthisisacat!Dthisisacat!32、有以下函数#include<sthio.h>
viodfun(charc)
{if(0,X,)fun(c-l);printf("%c”,c);)
main()
{fun”z”;}
程序运行输出结果是
AxyzBwxyzCzyxwDzyx
33、有以下函数
#include<sthio.h>
viodfunc(intn){inti;for(i=0;i<=n;i++)printf("种);printf("#“);
main(){func(3);printf(u????M);func(4);printf("\n”);}
程序运行输出结果是A****夫ッワワッ***# b**ホ#ツツツ?*****#CホCホ・豆ツツツツ*****#D****»ツツツツ*****#34、有以下函数34、有以下函数#include<sthio.h>viodfun(int*s)
{staicintj=0;
do{s[j]=s[j]+s[j+l];}wihle(++j<2);
)
main()
{intk,a[10]={1,23,4,5};
for(K+l;k<3;k++)fun(a);
for(K+l;k<5;k++)printf(u%dM,a[k]);
printf(%”);
)程序运行输出结果是A12345B23445C34756D3574535、有以下函数#include<sthio.h>#defineS(x)(x)*x*2
main()
{intk=5J=2;printf(u%d,M,Slk+j]);printf(u%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,4,5,6J,8,9,10},1=0;
While(i<=4){exch(&x[i]),i++;}
for(i=0;i<5;i++) printf(“%d”,メロ]);prindT"”);
}
程序运行输出结果是
A246810B13579C12345D678910
37、设有以下程序段
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(w%s\n",p->name);}
mian(){structstux[3]={{01,,,zhang,,,20},{02,,,wang,\19},{03,,,zhao,,,18}};
fun(x+2);)
程序运行输出结果是
AzhangBzhaoCwangD19
39、有以下函数#include<sthio.h>
mian()
{inta=12,c;
c=(a«2)«l;
printf(M%d\nM,c):
}
程序运行输出结果是
A3B50C2D96
40、以下函数不能用于向文件写入数据的是
Aftell Bfwrite Cfputc Dfprintf二、 填空题TOC\o"1-5"\h\z1、将长度为n的顺序存储在线性表中删除ー个元素,最坏情况下需要移动表中的元素个数为( )«2、设循环队列的存储空间为Q(l:3),初始状态为front=rear=30。现经过一系列入队与退队运算后,front=16,rear=15,则循环队列中有( )个元素。3、数据库管理系统提供的数据语言中,负责数据的增、删、改和査询的是( )»4、在将E-R图转换到关系模式时,实体和联系都可以表示成()»5、常见的软件工程方法有结构化方法和面向对象方法,类、继承以及多态性等概念属于
()«6、设变量a和b已定义为int类型,若要通过scanf("a=%d,b=%d”,&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++llb++;语句后,
变量b的值是().9、有以下程序段
s=1.0;for(k=l,k<=n;k++) s=s+1.0(k*(k+l));printf("%f\n",s);请填空,使以下程序段的功能与上面的程序段完全相同。
s=1.0;k=l;
while(){s=s+1.0(k*(k+l));k=k+l;}
printf(u%f\n,,,s);10、以下程序段的输出结果是( )#include<sthio.h>
mian()
{chara,b;for(a=0;a<20;a+=7){b=a%10;putchar(b+,O,);}
}11、以下程序段的输出结果是( )#include<sthio.h>
mian(){char*ch[4]={"red","green","blue"};Inti=O;While(ch[i]);{putchar(ch[i][OJ;i++;}
}有以下程序#include<sthio.h>
mian(){intarr[]={l,3,5,7,2,4,6,8{,i,start;Scanf(u%d",&start);
For(i=0,i<3,i++)
printf(M%d",arr[(start+i)%8]);
}若在程序运行时输入整数10v回车〉,则输出结果为()〇以下程序的功能是输出a数组中的所有字符串,请填空#include<sthio.h>
mian(){char*a[]={uABC","DEFGH","U","KLMNOP,};
Inti=0;For(;i<4;i++)printf(u%s\n", );}14、以下程序的输出结果是( )。#include<sthio.h>#include<sthio.h>#include<string.h>
mian()
{char*p,*q,*r;p=q=r=(char*)malloc(sizeof(char)*20);strcpy(p,"attaboy,welcome!");printf(u%c%c%c\n",p[11],q[3],r[4]);free(p);
}15、设文件test.txt中原已写入字符串Begin,执行以下程序后,文件中的内容为
()»#include<string.h>
mian(){file*fp;fp=fopen(Mtest.txt,,,,,w+M);fputs(utesf\fp);fclose(fp);2012年3月全国计算机等级考试二级C语言真题
标准答案ー、选择题1-5、ADDAD6-10,CBCAD11-15,ABBCB16-20,DADCA21-25,CACAD 26-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分)—,选择题(洋)-(10),(21)-(40)每题2分,(H)-(20)每每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)某系统总体结构图如下图所示:(5)某系统总体结构图如下图所示:该系统总体结构图的深度是()。A)7 B)6 C)3 D)2(6)程序调试的任务是()〇A)设计测试用例 B)验证程序的正确性C)发现程序中的错误 D)诊断和改正程序中的错误(7)下列关于数据库设计的叙述中,正确的是()。A)在需求分析阶段建立数据字典 B)在概念设计阶段建立数据字典C)在逻辑设计阶段建立数据字典 D)在物理设计阶段建立数据字典(8)数据库系统的三级模式不包括()〇A)概念模式 B)内模式C)外模式 D)数据模式(9)有三个关系R、S利T如下:R S TABCABCa12b21c3I旧回宮tn亡tiJEJABCc31则由关系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;1则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=l>b=0;if(-a)b++;elseif(a=0)b+=2:elseb+=3:printf(n%d\nH,b);)程序运行后的输出结果是()〇A)0 B)1 C)2 D)3(19)下列条件语句中,输出结果与其他语句不同的是()。A)if(a)printf(M%d\-n",x);elseprintf("%d\n",y);B)if(a—〇)printf("%d\n",y);elseprintf("%d\n",x);C)if(a!=O)p由tf("%d\n",x);elseprintf(M%d\n,',y);D)if(a=O)printf(H%d\nH,x);elseprintf("%d\nM,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(M%c\n%'a-32);B)printf(',%d\nM,'A');c)printf("%c\n",65);D)print-f(,'%c\nn,B・l);(22)有以下程序(注:字符a的ASCII码值为97)#include<stdio.h>main(){char*s={,,abeM);do{printf(>>%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(M%5.Of\nM,a);)doublef(doublex)(returnX+x+1;)程序运行后的输出结果是()。A)503 B)401 C)500 D)1404(25)若有定义语句:intyear=2009,*p=&year;,以下不能使变量year中的值增至2010的语句是()。A)*p+=1; B)(*p)++; C)++(*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]={L2,3,4,5,6};(27)有以下程序#include<stdiO.h>voidfun(int+p){printf(w%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]={{l,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},y[N],i;fun(x,y);for(i=0;i<N;i++)printf("%d,",y[i]);printf("\nn);)程序运行后的输出结果是()。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*){x4-+;y++;n++;}returnn:)函数的功能是()〇A)查找x和y所指字符串中是否有へ。’B)统计x和y所指字符串中最前面连续相同的字符个数c)将y所指字符串赋给X所指存储空间D)统计x和y所指字符串中相同的字符个数(30)若有定义语句:char*slゴOK”,*s2="okM;,以下选项中,能够输出“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","beijing"Jyou",”liananmen”Jwelcome");inti,j;chart[10];for(i=0:i<4;i++)for(j=i+l;j<5;j++)if(strcmp(a[i],a[j])>O){strcpy(t,a[i]);strcpy(a[i],a|j]);strcpy(a[j],t);}puts(a[3]);)程序运行后的输出结果是()»A)BeijingB)china C)welcome D)tiananmen(33)有以下程序#include<stdio.h>intf(intm){staticintn=O;n+=m:returnn;)main(){intn=O;printf(w%d”,f(++n));printf("%d\n”,f(n++));)程序运行后的输出结果是()〇A)1,2B)l,1 C)2,3 D)3,3(34)有以下程序#include<stdio.h>main(){charch[3][5]={HAAAA%“BBB”,HCCH);printf("%s\n”,ch[l]);)程序运行后的输出结果是()。A)AAAAB)CCC)BBBCCD)BBB(35)有以下程序#include<stdio.h>#include<string.h>voidfun(char*w,intm){chars,*pl,*p2;p1=w;p2=w+m-1;while(p1<p2){s=*p1;*pl=p2;*p2=s;pl++;p2—;))main(){charaロ=123456”;fun(a,strlen(a));puts(a);}程序运行后的输出结果是()A)654321 B)116611 C)161616 D)123456(36)有以下程序#include<stdio.h>#include<string.h>typedefstruct{charname[9];charsex;intscore[2];}STU;STUf(STUa){STUb={,'Zhaou;m,,85,90};inti:strcpy(,);a.sex=b.sex;for(i=0;i<2;i++)a.score[ij=b.score[i];returna;main()fSTUc={nQianVf,95,92),d;d=f(c);printf("%s,%c,%d,%d,”,d.nalne,d.sex,d.score[0],d.score[lj);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,90OQian,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("%dknH,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(M%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("d2.dat","r");for(i=0;i<3;i++)fscanf(fp,"%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)数据结构分为线性结构与非线性结构,带链的栈属于【1】。(2)在长度为n的顺序存储的线性表中插入一个元素,最坏情况下需要移动表中【2】个元素。(3)常见的软件开发方法有结构化方法和面向对象方法。对某应用系统经过需求分析建立数据流图(DFD),则应采用【3】方法。(4)数据库系统的核心是【4】。(5)在进行关系数据库的逻辑设计时,E—R图中的属性常被转换为关系中的属性,联系通常被转换为【5】。(6)若程序中已给整型变量a和b赋值10和20,请写出按以下格式输出a、b值的语句【6】。****a=l〇.b=2〇****(7)以下程序运行后的输出结果是[7】。#include<stdio.h>main()<inta=37;a%=9;printf(1,%d\nH,a);)(8)以下程序运行后的输出结果是—#include<stdio.h>main(){inti,j;for(i=6:i>3:i-)j=i;printf(n%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]);(10)以下程序运行后的输出结果是_L地!ー。#include<stdio.h>main(){chara;for(a=0;a<15;a+=5){putchar(a+'A');)printf(,f\nu);)(11)以下程序运行后的输出结果是ー【11】。#include<stdio.h>voidfun(intx){if(x/5>o)fun(x/5);prin仇“%dt”,x);)main(){fun(ll);printf(',\nM);}(12)有以下程序#include<stdio.h>main(){intc[3]={0},k,i;while((k二getcharOXn'n')c[k,A']++;for(i=0;i<3;i-H-)printf(v%d",c[i]);printf(M\nM);若程序运行时从键盘输入ABcAcCv回车〉,则输出结果为【12】。(13)以下程序运行后的输出结果是ーL隘!__。#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(M%d\nr,n[l]);}(14)以下程序调用fun函数把x中的值插入到a数组下标为k的数组元素中。主函数中,n存放a数组中数据的个数。请填空。#include<stdio.h>voidfun(ints[],int*n,intk,intx){inti;for(i=*n-1;i>=k;i—)s[[14]]=s[i];s[k]=x;*n二・n+ 【15】;
main(){inta[20]={l,2,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++)printf("%4d",a[i]);printf("\nM);}2011年9月全国计尊机等级考试二级
C语言程序设计答案及详解ー、选择题(DD)【解析】所谓算法是指解题方案的准确而完整的描述•是ーー组严谨地定义运售顺序的规则,并且每一个规则都是有效的,且是明确的,此顺序将在有限的次数下终止.算法不等于程序,也不等于计算方法.设计算法时不仅要考虑对数据对象的运尊和操作,还要考虑售法的控制结构.(2)c)【解析】线性表的薛式存储结构称为线性熊表.在熊式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的.(3)B)【解析】由ニ叉树的性质可以知道在ニ叉树中叶子结点总是比度为2的结点多一个.(4)A)【解析】学生成绩管理系统为应用软件.(5)c)【解析】这个系统总体结构图是ー棵树结构,在树结构中,根结点在第1层,同一层上所有子结点都在下ー层,由系统总体结构图可知,这棵树共3层.在树结构中,树的最大层次称为树的深度.所以这棵树的深度为3.(6)D)【解析】所谓程序调试,是将编制的程序投入实际运行前,用手工或编译程序等方法进行测试,修正语法错误和逻辑错误的过程.其任务是诊断和改正程序中的错误.
(7)A)【解析】数据库设计目前一般采用生命周期法,即将整个数据库应用系统的开发分解成目标独立的若干阶段.分别是:需求分析阶段、概念设计阶段、逻辑设计阶段、物理设计阶段、编码阶段、测试阶段、运行阶段、进ー步修改阶段.数据字典是对系统中数据的详尽描述,是各类数据属性的清单.对数据设计来讲,数据字典是进行详细的数据收集和数据分析所获得的主要结果.(8)D)【解析】数据库系统的三级模式包括概念模式、外模式和内模式(物理模式).(9)B)【解析】由三个关系R、s和T的结构可以知道,关系T是由关系R、s经过差运算得到的.(10)A)【解析】面向对象设计方法的主要特征有封装性、继承性和多态性.而结构化程序设计方法的主要原则有自顶向下,逐歩求精,模块化,限制使用got。语句.(11)c)【解析】C语言程序是从main函数开始执行的,每ー个函数可以进行独立的编释.(12)c)【解析】如果应用结构化程序设计方法设计程序,那么可采用自顶向下,逐歩细化的设计方法把若干独立模块组装成所要求的程序.(13)D)【解析】常量指在程序运行过程中,具值不能被改变的量.常量分为整型常量:也就是整常数,实型常量,字符型常量和字符串常量.常量也可以按数据类型分为为数据常量和非数据常里.变量是指在程序运行过程中,其值能被改变的量.(14)c)【解析】在c语言中不同类型的数据进行运算时,除了强制数据类型转换外,都要进行默认的数据类型转换,通常转换为精度餃高的数据类型.对于本题来说,字符型数据‘A'与整型a相加转换为整型数据,其和再与双精度型数据b相加,要转换为双精度型数据.(15)B)【解析】由于x,y,z都是整型数据,所以x除以Y的值为整型数值1,1和0.9相加得到1.9,再转换为整型数1赋给整型变量2.(16)0【解析】在采用scanf这个函数输入数据时,要严格直守其输入的规则定义.本题此函数定义的规则是,在两个整数之间加分号输入.(17)B)【解析】由于kl等于10,k2等于20,所以关系表达式kl>k2的值为假,即等于。,所以在执行逻辑表达式
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025届河南省周口市扶沟高级中学高三二轮检测试题(二模)语文试题试卷含解析
- 2024-2025学年湖南省茶陵三中新高考物理试题适应性训练(二)含解析
- 酒泉职业技术学院《数学解题方法》2023-2024学年第一学期期末试卷
- 鹤壁汽车工程职业学院《第二外语德语》2023-2024学年第二学期期末试卷
- 湖南工学院《程序设计基础理论》2023-2024学年第二学期期末试卷
- 毕节工业职业技术学院《装饰设计基础》2023-2024学年第二学期期末试卷
- 扬州大学《现代分析》2023-2024学年第二学期期末试卷
- 古人对时间的总结
- 公司投资的基本理念及方法论
- 公共交通车辆性能检测制度
- 电网工程设备材料信息参考价(2024年第四季度)
- 20以内退位减法口算练习题100题30套(共3000题)
- GB/T 13668-2015钢制书柜、资料柜通用技术条件
- 易制毒化学品安全教育培训《教育培训记录表》
- 精神病学简答题
- 2023年鄂尔多斯生态环境职业学院单招考试面试题库及答案解析
- Q∕SY 01004-2016 气田水回注技术规范
- 气管支气管结核诊断和治疗指南
- 高中临界生冲刺一本培养方案
- 供应商社会准则符合性自审问卷
- 城镇燃气加臭技术规程CJJ T148
评论
0/150
提交评论