全国计算机等级考试二级C模拟试题(1)一、选择题(每题2分,共计70分)1.栈和队列的共同特点是A)都是先进先出B)都是先进后出C)只允许在端点处插入和删除元素D)没有共同点2.已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是A)acbedB)decabC)deabcD)cedba3.链表不具有的特点是A)不必事先估计存储空间B)可随机访问任一元素C)插入删除不需要移动元素D)所需空间与线性表长度成正比4.结构化程序设计的3种结构是A)顺序结构、选择结构、转移结构B)分支结构、等价结构、循环结构C)多分支结构、赋值结构、等价结构D)顺序结构、选择结构、循环结构5.为了提高测试的效率,应该A)随机选取测试数据B)取一切可能的输入数据作为测试数据C)在完成编码以后制定软件的测试计划D)集中对付那些错误群集的程序6.算法的时间复杂度是指A)执行算法程序所需要的时间B)算法程序的长度C)算法执行过程中所需要的基本运算次数D)算法程序中的指令条数7.软件生命周期中所花费用最多的阶段是A)详细设计B)软件编码C)软件测试D)软件维护8.数据库管理系统DBMS中用来定义模式、内模式和外模式的语言为A)CB)BasicC)DDLD)DML9.下列有关数据库的描述,正确的是A)数据库是一个DBF文件B)数据库是一个关系C)数据库是一个结构化的数据集合D)数据库是一组文件10.下列有关数据库的描述,正确的是A)数据处理是将信息转化为数据的过程B)数据的物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变C)关系中的每一列称为元组,一个元组就是一个字段D)如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的关键字,则称其为本关系的外关键字11.以下叙述中正确的是A)C语言比其他语言高级B)C语言可以不用编译就能被计算机识别执行C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D)C语言出现的最晚,具有其他语言的一切优点12.C语言中用于结构化程序设计的3种基本结构是A)顺序结构、选择结构、循环结构B)if,switch,breakC)for,while,do-whileD)if,for,continue13.C语言中最简单的数据类型包括A)整型、实型、逻辑型B)整型、实型、字符型C)整型、字符型、逻辑型D)字符型、实型、逻辑型14.若变量已正确定义并赋值,以下符合C语言语法的表达式是A)a:=b+1B)a=b=c+2C)int18.5%3D)a=a+7=c+b15.下列可用于C语言用户标识符的一组是A)voiddefineWORDB)a3_b3_123CarC)For-abcIFCaseD)2aDOsizeof16.若变量a,i已正确定义,且i已正确赋值,合法的语句是A)a==1B)++i;C)a=a++=5;D)a=int(i);17.已知intt=0;while(t=1){...}则以下叙述正确的是A)循环控制表达式的值为0B)循环控制表达式的值为1C)循环控制表达式不合法D)以上说法都不对18.有如下程序main(){intx=1,a=0,b=0;switch(x){case0:b++;case1:a++;case2:a++;b++;}printf(a=%d,b=%d\n,a,b);}该程序的输出结果是A)a=2,b=1B)a=1,b=1C)a=1,b=0D)a=2,b=219.有以下程序main(){inti=1,j=1,k=2;if((j++||k++)&&i++)printf(%d,%d,%d\n,i,j,k);}执行后输出结果是A)1,1,2B)2,2,1C)2,2,2D)2,2,320.有如下程序main(){intn=9;while(n6){n--;printf(%d,n);}}该程序的输出结果是A)987B)876C)8765D)987621.在下列选项中,没有构成死循环的是A)inti=100;while(1){i=i%100+1;if(i100)break;}B)for(;;);C)intk=10000;do{k++;}while(k10000);D)ints=36;while(s)--s;22.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是A)函数调用可以作为独立的语句存在B)函数调用可以作为一个函数的实参C)函数调用可以出现在表达式中D)函数调用可以作为一个函数的形参23.有以下程序floatfun(intx,inty){return(x+y);}main(){inta=2,b=5,c=8;printf(%3.0f\n,fun((int)fun(a+c,b),a-c));}程序运行后的输出结果是A)编译出错B)9C)21D)9.024.若有以下调用语句,则不正确的fun函数的首部是main(){…inta[50],n;…fun(n,&a[9]);…}A)voidfun(intm,intx[])B)voidfun(ints,inth[41])C)voidfun(intp,int*s)D)voidfun(intn,inta)25.设有以下说明语句structstu{inta;floatb;}stutype;则下面的叙述不正确的是A)struct是结构体类型的关键字B)structstu是用户定义的结构体类型C)stutype是用户定义的结构体类型名D)a和b都是结构体成员名26.若运行时给变量x输入12,则以下程序的运行结果是main(){intx,y;scanf(%d,&x);y=x12?x+10:x-12;printf(%d\n,y);}A)0B)22C)12D)1027.以下说法正确的是A)C语言程序总是从第一个的函数开始执行B)在C语言程序中,要调用函数必须在main()函数中定义C)C语言程序总是从main()函数开始执行D)C语言程序中的main()函数必须放在程序的开始部分28.有以下程序#defineF(X,Y)(X)*(Y)main(){inta=3,b=4;printf(%d\n,F(a++,b++));}程序运行后的输出结果是A)12B)15C)16D)2029.下列程序执行后的输出结果是voidfunc(int*a,intb[]){b[0]=*a+6;}main(){inta,b[5]={0};a=0;b[0]=3;func(&a,b);printf(%d\n,b[0]);}A)6B)7C)8D)930.若有下面的程序段chars[]=china;char*p;p=s;则下列叙述正确的是A)s和p完全相同B)数组s中的内容和指针变量p中的内容相等C)s数组长度和p所指向的字符串长度相等D)*p与s[0]相等31.以下程序中函数sort的功能是对a数组中的数据进行由大到小的排序voidsort(inta[],intn){inti,j,t;for(i=0;ifor(j=i+1;jif(a[i]}main(){intaa[10]={1,2,3,4,5,6,7,8,9,10},i;sort(&aa[3],5);for(i=0;i10;i++)printf(%d,,aa[i]);printf(\n);}程序运行后的输出结果是A)1,2,3,4,5,6,7,8,9,10,B)10,9,8,7,6,5,4,3,2,1,C)1,2,3,8,7,6,5,4,9,10,D)1,2,10,9,8,7,6,5,4,3,32.以下程序的运行结果是#includestdio.hmain(){structdate{intyear,month,day;}today;printf(%d\n,sizeof(structdate));}A)6B)8C)10D)1233.若执行下述程序时,若从键盘输入6和8时,结果为main(){inta,b,s;scanf(%d%d,&a,&b);s=a;if(as=b;s*=s;printf(%d,s);}A)36B)64C)48D)以上都不对34.下列关于C语言数据文件的叙述中正确的是A)文件由ASCII码字符序列组成,C语言只能读写文本文件B)文件由二进制数据序列组成,C语言只能读写二进制文件C)文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件D)文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件35.有以下程序voidss(char*s,chart){while(*s){if(*s==t)*s=t-′a′+′A′;s++;}}main(){charstr1[100]=abcddfefdbd,c=′d′;ss(str1,c);printf(%s\n,str1);}程序运行后的输出结果是A)ABCDDEFEDBDB)abcDDfefDbDC)abcAAfefAbAD)Abcddfefdbd二、填空题(每空2分,共计30分)1.算法的基本特征是可行性、确定性、【1】和拥有足够的情报。2.在长度为n的有序线性表中进行二分查找。最坏的情况下,需要的比较次数为【2】。3.在面向对象的程序设计中,类描述的是具有相似性质的一组【3】。4.通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为【4】。5.数据库管理系统常见的数据模型有层次模型、网状模型和【5】3种。6.下列程序的输出结果是【6】。maim(){charb[]=Helloyou;b[5]=0;printf(%s\n,b);}7.以下程序的输出结果是【7】。main(){inta=0;a+=(a=8);printf(%d\n,a);}8.函数voidfun(float*sn,intn)的功能是根据以下公式计算S,计算结果通过形参指针sn传回;n通过形参传入,n的值大于等于0。请填空。voidfun(float*sn,intn){floats=0.0,w,f=-1.0;inti=0;for(i=0;i=n;i++){f=【8】*f;w=f/(2*i+1);s+=w;}【9】=s;}9.函数fun的功能是根据以下公式求p的值,结果由函数值返回。m与n为两个正数且要求mn。例如:m=12,n=8时,运行结果应该是495.000000。请在题目的空白处填写适当的程序语句,将该程序补充完整。#include#includefloatfun(intm,intn){inti;doublep=1.0;for(i=1;i=m;i++)【10】;for(i=1;i=n;i++)【11】;for(i=1;i=m-n;i++)p=p/i;returnp;}main(){clrscr();printf(p=%f\n,fun(12,8));}10.该程序运行的结果是【12】。#include#include#defineM100voidfun(intm,int*a,int*n){inti,j=0;for(i=1;i=m;i++)if(i%7==0||i%11==0)a[j++]=i;*n=j;}main(){intaa[M],n,k;clrscr();fun(10,aa,&n);for(k=0;kif((k+1)%20==0)printf(\n);elseprintf(%4d,aa[k]);printf(\n);}11.下列程序的功能是求出ss所指字符串中指定字符的个数,并返回此值。例如,若输入字符串123412132,输入字符1,则输出3,请填空。#include#include#defineM81intfun(char*ss,charc){inti=0;for(;【13】;ss++)if(*ss==c)i++;returni;}main(){chara[M],ch;clrscr();printf(\nPleaseenterastring:);gets(a);printf(\nPleaseenterachar:);ch=getchar();printf(\nThenumberofthecharis:%d\n,fun(a,ch))