历年二级c真题与答案_第1页
历年二级c真题与答案_第2页
历年二级c真题与答案_第3页
历年二级c真题与答案_第4页
历年二级c真题与答案_第5页
已阅读5页,还剩76页未读 继续免费阅读

下载本文档

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

文档简介

2012年3月全图计算机等仅号钛二假C语言再题一、选择题1、下列叙述中正确的是:A、循环队列是队列的一种顺序存储结构C、循环队列是非线性结构2、下列叙述中正确的是A、栈是一种先进先出的线性表C、栈和队列都是非线性结构B、循环队列是队列的一种链式存储结构D、循环队列是一直逻辑结构B、队列是一种后进先出的线性表D、以上三种说法都不对3、一棵二叉树共有25个节点,其中5个时子节点,那么度为1的节点数为A、4B、A、4B、6C,10D、164、在卜.列模式中,能够给出数据库物理存储结构与物理存取方法的是A、内模式B、外模式C,概念模式D、逻辑模式5,在满足实体完整性约束的条件下A、一个关系中可以没有候选关键词B、一个关系中只能有一个候选关犍词C、一个关系中必须有多个候选关键词D、一个关系中应该有一个或者多个候选关键词6、有三个关系R、S和T如下:ABCaABCa12b21c31RSABCa12b21ABCa21b31则由关系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、设有以下语句Charch1,ch2,scanf("%c%c”,&ch1,&ch2);若要为变量chi和ch2分别输入字符A和B,正确的输入形式应该是A、A和B之间用逗号间隔 B、A和B之间不能有任何间隔符C、A和B之间可以用回车间隔 D、A和B之间用空格间隔16、以下选项中非法的字符常量是A、''102'B、''65'C、'\xff' D、'\019'17、有以下程序#include<sthio.h>Main()(IntA=O,B=O,C=O;C=(A-=A-5);(A=B,B+=4);Printf("%d,%d,%d\n”,A,B,C)}程序运行后输出的结果是A0,4,5B4,4,5 C4,4,4D0,0,018、设变量均已正确定义并且赋值,以下与其他三组输出结构不同的一组语句是A、x++;printf((4t%d\n,,,x); B、n=++x;printf(C4%d\n,\n);C、++x;printf((4<%d\n,,,x); D、n=x++;printf((4fc%d\n,\n);19、以下选项中,能表示逻辑值"假''的是A1 B0.000001 C0 D100.020、有以下程序#include<sthio.h>Main(){inta;Scanf("%d”,&a);If(a++<9)printf(C<%d\n,,,a);Elseprintf((u%d\n,\a-);程序运行时健盘输入9〈问车〉,则输出的结构是

A、10B11C9D821、有以下程序#include<sthio.h>Main(){ints=O,n;For(n=0;n<3;n<++){switch(s){case0;Case1;s+=1;Case2;s+=2;break;Case3;s+3;Case4;s+=4;)printf(("%d\n”,s);})程序运行后的结果是A1,2,4B1,3,6C3,10,14D3,6,1022、若k是int类型变量,且有以下for语句For(k=-l;k<O;k++)printf(****\n");下面关于语句执行情况的叙述中正确的是A、循环体执行一次C、循环体一次也不执行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);)}程序运行后输出的结果是A1B3D5FBABCDFEC24、设有如下定义语句Intm[]={2,4,6,8},*k=m;B、循环体执行两次D、构成无限循环A2C4E6D123456B、循环体执行两次D、构成无限循环A2C4E6D123456A*(k+2)Bk+2C*k+2D*k+=225、fun函数的功能是:通过键盘输入给x所指的整型数组所有元素赋值。在下列划线处应该填写的是#include<sthio.h>#defineN5Viodfun(intx[NJ){intm;For(m=N-l;m>0;m-)scanf("%d\n”,h)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=&m;a=/*p1-m;b=*pl+*p2+6;printf(M%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[]={"guest"); B、charstr[10]={t4guesf,};C^char*str[3]*str[l]={44guesf,};D>charstr[3][10];str[1]={<4guesf'};29、avg函数的功能是求整型数组中的前若干个元素的平均值,设数组元素个数最多不超过10,则下列函数说明语句错误的是A、intavg(int*a,intn);B、intavg(inta[10],int n);C、intavg(inta,intn);D、intavg(inta[],intn);30、有以下函数#include<sthio.h>#include<string.h>main(){printf(u%d\n,,,strren,,ATS\nO12\r,));}程序运行后的输出结果是A3B8 C4D931、有以下函数#include<sthio.h>main(){chara[20J,b[20],c[20J;scanf(,,%s%s*\a,b);get(c);printf(,,%s%s\n,\a,b,c);程序运行时从第一行开始输入thisisacat!(回车〉,则输出结果是Athisisacat!BthisisaCthisisacat!Dthisisacat!32、有以下函数#include<sthio.h>viodfun(charc){if(c>'x')fun(c-l);printf("%c”,c);)main(){fun"z”;}程序运行输出结果是AxyzBwxyzCzyxwDzyx33、有以下函数#include<sthio.h>viodfunc(intn){inti;for(i=0;i<=n;i++)printf("*”);prinlfC铲);main(){func(3);printfC4???r);func(4);printf(tt\n),);}程序运行输出结果是A****#????***# b***#????*****#C**#??*??*****# d****#????*****#34、有以下函数#include<sthio.h>viodfun(int*s){staicintj=0;do{s|jj=s|j]+s[j4-l];}wihle(++j<2);}main(){intk,a[10]={1,2,3,4,5);fbr(K+1;k<3;k++)fun(a);for(K+l;k<5;k++) printf("%d”,a[k]);)程序运行输出结果是A12345B23445C34756D3574535、有以下函数#include<sthio.h>#defineS(x)(x)*x*2main(){intk=5,j=2;printf(44%d;\S[k+j]);printf("%d\n”,S(k・j)));)程序运行输出结果是A98,18B39,11 C39J8 D98J136、有以下函数#include<sthio.h>Viodexch(intt[]){t[O]=t[5];}{intx[10]={l,2,3,4,5,6,7,8,9,10},i=0;While(i<=4){exch(&x[i]),i++;)for(i=0;i<5;i++) printf("%d'',x[i]);prinlf("\n”);}程序运行输出结果是A246810B13579C12345 D67891037、设有以下程序段StructMP3{charname[20];Charcolor;Floatprice;}std,*ptr;ptr=&std;若要引用结构体变量std中的color成员,写法错误的是Astd.colorBptr->colorCstd->colorD(*ptr).color38、有以下函数#include<sthio.h>structstu{intmun;charname[10J;intage;};viodfun(structstu*p){printf(44%s\n,\p->name);)mian(){structstux[3]={{01,“zhang”,20},{02,''wang”,19},{03,''zhao”』8}};fun(x+2);}程序运行输出结果是AzhangBzhaoCwangD1939、有以下函数#include<sthio.h>mian(){inta=12,c;c=(a«2)«l;printf(44%d\nM,c):A3B50C2D9640、以下函数不能用于向文件写入数据的是Aftell Bfwrite Cfputc Dfprintf二、填空题1、将长度为n的顺序存储在线性表中删除一个元素,最坏情况下需要移动表中的元素个数为( )。2、设循环队列的存储空间为Q(1:3),初始状态为front=rear=30o现经过一系列入队与退队运算后,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(4t%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+1));printf(44%f\n,\s);请填空,使以下程序段的功能与上面的程序段完全相同。s=1.0;k=l;while(){s=s+1.0(k*(k+l));k=k+1;}printf(t<%f\n,\s);10、以下程序段的输出结果是( )#include<sthio.h>mian(){chara,b;for(a=0;a<20;a+=7){b=a%10;putchar(b+,0,);})Ik以下程序段的输出结果是( )#include<sthio.h>mian(){char*ch[4]={4tred,,;,green,,;,blueM);Inti=0;While(ch[i]);{putchar(ch[i][OJ;i++;}}有以下程序#include<sthio.h>mian(){intarr[]={1,3,5,7,2A6,8{,i,start;Scanf(44%d,\&start);For(i=0,i<3J++)printf(<<%d**,arr[(start+i)%8]);}若在程序运行时输入整数10〈回车〉,则输出结果为()o以下程序的功能是输出a数组中的所有字符串,请填空#include<sthio.h>mian(){char*a[]=]"ABC”JDEFGH"JU”JKLMNOP");Inti=0;For(;i<4;i++)printf(t4%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!M);printfC%c%c%c\n,\p[ll],q[3],r[4]);free(p);}15、设文件test.txt中原已写入字符串Begin,执行以下程序后,文件中的内容为(#include<string.h>mian(){file*fp;fp=fopen(44test.txt,,;,w+n);fputs(4*tesf\fp);fclose(fp);(1)【答案】A【解析】为了充分利用存储空间,可以把顺序队列看成一个环状空间,即把顺序队列的头尾指针相连,这样的队列称之为循环队列。它是对顺序队列的改进,故循环队列是队列的一种顺序存储结构[D]【解析】栈是一种后进先出的线性表,队列是一种先进先出的线性表,二者均是线性结构,故选项A)、B),C)均不对,答案为选项D)。[D]【解析】由二叉树的性质n0=n2+1可知,度为0的结点数(即叶子结点数)=度为2的结点数+1,根据题意得知,度为2的结点数为4个,那么25-5-4=16即为度为1的结点数,选项D)正确(4)、【答案】A【解析】内模式也称存储模式,它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式,对应于物理级,它是数据库中全体数据的内部表示或底层描述,是数据库最低一级的逻辑描述。所以选项A)正确。(5)【答案】D【解析】在关系R中如记录完全函数依赖于属性(组)X,则称X为关系R中的一个候选关键字。在一个关系中,候选关键字可以有多个且在任何关系中至少有一个关键字。所以在满足数据完整性约束的条件下,一个关系应该有一个或多个候选关键字,所以选项D)正确。(6)【答案】C【解析】R和S的差是由属于R但不属于S的元组组成的集合,运算符为“二。记为T=R-S。根据本题关系R和关系S运算前后的变化,可以看出此处进行的是关系运算的差运算(7)【答案】B【解析】通常把软件产品从提出、实现、使用、维护到停止使用(退役)的过程称为软件生命周期。可以将软件生命周期分为软件定义、软件开发及软件运行维护三个阶段。软件生命周期的主要活动阶段是可行性研究与计划制定、需求分析、软件设计、软件实现、软件测试、运行和维护。软件生命周期不包括市场调研。(8)【答案】C【解析】需求分析是对待开发软件提出的需求进行分析并给出详细的定义。主要工作是编写软件需求规格说明书及用户手册。需求分析的任务是导出目标系统的逻辑模型,解决“做什么”的问题。制定软件集成测试计划是软件设计阶段需要完成的任务(9)【答案】A【解析】黑盒测试也称功能测试或数据驱动测试,设计测试用例着眼于程序外部结构、不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。(10)【答案】D【解析】软件设计包括概要设计和详细设计,软件概要设计中,面向数据流的设计方法有变换型系统结构图和事务型数据流两种。软件详细设计,程序流程图(PDF)和PAD(问题分析图)是过程设计的常用工具。数据流图(DFD图)是软件定义阶段结构化分析方法常用的工具。(11)【答案】A)【解析】简单程序设计的步骤是首先要确定算法和数据结构,然胡编码、调试,最后整理相关文档。(12)【答案】A)【解析】实型数据在内存中存储的二进制位数是有限的,例如float型数据在内存中有24位二进制尾数。而一个十进制实数转化为二进制实数时,其有效数字位数有可能会超过尾数的存储长度,从而导致有效数字丢失而产生误差。(13)【答案】B)【解析】一个正确的算法可以有零个或者多个输入,必须有一个或者多个输出。(14)【答案】C)【解析】一个C程序有且只有一个主函数main()o一个C程序可以包含多个不同名字的子函数。C程序在书写时没有严格的缩进要求。(15)【答案】B)【解析】考察C语言中输入格式,因为在输入格式中定义好了“%c%c”,其中没有任何符号,所以中间不能加任何字符,包含不能加逗号、回车和空格,因为这些也算是字符。所以在输入时也不可以有任何间隔符号。(16)【答案】D)【解析】字符常量有两种表示方法:一种是用该字符的图形符号,如‘b'JyL 另外还可以用字符的ASCII码表示,即用反斜符(\)开头,后跟字符的ASCII码,这种方法也称为转义序列表示法,具体方法是:有两种形式:一种是用字符的八进制ASCII码,表示为:\odd.这里,ddd是八进制值(o可以省略)。另一种使用字符的十六进制ASCII码值,表示为\Oxhh或OXhh这里hh是两位十六进制值。本题中D)选项)019,使用是八进制表示,不应该出现9,所以错误。(17)【答案】A)【解析】考察C语言关于赋值的应用,首先执行a-=a-5,即2=2-但-5),使得a的值为5,然后执行c=(a-=a-5),即将a的值5赋给变量c,使得c的值也为5。然后执行下句逗号表达式中的2=13,把b的值。赋给a,此时a的值为0,然后执行b=b+4,使得b的值为4。最后打印输出。(18)【答案】D)【解析】本题考察自增运算符,++x表示先将x值加1后再用,x++表示先使用x值,用后加1,所以本题中ABC选项都会输出x+1的值,只有D选项会输出x值。(19)【答案】C)【解析】在C语言中非0的值表示真,0表示假。(20)【答案】A)【解析】考察if语句和自增自减运算符,判断条件中if(a++<9)是先用后加,即a的值为9,所以条件不成立,但是a已经进行了自增1操作,a的值此时为10。执行else语句口寸,因为打印a--,是先用后减,所以先输出10,然后a的值变为9。(21)【答案】C)【解析】本题考察switch语句的应用,case分支后面如果没有break,那么就会顺序执行下面的case,直到遇到break跳出。所以第一次循环后s的值为3打印输出。第二次s的值为:s=s+3,s=s+4,即为10,打印输出。第三次没有匹配成功直接执行default语句,s=s+4,所以s的值为14,打印输出。(22)【答案】A)【解析】考察for循环语句,本题中k初始值为-1,执行一次循环体,执行完后k值为0,不满足k<0条件,推出循环,所以执行了一次。(23)【答案】C)【解析】考察for语句和if语句,第一次循环a的值为0,a%2也为0,条件不满足所以打印的是(c+a)即变量c的值“A”。第二次a的值为1,条件a%2的值为1,条件满足打印字符(b+a)即字符“2"。第三次a的值为2,条件不满足,打印(a+c)即字符"C”。同理打印后续字符为“4E6”。(24)【答案】A)【解析】考察数组和指针的概念,本题中*k指向数组m的首地址。*(k+2)现将指针后移两个元素,即为m[2]的首地址,然后取出m[2]的值6,所以选择A选项。选项B的值是一个地址无意义。选项C的值为4。选项D使得m[0]的值为4。(25)【答案】D)【解析】考察指针的概念和应用,数组名本身就是地址,所以不需要在用&符号。C选项不能对所有元素赋值而是反复再给一个数值赋值且是死循环。(26)【答案】B)【解析】函数中的形参a[]已经退化为一个指针,所以AC都不对,D选项中只是传入一个指针,并没有把数组的元素挨个赋值,正确选项为B。(27)【答案】A)【解析】选项人中2= 表示方式不正确,未能正确表示出含义。(28)【答案】D)【解析】考察指针数组的概念,D选项中str为二维字符数组,不能够直接把一个字符串赋值到二维数组的某一行中。(29)【答案】C)【解析】考察函数声明基本用法,C选项中函数的第一形参没有指名是数组,代表的是一个整型数,声明不正确。(30)【答案】B)【解析】考察转义字符的用法,strlen函数的作用是求得字符串长度,\n与\1均是反义字符各表示一个字符所以打印值为8。(31)【答案】C)【解析】考察scant和gets输入字符串的区别,scanf语句接收字符时遇至U空格就作为一个字符串的结束,所以a数组中为this,b数组中为is,但是getchar函数见到回车才认为结束所以c数组为acatlo所以打印结果如选项C。(32)【答案】A)【解析】考察函数的嵌套调用,当运行fun('z'),调用fun(,y'),然后嵌套调用fun(,x'),输出结果为先输出x,然后输出y,最后输出z。(33)【答案】D)【解析】考察for循环函数调用,执行fun(3)是输出****,然后输出#,执行fun(4)时输出*****,然后输出#,所以选项D)正确。(34)【答案】D)【解析】考察静态局部变量,静态局部变量属于静态存储方式,它具有以下特点:(1)静态局部变量在函数内定义,它的生存期为整个源程序。(2)静态局部变量只能在定义该变量的函数内使用该变量。退出该函数后,尽管该变量还继续存在,但不能使用它。(3)允许对构造类静态局部量赋初值。若未赋以初值,则由系统H动赋以。值。(4)根据静态局部变量的特点,可以看出它是一种生存期为整个源文件的量。虽然离开定义它的函数后不能使用,但如再次调用定义它的函数时,它又可继续使用,而且保存了前次被调用后留下的值。根据这个特点,函数第一次调用时,会将数组a变为35345,当第二次调用时,函数内的j值为2,所以会将数组a的第三个元素更改为7,所以最终结果为35745,选项D)正确。(35)【答案】B)【解析】考察宏定义的使用,根据该宏的定义,S(k+j)=(k+j)*k+j*2=39,S(k-j)=(k-j)*k-j*2=11,所以答案为39,11选项B)正确。(36)【答案】D)【解析】通过分析代码,可以看出来,函数的作用就是把数组某个元素的变为这个元素位置加5后对用的元素值,所以执行完之后输出数组x的前五个元素的值,其实就是数组x的后五个元素的值,即678910。(37)【答案】C)【解析】考察结构体的用法,在引用结构体中的成员变量时,可以使用'.'来引用,当指针指向结构体时,可以使用来指向结构体重的成员,C选项引用错误。(38)【答案】B)【解析】考察结构体的用法,结构体数组存储了三个人的信息,x+2代表了指向第三个元素,所以输出name为Zhao。(39)【答案】D)【解析】考察移位操作,执行c=(av<2)<<1语句时,首先是a左移两位,其等效于将a乘以4,得到48,然后将48左移一位,相当于是乘以2,所以结果为c=96,选项D正确。(40)【答案】A)【解析】考察文件的操作,函数ftell()用于得到文件位置指针当前位置相对于文件首的偏移字节数。在随机方式存取文件时,由于文件位置频繁的前后移动,程序不容易确定文件的当前位置。调用函数ftell()就能非常容易地确定文件的当前位置。不能写入数据,其他三个选项都可以向文件中写入。二、填空题(1)【答案】[1]n-1【解析】在顺序表中删除一个元素,最坏情况是删除第一个元素,后面的(n-1)个元素均要向前移动,所以此处填n-1。(2)【答案】【2】29【解析】通过题干的描述可知此循环队列共30个空间,另外队尾指针rear的值小于队头指针front的值,所以利用公式(rear-front+30)%30=29,可知此循环队列的元素个数为29。(3)【答案】【3】数据操纵语言【解析】数据操纵语言DML(DataManipulationLanguage),用户通过它可以实现对数据库的基本操作。例如,对表中数据的杳询、插入、删除和修改。在DML中,应用程序可以对数据库作插、删、改、排、检等五种操作。(4)【答案】【4】关系【解析】关系数据库逻辑设计的主要工作是将E-R图转换成指定RDBMS中的关系模式,这种转换是比较直接的,实体与联系都可以表示成关系。(5)【答案】【5】面向对象方法【解析】面向对象方法是一种基于对象模型的程序设计方法,包括面向对象分析、面向对象设计、面向对象编程,是目前应用范围最广的设计方法。其中对象模型包括六个要素:封装、抽象、模块化、层次结构、类、并发性。面向对象方法的主要特征是封装、继承和多态性,所以此空应填面向对象方法。(6)【答案】a=1,b=2【解析】scanf()函数是格式化输入函数,它从标准输入设备(键盘)读取输入的信息,其调用格式为:scanf("v格式化字符串v地址表>),scanf("a=%d,b=%d",&a,&b)中a=%d,b=%d之间有逗号,在输入数据时也要加逗号,如果去掉逗号,输入时就不用逗号,而用空格,tab键或回车键将各个数据隔开。(7)【答案】2【解析】a+=a%=9;其中a%=9等价于a=a%9;结果为1,所以a+=a%=9等价于a=a+1,故答案为2.(8)【答案】2【解析】a||b若a,b都为假,则a||b为假,其他都为真.如果a为真时,则对b不进行真假,所以对于c=a++11b++,因为a++时为真,所以b++不进行判断,b的值保持不变,故b=2。⑼【答案】k<=n【解析】for和while都是循环语句,可以实现相同的功能.。(10)【答案】074【解析】本题第一次循环时a的值为0,b的值为0所以打印字符'0'。第二次循环时a的值为7,b的值为7,所以打印字符7'。第三次a的值为14,b的值为4,打印字符,4、(11)【答案】rgb【解析】char*ch[4]是指针数组,数组元素全为char类型指针,由于数组元素均为指针,因此ch[i]是指第i个字符串的指针,ch[i][0]为指向第i个字符串的首地址。(12)【答案】572【解析】第一次循环打印arr[10%8]即arr[2]的值,为5。第二次循环打印arr[11%8]即arr[3]的值,为7。第三次循环打印arr[12%8]即arr[4]的值,为2。(13)【答案】a[i]【解析】char*a[]为指针数组,a[i]为指向第i个字符串的指针。(14)【答案】cab【解析】p=q=r=(char*)malloc(sizeof(char)*20);等价于r=(char*)malloc(sizeof(char)*20);q=r;p=q,所以p,q,r,指向相同的地址。(15)【答案】test【解析】fopen函数功能是打开一个文件,函数原型FILE*fopen(constchar*path,constchar*mode);当mode为w+,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件.fputs将字符串写入到fp中.所以文件内容为test。全国计算机等级考试二级C语言真题2011年09月-34次【一】、单项选择题(每小题分值:1.85分).下列叙述中正确的是()A)算法就是程序 B)设计算法时只需要考虑数据结构的设计C)设计算法时只需要考虑结果的可能性D)以上三种说法都不对。ABCD未答题该题得分:0正确答案:D试题来源:全国计算机等级考试二级C语言真题2011年09月-34次【解析】: 考核知识点:算法的概念与特性。算法不等于程序,算法有穷性、确定性、可行性。设计算法不仅仅考虑数据结构的设计,说法片面。.下列关于线性链表的叙述中,正确的是()A)各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致。B)各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续C)进行插入与删除时,不需要移动表中的元素。D)以上三种说法都不对ABCD未答题该题得分:0正确答案:C试题来源: 全国计算机等级考试二级C语言真题2011年09月-34次【解析】:考核知识点:线性链表的特点。线性链表的特点是逻辑上相邻,物理上不一定相邻。存储顺序与逻辑顺序可以不一致。在线性链表中插入数据时仅需要修改指针即可。.下列关于二叉树的叙述中,正确的是()A)叶子结点总是比度为2的结点少一个B)叶子结点总是比度为2的结点多一个C)叶子结点数是度为2的结点数的两倍D)度为2的结点数是度为1的结点数的两倍ABCD未答题该题得分:0正确答案:B试题来源: 全国计算机等级考试二级C语言真题2011年09月-34次【解析】:点的度是指树中每个结点具有的子树个数或者说是后继结点数。题中的度为2是说具有的2个子树的结点;二叉树有个性质:二叉树上叶子结点数等于度为二的节点+1。我们设度为0,1,2的节点分别为n0,nl,n2个,那么节点总数n=n(h-nl+n2,然而边数b=n-l,并且b=nl+2*n2=n-l=n0+nl+n2-l,由此式我们可以推出n0=n2+l。也就是说叶子节点要比度为二的节点多一个。.软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是( )A)学生成绩管理系统 B)C语言编译程序C)UNIX操作系统D)数据库管理系统ABCD未答题该题得分:0正确答案:A试题来源: 全国计算机等级考试二级C语言真题2011年09月-34次【解析】:考核的知识点:软件的分类。ABCD未答题该题得分:0正确答案:C试题来源: 全国计算机等级考试二级C语言真题2011年09月-34次【解析】:树的深度。.程序调试的任务是()A)设计测试用例 B)验证程序的正确性C)发现程序中的错误D)诊断和改正程序中的错误ABCD未答题该题得分:0正确答案:D试题来源:全国计算机等级考试二级C语言真题2011年09月-34次【解析】: 考核知识点:程序调试的概念。程序调试的任务是发现并改正程序中的错误。.下列关于数据库设计的叙述中,正确的是()A)在需求分析阶段建立数据字典 B)在概念设计阶段建立数据字典C)在逻辑设计阶段建立数据字典 D)在物理设计阶段建立数据字典ABCD未答题该题得分:0正确答案:C试题来源: 全国计算机等级考试二级C语言真题2011年09月-34次【解析】:数据库设计的四个阶段。需求分析、逻辑设计(概念设计、详细设计)、物理设计。数据字典是逻辑设计阶段的任务。.数据库系统的三级模式不包括()A)概念模式B)内模式C)外模式D)数据模式ABCD未答题该题得分:0正确答案:D试题来源: 全国计算机等级考试二级C语言真题2011年09月-34次【解析】:数据库的三级模式。包括外模式、内模式、概念模式。.ABCD未答题该题得分:0正确答案:B试题来源: 全国计算机等级考试二级C语言真题2011年09月-34次【解析】:关系运算。.下列选项中属于面向对象设计方法主要特征的是(A)继承B)自顶向下C)模块化D)逐步求精ABCD未答题该题得分:0正确答案:A试题来源:全国计算机等级考试二级C语言真题2011年09月-34次【解析】:面向对象程序设计和结构化程序设计的区别。结构化程序设计三原则:自顶向上,逐步求精、模块化。面向对象程序设计则采用继承的机制。.下列叙述中错误的是A)C语言编写的函数源程序,其文件名后缀可以是CB)C语言编写的函数都可以作为一个独立的源程序文件C语言编写的每个函数都可以进行独立的编译并执行一个C语言程序只能有一个主函数ABCD未答题该题得分:0正确答案:C试题来源: 全国计算机等级考试二级C语言真题2011年09月-34次【解析】:C程序。C程序的函数可单独编译但不可单独执行。.以下选项中关于程序模块化的叙述错误的是A)把程序分成若干相对对立的模块,可便于编码和测试B)把程序分为若干相对独立、功能单一的模块,可便于重爱使用这些模块C)可采用自底向上、逐步细化的设计方法把若干独立模块组装成所要求的程序D)可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序ABCD未答题该题得分:0正确答案:D试题来源: 全国计算机等级考试二级C语言真题2011年09月-34次【解析】:程序模块化。结构化程序设计的方法。.以下选项中关于C语言常量的叙述错误的是()A)所谓常量,是指在程序运行过程中,其值不能被改变的量B)常量分为整型常量、实型常量、字符常量和字符串常量C)常量可分为数值型常量和非数值型常量D)经常被使用的变量可以定义成常量ABCD未答题该题得分:0正确答案:D试题来源:全国计算机等级考试二级C语言真题2011年09月-34次【解析】:常量和变量的区别。.若有定义语句:inta=10;doubleb=3.14;,则表达式'A'+a+b值的类型是A)charB)intC)doubleD)floatABCD未答题该题得分:0正确答案:C试题来源:全国计算机等级考试二级C语言真题2011年09月-34次【解析】:混合运算。.若有定义语句:intx=12,y=8,z;,在其后执行语句z=0.9+x/y;,则z的值为A)1.9B)1C)2D)2.4ABCD未答题该题得分:0正确答案:B试题来源: 全国计算机等级考试二级C语言真题2011年09月-34次【解析】: 算数运算。12/8=1,0.9+1=1.9,而C为常数。.若有定义:inta,b;,通过语句scanf("%d;%d”,&a,&b);,能把整数3赋给变量a,5赋给变量b的输入数据是A)35B)3,5C)3;5D)35ABCD未答题该题得分:0正确答案:C试题来源: 全国计算机等级考试二级C语言真题2011年09月-34次【解析】:scanf函数的使用.若有定义语句:intkl=10,k2=20 执行表达式(kl=kl>k2)&&(k2=k2>kl)后,kl和k2的值分别为人)0和1 B)0和20 C)10和1D)10和20ABCD未答题该题得分:0正确答案:B试题来源: 全国计算机等级考试二级C语言真题2011年09月-34次【解析】: 关系运算与逻辑运算及短路现象。kl=10>20,结果为0,而K2则不变.有以下程序#include<stdio.h>main(){inta=l,b=0;if(--a) b++;

elseif(a==0)b+=2;elseb+=3;printf(t4%d\n,,,b);)程序运行后输出的结果是()A)0B)1C)2D)3ABCD未答题该题得分:0正确答案:C试题来源: 全国计算机等级考试二级C语言真题2011年09月-34次【解析】:if语句.以下程序中与其他语句不同的是:()if(a)printf("%d\n”,x);elseprintf("%d\n”,y);if(a==O)printf("%d\n",y);elseprintf("%d\n",x);elseprintf("%d'n'',y);elseprintf("%d\n”,y);C)if(a!=0)printf("%d\n”,x);elseprintf("%d'n'',y);elseprintf("%d\n”,y);D)if(a==0)printf("%d\n”,x);ABCD未答题该题得分:0正确答案:D试题来源: 全国计算机等级考试二级C语言真题2011年09月-34次【解析】:条件表达式20.有以下程序#include<stdio.h>main()(inta=7;while(a-);printf(44%d\n,\a);)程序运行后的输出结果是:()A)-lB)0 C)1 D)7ABCD未答题该题得分:0正确答案:A试题来源: 全国计算机等级考试二级C语言真题2011年09月-34次【解析】:while语句的循环条件与自减运算.以下不能输出字符A的语句是(注:字符A的ASCII码值为65,字符a的ASCII码值为97)()A)printf(''%c\n",'a'-32); B)printf("%d\n",'A');C)printf("%c\n”,65); D)printf("%c\n”;B'-l);ABCD未答题该题得分:0正确答案:B试题来源: 全国计算机等级考试二级C语言真题2011年09月-34次【解析】:printf函数的使用和字符类型.有以下程序(注:字符a的ASCH码值为97)#include<stdio.h>main()char*s={"abc''};do(printf(',%d,,,*s%10);++s;}while(*s);)程序运行后的输出结果是:()A)abcB)789 C)7890D)979899ABCD未答题该题得分:0正确答案:B试题来源: 全国计算机等级考试二级C语言真题2011年09月-34次【解析】:dowhile语句。*s%10得到字符的ASCH值得个位数字.若有定义语句:doublea,*p=&a;以下叙述中错误的是:()A)定义语句中的*号是一个间址运算符;B)定义语句中的*号是一个说明符;C)定义语句中的p只能存放double类型变量的地址;D)定义语句中,*p=&a把变量a的地址作为初值赋给指针变量p;ABCD未答题该题得分:0正确答案:A试题来源: 全国计算机等级考试二级C语言真题2011年09月-34次【解析】:指针变量的定义与间址运算符的区别.以下程序:#include<stdio.h>doublef(doublex);main()doublea=0;inti;for(i=0;i<30;i+=10)a+=f((double)i);printf(“%5.0f\n",a);doublef(doublex){returnx*x+l;}程序运行后的输出结果是:()A)5O3 B)401 C)500 D)1404ABCD未答题该题得分:0正确答案:A试题来源: 全国计算机等级考试二级C语言真题2011年09月-34次【解析】:函数的调用与for语句。a=(0*0+1)+(10*10*+1)+(20*20+1)=503.若有定义语句:intyear=2009,*p=&year;以下不能使用变量year中的值增至2010的语句是:A)*p+=1; B)(*p)++;C)++(*p);D)*p++;ABCD未答题该题得分:0正确答案:D试题来源: 全国计算机等级考试二级C语言真题2011年09月-34次【解析】:指针的运算.以下定义数组的语句中错误的是:()A)intnum[]={1,2,34,5,6}; B)intnum[][3]={{1,2},3,4,5,6};C)intnum⑵[4]={{1,2},{3,4},{5,6}};D)intnum[][4]={1,23,4,5,6);应该有四组ABCD未答题该题得分:0正确答案:C试题来源: 全国计算机等级考试二级C语言真题2011年09月-34次【解析】:数组的初始化.有以下程序#include<stdio.h>voidfun(inl*p)(printfC*%d\nM,p[5]);Imain()(inta[l0]={123,4,5,6,7,8,9,10};fun(&a[3]);}程序运行后的输出结果是:()A)5 B)6 C)8 D)9ABCD未答题该题得分:0正确答案:D试题来源: 全国计算机等级考试二级C语言真题2011年09月-34次【解析】:指针变量作为函数的参数的调用。调用时,p指向数组元素a[3],此时,p[5]即指向&a[3]+5的元素.有以下程序#include<stdio.h>#defineN4voidfun(inta[][N],intb[]){inti;for(i=0;i<N;i++) b[i]=a[i][i]-a[i][N-l-i];Imain(){intx[N][N]={{l,2,3,4},{5,6,7,8),{9,10,ll,12},{13,14,15,16}},y[N],i;fun(x,y);for(i=0;i<N;i++)printf("%d,'',y[i]);printf("\n");}程序运行后输出的结果是:()A)-12,-3,0,0 B)-3,-1,1,3 C)0,l,2,3 D)-3,-3,-3,-3ABCD未答题该题得分:0正确答案:B试题来源: 全国计算机等级考试二级C语言真题2011年09月-34次【解析】: 数组作为函数的参数的调用b[0]=1+4=5,b[l]=6+7=13,b[2]=10+11=21,b[3]=16+13=2929.有以下函数intfun(char*x,char*y){intn=0;while((*x==*y)&&*x!=,\0,){x++; y++;n++}returnn;函数的功能是()查找x和y所指字符串中是否有,\(F;统计x和y所指字符串中最前面连续相同的字符个数;将y所指字符串赋给x所指存储空间;统计x和y所指字符串中相同的字符个数;ABCD未答题该题得分:0正确答案:B试题来源: 全国计算机等级考试二级C语言真题2011年09月-34次【解析】:字符指针.若定义语句:char*sl="OK",*s2="ok”;,以下选项中,能够输出“OK”的语句是()A)if(strcmp(s1,s2)==0) puts(sl); B)if(strcmp(s1,s2)!=0)puts(s2);C)if(strcmp(s1,s2)==1) puts(sl); D)if(strcmp(sl,s2)!=O)puts(sl);ABCD未答题该题得分:0正确答案:D试题来源: 全国计算机等级考试二级C语言真题2011年09月・34次【解析】: 字符串的比较,用strcmp函数进行字符串的比较。.以下程序的主函数中调用了再其前面定义的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)ABCD未答题该题得分:0正确答案:D试题来源: 全国计算机等级考试二级C语言真题2011年09月-34次【解析】:函数的原型说明.有以下程序#include<stdio.h>#include<string.h>main(){chara[5][10]={"china","beijing","you"Jtiananmen","welcome");intij;chart[10];for(i=0;i<4;i++)for(j=i+l;j<5;j++)if(strcmp(a[i],a[jl)>0){strcpy(t,a[i]);strcpy(a[i],a[j]);strcpy(a[j],t);}puts(a[3]);程序运行后的输出结果是()A)beijing B)china C)welcome D)tiananmenABCD未答题该题得分:0正确答案:C试题来源: 全国计算机等级考试二级C语言真题2011年09月-34次由小到大的【解析】:二维字符数组的使用和选择排序算法。用选择排序对每行字符串顺序排序。beijingchinatiananmenwelcomeyou由小到大的33.有以下程序#include<stdio.h>intf(intm){staticintn=0;n+=m;returnn;)main(){inta=0;printf(M%d;\f(++a));printf("%d”,f(a++));程序运行后的输出结果是A)1,2B)1,1 C)2,3D)3,3ABCD未答题该题得分:0正确答案:A试题来源:全国计算机等级考试二级C语言真题2011年09月-34次【解析】:静态变量和函数的调用。第1次,f(1)=1;第2次f(1)=234.有以下程序#include<stdio.h>

