全国计算机等级考试二级C语言模拟试题及答案_第1页
全国计算机等级考试二级C语言模拟试题及答案_第2页
全国计算机等级考试二级C语言模拟试题及答案_第3页
全国计算机等级考试二级C语言模拟试题及答案_第4页
全国计算机等级考试二级C语言模拟试题及答案_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

全国计算机等级考试二级C语言模拟试题及答案(一)一、选择题(1)栈和队列的共同特点是A)都是先进先出B)都是先进后出C)只允许在端点处插入和删除元素D)没有共同点正确答案:C(2)已知二叉树后序遍历序列是dabeq中序遍历序列是debac它的前序遍历序歹(J是acbeddecabdeabccedba正确答案:D(3)链表不具有的特点是A)不必事先估计存储空间B)可随机访问任一元素C)插入删除不需要移动元素D)所需空间与线性表长度成正比正确答案:B(4)结构化程序设计的3种结构是A)顺序结构、选择结构、转移结构B)分支结构、等价结构、循环结构C)多分支结构、赋值结构、等价结构D)顺序结构、选择结构、循环结构正确答案:D(5)为了提高测试的效率,应该A)随机选取测试数据B)取一切可能的输入数据作为测试数据C)在完成编码以后制定软件的测试计划D)集中对付那些错误群集的程序正确答案:D(6)算法的时间复杂度是指A)执行算法程序所需要的时间B)算法程序的长度C)算法执行过程中所需要的基本运算次数D)算法程序中的指令条数正确答案:C(7)软件生命周期中所花费用最多的阶段是A)详细设计B)软件编码C)软件测试D)软件维护正确答案:D(8)数据库管理系统DBMS中用来定义模式、内模式和外模式的语言为CBasicDDLDML正确答案:C(9)下列有关数据库的描述,正确的是A)数据库是一个DBF文件B)数据库是一个关系C)数据库是一个结构化的数据集合D)数据库是一组文件正确答案:C(10)下列有关数据库的描述,正确的是A)数据处理是将信息转化为数据的过程B)数据的物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变C)关系中的每一列称为元组,一个元组就是一个字段D)如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的正确答案正确答案:B正确答案正确答案:B关键字,则称其为本关系的外关键字正确答案:D(11)以下叙述中正确的是C语言比其他语言高级C语言可以不用编译就能被计算机识别执行C语言以接近英语国家的自然语言和数学语言作为语言的表达形式C语言出现的最晚,具有其他语言的一切优点正确答案:CC语言中用于结构化程序设计的3种基本结构是A)顺序结构、选择结构、循环结构if,switch,breakfor,while,do-whileif,for,continue正确答案:AC语言中最简单的数据类型包括A)整型、实型、逻辑型B)整型、实型、字符型C)整型、字符型、逻辑型D)字符型、实型、逻辑型正确答案正确答案:B(14)若变量已正确定义并赋值,以下符合C语言语法的表达式是a:=b+1a=b=c+2int18.5%3a=a+7=c+b正确答案:B(15)下列可用于C语言用户标识符的一组是void,define,WORDa3_b3,_123,CarFor,-abc,IFCase2a,DO,sizeof正确答案:B(16)C语言中运算对象必须是整型的运算符是%=/C)=D)<=正确答案:A(17)若变量a,i已正确定义,且i已正确赋值,合法的语句是a==1++i;a=a++=5;a=int(i);正确答案:B(18)已知intt=0;while(t=1){…}则以下叙述正确的是A)循环控制表达式的值为0B)循环控制表达式的值为1C)循环控制表达式不合法D)以上说法都不对正确答案:B(19)若变量已正确说明为float型,要通过语句scanf("%f%f%f」,&a,&b,&c);给a赋予10.0,b赋予22.0,c赋予33.0,下列不正确的输入形式是10<回车>22<回车>33<回车》10.0,22.0,33.0回车>10.0<回车>22.033.0<回车>1022<回车>33<回车》(20)有如下程序:main()(intx=1,a=0,b=0;switch(x)(case0:b++;a++;a++;b++;)printf("a=%d,b=%d\n",a,b);}该程序的输出结果是a=2,b=1a=1,b=1a=1,b=0a=2,b=2正确答案:A(21)有以下程序main(){inti=1,j=1,k=2;if((j++||k++)&&i++)printf("%d,%d,%d\n",ij,k);正确答案正确答案:C正确答案正确答案:C执行后输出结果是1,1,22,2,12,2,22,2,3正确答案:C(22)有如下程序main(){floatx=2.0,y;if(x<0.0)y=0.0;elseif(x<10.0)y=1.0/x;elsey=1.0;printf("%f\n",y);}该程序的输出结果是0.0000000.2500000.5000001.000000(23)有如下程序:main(){intn=9;while(n>6){n--;printf("%d",n);}}该程序的输出结果是98787687659876正确答案:B(24)在下列选项中,没有构成死循环的是inti=100;while(1){i=i%100+1;if(i>100)break;}for(;;);intk=10000;do{k++;}while(k>10000);ints=36;while(s)--s;正确答案:D(25)设intx=1,y=1;表达式(冈|y--)的值是012-1正确答案:B(26)若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是A)函数调用可以作为独立的语句存在B)函数调用可以作为一个函数的实参C)函数调用可以出现在表达式中D)函数调用可以作为一个函数的形参正确答案:D(27)有以下程序floatfun(intx,inty){return(x+y);}main(){inta=2,b=5,c=8;printf("%3.0f'n",fun((int)fun(a+c,b),a-。);}程序运行后的输出结果是A)编译出错9219.0正确答案:B(28)若有以下调用语句,则不正确的fun函数的首部是main(){…inta[50],n;fun(n,&a[9]);}voidfun(intm,intx口)voidfun(ints,inth[41])voidfun(intp,int*s)voidfun(intn,inta)正确答案:D(29)fseek函数的正确调用形式是fseek(文件指针,起始点,位移量)C)a[4-2][0]C)a[4-2][0]C)a[4-2][0]C)a[4-2][0]fseek(文件指针,位移量,起始点)fseek(位移量,起始点,文件指针)fseek(起始点,位移量,文件指针)正确答案:B(30)若fp是指向某文件的指针,且已读到文件末尾,则函数 feof(fp)的返回值是EOF-11NULL正确答案:C(31)若有说明语句:charc=''72';则变量cA)包含1个字符B)包含2个字符C)包含3个字符D)说明不合法,c的值不确定正确答案:A(32)若有说明inta[3][4];则a数组元素的非法引用是a[0][2*1]a[1][3]D)a[0][4]D)a[0][4]D)a[0][4]D)a[0][4]正确答案:D(33)设有以下说明语句structstu{inta;floatb;}stutype;则下面的叙述不正确的是struct是结构体类型的关键字structstu是用户定义的结构体类型stutype是用户定义的结构体类型名a和b都是结构体成员名正确答案:C(34)在C语言中,引用数组元素时,其数组下标的数据类型允许是A)整型常量B)整型表达式C)整型常量或整型表达式D)任何类型的表达式正确答案:C(35)若运行时给变量x输入12,则以下程序的运行结果是main(){intx,y;scanf("%d",&x);y=x>12?x+10:x-12;printf("%d\n",y);}0221210正确答案:A(36)以下说法正确的是A)C语言程序总是从第一个的函数开始执行B)在C语言程序中,要调用函数必须在main()函数中定义C语言程序总是从main()函数开始执行C语言程序中的main()函数必须放在程序的开始部分正确答案:C(37)表达式0x13A0x17的值是0x040x13C)0xE8D)0x17正确答案:A(38)有以下程序#defineF(X,Y)(X)*(Y)main(){inta=3,b=4;printf("%d\n",F(a++,b++));}程序运行后的输出结果是12151620正确答案:A(39)下列程序执行后的输出结果是voidfunc(int*a,intb口){b[0]=*a+6;}main(){inta,b[5];a=0;b[0]=3;func(&a,b);printf("%d'n",b[0]);6789正确答案:A(40)若有下面的程序段:chars口="china";char*p;p=s;则下列叙述正确的是A)s和p完全相同B)数组s中的内容和指针变量p中的内容相等s数组长度和p所指向的字符串长度相等*p与s[0]相等正确答案:D(41)以下程序中函数sort的功能是对a数组中的数据进行由大到小的排序voidsort(inta口,intn){inti,j,t;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(a[门<a[j]){t=a[i];a[i]=aj;aj=t;}}C)10C)10main(){intaa[10]={1,2,3,4,5,6,7,8,9,10},i;sort(&aa[3],5);for(i=0;i<10;i++)printf("%d,",aa[i]);printf("\n");}程序运行后的输出结果是1,2,3,4,5,6,7,8,9,10,10,9,8,7,6,5,4,3,2,1,1,2,3,8,7,6,5,4,9,10,1,2,10,9,8,7,6,5,4,3,正确答案:C(42)以下程序的运行结果是#include"stdio.h"main(){structdate{intyear,month,day;}today;printf("%d'n",sizeof(structdate);}68D)12正确答案:A(43)若有语句int*point,a=4;和point=&a;下面均代表地址的一组选项是a,point,*&a&*a,&a,*point*&point,*point,&a&a,&*point,point正确答案:D(44)在调用函数时,如果实参是简单的变量,它与对应形参之间的数据传递方式是A)地址传递B)单向值传递C)由实参传形参,再由形参传实参D)传递方式由用户指定正确答案:B(45)已定义以下函数fun(char*p2,char*p[{while((*p2=*p1)!='\0'){p1++;p2++;}}函数的功能是A)将pl所指字符串复制到p2所指内存空间B)将pl所指字符串的地址赋给指针p2C)对pl和p2两个指针所指字符串进行比较D)检查pl和p2两个指针所指字符串中是否有‘'0'正确答案:A(46)若执行下述程序时,若从键盘输入 6和8时,结果为main(){inta,b,s;scanf("%d%d”,&a,&b);s二aif(a<b)s=b;s*=s;printf("%d",s);}366448D)以上都不对正确答案:Bfscanf函数的正确调用形式是fscanf(fp,格式字符用,输出表列);fscanf(格式字符串,输出表列,fp);fscanf(格式字符串,文件指针,输出表列);fscanf(文件指针,格式字符用,输入表列);正确答案:D(48)下列关于C语言数据文件的叙述中正确的是A)文件由ASCII码字符序列组成,C语言只能读写文本文件B)文件由二进制数据序列组成,C语言只能读写二进制文件C)文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件D)文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件正确答案:D(49)有以下程序voidss(char*s,chart{while(*s){if(*s==t)*s=t-'a'+'A';s++;}}main(){charstr1[100]="abcddfefdbd",c='d';ss(stIO;printf("%s\n",str1);}程序运行后的输出结果是ABCDDEFEDBDabcDDfefDbDabcAAfefAbAAbcddfefdbd正确答案:B(50)若以下定义:structlink{intdata;structlink*next;}a,b,c,*p,*q;且变量a和b之间已有如下图所示的链表结构:指针p指向变量a,q指向变量co则能够把c插入到a和b之间并形成新的链表的语句组是:a.next=c;c.next=b;p.next=q;q.next=p.next;p->next=&c;q->next=p->next;(*p).next=q;(*q).next=&b;正确答案:D二、填空题(1)算法的基本特征是可行性、确定性、 【1】和拥有足够的情报。正确答案:1.侑穷性)(2)在长度为n的有序线性表中进行二分查找。最坏的情况下,需要的比较次数为【2】o正确答案:1.(log2n)TOC\o"1-5"\h\z(3)在面向对象的程序设计中,类描述的是具有相似性质的一组 【3】o正确答案:1.附象)(4)通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为 【4】正确答案:1.儆件生命周期)(5)数据库管理系统常见的数据模型有层次模型、网状模型和 【5】3种。正确答案:1.(关系模型)(6)设y是int型,请写出y为奇数的关系表达式 【6】。正确答案:1.((y%2)==1或(y%2)!=0)(7)设inta=5,b=6,表达式(++a==b--)?++a:--b的值是【7】。正确答案:1.(7)(8)下列程序的卒&出结果是【8]omaim(){charb口="Helloyou";b⑸=0;printf("%s\n",b);}正确答案:l.(Hello)(9)当调用函数时,实参是一个数组名,则向函数传递的是【 9】。正确答案:1.(数组的首地址)(10)以下程序的卒&出结果是【10】。inta=1234;printf("%2d'n",a);正确答案:1.(1234)(11)用高级语言编写的程序称为【11】程序,它可以通过解释程序翻译一句执行一句的方式执行,也可以通过编译程序一次翻译产生目标程序,然后执行。正确答案:1.(W程序)(12)以下程序的输出结果是【12】。main(){inta=0;a+=(a=8);printf("%d\n",a);}正确答案:1.(16)(13)函数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=[13]*f;w=f/(2*i+1);s+=w;}【14]=s;}正确答案:1.(-1)2.(*sn)(14)函数fun的功能是:根据以下公式求p的值,结果由函数值返回。m与n为两个正数且要求m>no例如:m=12,n=8时,运行结果应该是495.000000请在题目的空白处填写适当的程序语句,将该程序补充完整。#include<conio.h>#include<stdio.h>floatfun(intm,intn){inti;doublep=1.0;for(i=1;i<=m;i++)【15];for(i=1;i<=n;i++)【16];for(i=1;i<=m-n;i++)p=p/i;returnp;}main(){clrscr();printf("p=%f'n",fun(12,8));}正确答案:1.(p=p*i)2.(p=p/i)(15)该程序运行的结果是【17】。#include<conio.h>#include<stdio.h>#defineM100voidfun(intm,int*a,int*n){inti,j=0;for(i=1;i<=m;i++)if(i%7==0||i%11==0)a[j++1=i;*n=j;}main(){intaa[M],n,k;clrscr();fun(10,aa,&。;正确答案:正确答案:1.(*ss!='\0')for(k=0;k<n;k++)if((k+

温馨提示

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

评论

0/150

提交评论