main(){charch[3][5]={"AAAA",''BBB"JCC''};printf("%s\n”,ch[l]);)程序运行后的输出结果是()AAAAB)CCC)BBBCCD)BBBAAAAB)CCC)BBBCCD)BBBABCD未答题该题得分:0ABCD未答题该题得分:0正确答案:D试题来源:全国计算机等级考试二级C语言真题2011年09月・34次【解析】:二维字符串数组35.有以下程序#include<stdio.h>#include<string.h>voidfun(char*w,intm){chars,*pl,*p2;pl=w; p2=w+m-1;while(pl<p2){s=*pl;*pl=*p2;*p2=s;pl++;p2-;}main()chara[]=n123456";fun(a,strlen(a));puts(a);)程序运行后的输出结果是()A)654321B)116611 C)161616D)123456ABCD未答题该题得分:0正确答案:A试题来源: 全国计算机等级考试二级C语言真题2011年09月・34次【解析】:函数的调用中参数的传递。函数实现了首位字符交换的功能.有以下程序#include<studio.h>#include<string.h>typedefstruct{charname[9];charsex;intscore[2];}STU;STUf(STUa)(STUb={"Zhao",'m',85,90);inti;strcpy(,);a.sex=b.sex;for(i=0;i<2;i++)a.score[i]=b.score[i];returna;}main()(STUc={"Qian”,f,95,92},d;d=f(c);printf("%s,%c,%d,%d,”,,d.sex,d.score[0],d.score[1]);printf("%s,%c,%d,%d\n”,,c.sex,c.score[0],c.score"]);)程序运行后的输出结果是()A)Zhao,m,85,90,Qian,f,95,92 B)Zhao,m,85,90,Zhao,m,85,90C)Qian,f,95,92,Qian,f,95,92 D)Qian,f,95,92,Zhao,m,85,90ABCD未答题该题得分:0正确答案:A试题来源:全国计算机等级考试二级C语言真题2011年09月-34次【解析结构类型体参数的函数调用。函数的返回结果到d,它是结构体类型。而函数的形参并影响实参,c变量保持不变.有以下程序#include<stdio.h>main()(structnode{intn;structnode*next;}*p;structnodex[3]={{2,x+l},{4,x+2},{6,NULL}};p=x;printf(44%d,,,,p->n);printf("%d\n"p>next->n);)程序运行后的输出结果是()A)2,3B)2,4 C)3,4 D)4,6ABCD未答题该题得分:0正确答案:B试题来源:全国计算机等级考试二级C语言真题2011年09月-34次【解析】:结构体变量的使用。.有以下程序#include<stdio.h>main()inta=2,b;b=a«2;程序运行后的输出结果是()A)2 B)4 C)6 D)8ABCD未答题该题得分:0正确答案:D试题来源: 全国计算机等级考试二级C语言真题2011年09月-34次【解析】: 位运算。左移2次,扩大4倍。.以下选项中叙述错误的是()A.C程序函数中定义的赋有初值的静态变量,每调用一次函数,赋一次初值B.在C程序的同一函数中,各复合语句内可以定变量,其作用域仅限本复合语句内C.C程序函数中定义的自动变量,系统不自动赋确定的初值D.C程序函数的形参不可以说明为static型变量ABCD未答题该题得分:0正确答案:A试题来源: 全国计算机等级考试二级C语言真题2011年09月-34次【解析】:静态变量和变量的作用域.有以下程序#include<stdio.h>main()FILE*fp;intk,n,i,a[6]={1,2,3,4,5,6);fp=fopenC'd2.datM,nwn);for(i=0;i<6;i++)fprintf(fp,n%d\n'*,a[i]);fclose(fp);fp=fopen(,'d2.dat,,,HrH);for(i=0;i<3;i++)fscanf(fp,"%d%d”,&k,&n);fclose(fp);printf(M%d,%d\nH,k,n);程序运行后的输出结果是()A)1,2B)3,4C)5,6D)123,456ABCD未答题该题得分:0正确答案:C试题来源: 全国计算机等级考试二级C语言真题2011年09月-34次【解析】:文件操作。第1次,1,2;第2次3,4第3次5,6。【二】、填空题(每小题分值:1.85分)

41. 41. (1)数据结构分为线性结构和非线性结构,带链的栈属于.未答题该题得分:0正确答案:线性结构试题来源: 全国计算机等级考试二级C语言真题2011年09月-34次【解析】:考察线性结构和非线性结构. (1)在长度为n的顺序存储的线性表中插入一个元素,最坏的情况下需要移动表中的个元素。未答题该题得分:0正确答案:n或n试题来源: 全国计算机等级考试二级C语言真题2011年09月-34次【解析】:顺序表插入操作. (1)常用的软件开发方法有结构化方法和面向对象方法,对某应用系统经过需求分析建立数据流图(DFD),则应采用 方法。未答题该题得分:0正确答案:结构化试题来源: 全国计算机等级考试二级C语言真题2011年09月-34次【解析】:软件开发方法.数据库系统的核心是未答题该题得分:0正确答案:数据库管理系统试题来源: 全国计算机等级考试二级C语言真题2011年09月-34次【解析】:数据库系统概念. (1)在进行关系数据库的逻辑设计时E-R图中的属性常被转换为关系中的属性,联系通常被转换为 。未答题该题得分:0正确答案:关系试题来源: 全国计算机等级考试二级C语言真题2011年09月-34次【解析】:数据库的设计. (1)若程序中已给整型变量a和b赋值10和20,请写出按以下格式输出ab值的语句 。****a=iob=20****未答题该题得分:0正确答案:printf("****a=%d,b=%d****",a,b);试题来源: 全国计算机等级考试二级C语言真题2011年09月-34次【解析】:答案:prinf("****a=%d,b=%d****",a,b);考察:printf的输出格式.以下程序运行后输出的结果是#include<stdio.h>main()inta=37;a%=9;printf("%d\n",a);未答题该题得分:0正确答案:1试题来源: 全国计算机等级考试二级C语言真题2011年09月-34次【解析】:考察:复合赋值运算.以下程序运行后的输出结果是 。#include<stdio.h>main()(intij;for(i=6;i>3;i-) j=i;printf(n%d%d\n",i,j);)未答题该题得分:o正确答案:34试题来源: 全国计算机等级考试二级C语言真题2011年09月-34次【解析】:答案:34,考察:for语句.以下程序运行后的输出结果是#include<stdio.h>main()(inti,n[]={0,0,0,0,0);for(i=l;i<=2;i++)

未答题该题得分:0正确答案:14试题来源: 全国计算机等级考试二级C语言真题2011年09月・34次【解析】: 答案:14;考察:数组的操作.以下程序运行后的输出结果是main()#include<stdio.h>#include<stdio.h>{chara;for(a=0;a<15;a+=5){putchar(a+,A,);}printf(H\n");未答题该题得分:o正确答案:AFK试题来源: 全国计算机等级考试二级C语言真题2011年09月-34次【解析】: 答案:AFK:【解析】考察:for语句与putchar函数#include<stdio.h>voidfun(intx)(if(x/5>0) fun(x/5);)main()(fun(ll);printf("\n”);I未答题该题得分:0正确答案:211试题来源: 全国计算机等级考试二级C语言真题2011年09月-34次【解析】: 答案:211;【解析】考察:递归调用.有以下程序:#include<stdio.h>main()intc[3]={0},k,i;while((k=getchar())!=,\n,)c[k・'A']++;for(i=0;i<3;i++)printfC%dM,c[i]);printffW);若程序运行的时候从键盘输入ABCACCv回车>,则输出结果为未答题该题得分:0正确答案:213试题来源: 全国计算机等级考试二级C语言真题2011年09月・34次【解析】: 答案:213;【解析】考察:循环与字符数组.以下程序运行后的输出结果是.#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[lD;未答题该题得分:0正确答案:3试题来源: 全国计算机等级考试二级C语言真题2011年09月-34次【解析】:答案:3;【解析】考察:多重循环.以下程序调用fun函数把x中的值插入到a数组下标为k的数组元素中,主函数main存放a数组中的数据个数,请填空。#include<stdio.h>voidfun(ints[],int*n,intk,intx)inti;for(i=*n-l;i>=k;i—)s[]=s[i];s[k]=x;*n=*n+;)main()(inta[20j={1,2,3,4,5,6,7,8,9,10,11},i,x=0,k=6,n=l1;fun(a,&n,k,x);for(i=0;i<n;i++)printf(n%4d",a[i]);printf(H\nH);)第1小题答案:未答题第2小题答案: 未答题该题得分正确答案试题来源【解析】:0i+l$l全国计算机等级考试二级C语言真题2011年09月・34次答案:i+1;1;【解析】考察:循环的结构与数组的操作最终得分:0全国计算机等级考试二级c语言真题2010年9月-32次【一】、单项选择题(每小题分值:L82分).下列叙述中正确的是A)线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B)线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构C)线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D)上述三种说法都不对ABCD未答题该题得分:0正确答案:B试题来源: 全国计算机等级考试二级C语言真题2010年10月-32次【解析】:【解析】线性表的顺序存储结构是把线性表中相邻的元素存放在相邻的内存单元中,而链式存储结构是用一组任意存储单元来存放表中的元素,为了表示出每个元素与其直接后继元素之间的关系,除了存储元素本身的信息外,还需存储一个指示其直接后继的存储位置信息。故线性表的链式存储结构所需的存储空间一般要多于顺序存储结构。.下列叙述中正确的是A)在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B)在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C)在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D)上述三种说法都不对ABCD未答题该题得分:0正确答案:c试题来源: 全国计算机等级考试二级C语言真题2010年10月-32次【解析】:【解析】栈是限定在一端进行插入与删除的线性表,允许插入与删除的一端称为栈顶,不允许插入与删除的另一端称为栈底。当有新元素进栈时,栈顶指针向上移动;当有元素出栈时,栈顶指针向下移动。在栈中栈底指针不变,栈中元素随栈顶指针的变化而动态变化,故答案为C)。.软件测试的目的是A)评估软件可靠性B)发现并改正程序中的错误C)改正程序中的错误D)发现程序中的错误ABCD未答题该题得分:0正确答案:D试题来源: 全国计算机等级考试二级C语言真题2010年10月-32次【解析】:【解析】软件测试的目的是为了发现程序中的错误而运行程序。.下面描述中,不属于软件危机表现的是A)软件过程不规范B)软件开发生产率低C)软件质量难以控制D)软件成本不断提高ABCD未答题该题得分:0正确答案:A试题来源:全国计算机等级考试二级C语言真题2010年10月-32次【解析】:【解析】软件危机是计算机软件在它的开发和维护过程中所遇到的一系列严重问题。主要表现在以下几个方面:软件需求的增长得不到满足;软件开发成本和进度无法控制;软件质量难以保证;软件可维护性差;软件的成本不断提高;软件开发生产率的提高赶不上硬件的发展和应用需求的增长。故答案选A)。.软件生命周期是指A)软件产品从提出、实现、使用维护到停止使用退役的过程B)软件从需求分析、设计、实现到测试完成的过程C)软件的开发过程D)软件的运行维护过程ABCD未答题该题得分:0正确答案:A试题来源: 全国计算机等级考试二级C语言真题2010年10月-32次【解析】: 通常将软件产品从提出、实现、使用维护到使用、退役的过程称为软件生命周期。故答案为A)。.面向对象方法中,继承是指一组时象所具有的相似性质一个对象具有另一个对象的性质C)各对象之间的共同性质D)类之间共享属性和操作的机制ABCD未答题该题得分:0正确答案:D试题来源: 全国计算机等级考试二级C语言真题2010年10月-32次【解析】:继承是面向对象方法的一个重要特征。广义的说,继承是指能够直接获得已有的性质和特征,不必重复定义它们。在面向对象的软件技术中,继承是指子类自动地共享基类中定义的数据和方法的机制,故答案为D)。.层次型、网状型和关系型数据库划分原则是A)记录长度B)文件的大小C)联系的复杂程度D)数据之间的联系方式ABCD未答题该题得分:0正确答案:D试题来源:全国计算机等级考试二级C语言真题2010年10月-32次【解析】: 数据库按数据模型分为层次型数据库、网状型数据库、关系型数据库,数据模型及数据之间的联系方式,故答案是D)。.一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员、与实体计算机之间的联系是A)一对一•B)一对多C)多对多D)多对一ABCD未答题该题得分:0正确答案:C试题来源: 全国计算机等级考试二级C语言真题2010年10月-32次【解析】:两个实体之间的联系可分为3种类型:①一对一联系,表现为主表中的一条记录与相关表中的•条记录相关联:②一对多联系,表现为主表中的•条记录与相关表中的多条记录相关联;③多对多联系,表现为主表中的多条记录与相关表中的多条记录相关联。本题中一个工作人员可以使用多台计算机,一台计算机可被多个人使用。故答案为C)。.数据库设计中反映用户对数据耍求的模式是A)内模式B)概念模式C)外模式D)设计模式ABCD未答题该题得分:0正确答案:C试题来源: 全国计算机等级考试二级C语言真题2010年10月-32次【解析】:模式的3个级别反映了模式的3个不同环境,以及对它们的不同要求。其中,内模式处于最底层,它反映了数据在计算机物理结构中的实际存储形式,概念模式处于中层,它反映了设计者的数据全局逻辑要求,而外模式是处于最高层,反映用户对数据的要求。故答案选c)。.有三个关系R、S和T如下:则由关系R和S得到关系T的操作是A)自然连接B)交C)投影D)并ABCD未答题该题得分:0正确答案:A试题来源: 全国计算机等级考试二级C语言真题2010年10月-32次【解析】:自然连接为最高层,反映用户对数据的要求。下面的条件:①两关系有公共域;②通过公共域的相等值进行连接,故答案选A)。.以下关于结构化程序设计的叙述中正确的是A)一个结构化程序必须同时由顺序、分支、循环三种结构组成B)结构化程序使用goto语句会很便捷C)在C语言中,程序的模块化是利用函数实现的D)由三种基本结构构成的程序只能解决小规模的问题ABCD未答题该题得分:0正确答案:C试题来源:全国计算机等级考试二级C语言真题2010年10月-32次【解析】:一个结构化程序可以由顺序、分支、循环三种结构组成,但不是必须同时都包括,可以包括其中的一个或多个,所以选项A)错误。三种基本结构构成的程序也可以解决大规模的程序,所以选项D)错误。在C语言中,利用函数来实现程序的模块化,C)正确。.以下关于简单程序设计的步骤和顺序的说法中正确的是A)确定算法后,整理并写出文档,最后进行编码和上机调试B)首先确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档C)先编码和上机调试,在编码过程中确定算法和数据结构,最后整理文档D)先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构ABCD未答题该题得分:0正确答案:B试题来源:全国计算机等级考试二级C语言真题2010年10月-32次【解析】:设计一个能解决实际问题的计算机程序需要经过以下几个过程:①建立模型。②算法设计:给出解决问题的步骤,即算法。③算法表达:选择一种表达算法的工具,对算法进行清晰的表达。④编写程序:选择•种程序设计语言,把以上算法程序化,这称为编写程序。⑤程序调试:对编写好的程序进行调试,修改程序中的错误。⑥程序文档编写

温馨提示

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

评论

0/150

提交评论