您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > C语言笔试试卷含详细答案
1/15全国计算机等级考试二级笔试试卷C语言程序设计(考试时间120分钟,满分100分)一、选择题((1)——(10)每题2分,(11)—(50)每题1分,共60分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡上,答在试卷上不得分。(1)软件是指A)程序B)程序和文档C)算法加数据结构D)程序、数据与相关文档的完整集合(2)软件调试的目的是A)发现错误B)改正错误C)改善软件的性能D)验证软件的正确性(3)在面向对象中,实现信息隐蔽是依靠A)对象的继承B)对象的多态C)对象的封装D)对象的分类(4)下列叙述中,不符合良好程序设计风格要求的是A)程序的效率第一,清晰第二B)程序的可读性好C)程序中要有必要的注释D)输入数据前要有提示信息(5)下列叙述中正确的是A)程序执行的效率与数据的存储结构密切相关B)程序执行的效率只取决于程序的控制结构C)程序执行的效率只取决于所处理的数据量D)以上三种说法都不对(6)下列叙述中正确的是A)数据的逻辑结构与存储结构必定是一一对应的B)由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构C)程序设计语言中的数组一般是顺序存储的,因此,利用数组只能处理线性结构D)以上三种说法都不对(7)冒泡排序在最坏情况下的比较次数是A)n(n+1)/2B)nlog2nC)n(n-1)/2D)n/2(8)一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树中的总结点数为A)219B)221C)229D)231(9)下列叙述正确的是2/15A)数据系统是一个独立的系统,不需要操作系统的支持B)数据库技术的根本目标是要解决数据的共享问题C)数据库管理系统就是数据库系统D)以上三种说法都不对(10)下列叙述中正确的是A)为了建立一个关系,首先要构造数据的逻辑关系B)表示关系二维表中各元组的每一个分量还可以分成若干数据项C)一个关系的属性名表称为关系模式D)一个关系可以包括多个二维表(11)C语言源程序名的后缀是A).exeB).CC).objD).cp(12)可在C程序中用作用户标识符的一组标识符是A)andB)DateC)HiD)case2007y-m-dDr.TomBigl(13)以下选项中,合法的一组C语言数值常量是A)028B)12C)177D)0x8A.5e-3OXa234c1.510,000(14)以下叙述正确的是A)C语言程序将从源程序中第一个函数开始执行B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C)C语言规定必须用min作为主函数名,程序将从开始执行,在此结束D)min可作为用户标识符,用以命名任意一个函数作为主函数(15)若在定义语句:inta,b,c*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是A)scanf(“%d”,a,b,c);B)scanf(“%d%d%d”,a,b,c);C)scanf(“%d”,p);D)scanf(“%d”,&p)(16)以下关于long、int和short类型数据占用内存大小的叙述中正确的是A)均占4个字节B)根据数据的大小来决定所占内存的字节表C)由用户自己定义D)由C语言编译系统决定(17)若变量均已正确定义并赋值,以下合法的C语言赋值语句是A)x=y=5;B)x=n%2.5;C)x+n=l;D)x=5=4+1(18)有以下程序段intj;floaty;charname[50];scanf(“%2d%f%s”,&j,&y,name)当执行上述程序段,从键盘上输入555667777abc后,y的值为3/15A)55560.0B)566.0C)7777.0D)566777.0(19)若变量已正确定义,有以下程序段i=0;doprintf(“%d,”i);while(i++);printf(“%d\n”,i);其输出结果是A)0,0B)0,1C)1,1D)程序进入无限循环(20)有以下计算公式若程序前面已在命令行中包含math.h文件,不能够正确计算上述公式的程序段是A)if(x>=0)y=sprt(x);B)y=sqrt(x);elsey=sqrt(-x);if(x<0)y=sqrt(x)C)if(x>=0)y=sqrt(x);D)y=sqrt(x>0?x;-x)If(x<0)y=sqrt(-x);(21)设有条件表达式:(EXP)?i++;j—,则以下表达式中与(EXP)完全等价的是A)(EXP=0)B)(EXP!=0)C)(EXP=1)D)(EXP!=1)(22)有以下程序#includestdio,hmain()﹛infy=9;for(;y>0;y--)if(y%3=0)printf(“%d”,‥y﹜程序的运行结果是A)741B)963C)852D)875421(23)已有定义:charc;,程序前面已在命令行中包含ctype.h文件。不能用于判断c中的字符是否为大写字母的表达式是A)isupper(c)B)‘A’<=c<=‘z’C)‘A’=c&&c<=‘Z’D)c<=(‘z’-32)%%(‘a’-32)<=c(24)有以下程序#includcstdio.hMain()﹛inti,j,m=55for(i=l;i3;i++)4/15for(j=3;j=++)m=m%j;printf(“%d\n”,m);﹜程序的运行结果是A)0B)1C)2D)3(25)若函数调用时的参数为变景时,以下关于函数形参和实参的途述中正确的是A)函数的实参和其对应的形参共占用一存储单元B)形参只是形式上的存在,不占用具体存储单元C)同名的实参和形参占同一存储单元D)函数的形参和实参分别占用不同的存储单元(26)已知字符‘A’的ASCII代码值是65,字符变量cl的值的‘A’,c2的值是‘D’。执行语句printf(“%d,%d”,cl,c2-2);后,输出结果是A)A,BB)A,68C)65,66D)65,68(27)以下途述中错误的是A)改变函数形参的值,不会改变对应实参的值B)函数可以返回地址值C)可以给指针变量赋一个整数作为地址值D)当在程序的开头包含文件stdio.h时,可以给指针变量赋NULL(28)以下正确的字符串常量是A)“╲╲╲”B)‘abc’C)OlympicD)**(29)设有定义:charp[]=﹛‘1’‘2’‘3’﹜、*q=p;以下不能计算出一个char型数据所占字节数的表达式是A)sizeof(p)B)sizeof(char)C)sizeof(*q)D)sizeof(p[0])(30)有以下函数intaaa(char*s)﹛char*t=s;while(*t++);t--;return(t-s);﹜以下关于aaa函数的功能的叙述正确的是A)求字符串s的长度B)比较两个串的大小C)将串s复制到串tD)求字符串s所占字节数(31)若有定义语句:inta[3][6];,按在内存中的存放顺序,a数组的第10个元素是5/15A)a[0][4]B)a[1][3]C)a[0][3]D)a[1][4](32)有以下程序#includestdio.hvoidfun(char**p){++p;printf(“%”﹨n”,*p);}main(){char*a[]={“Moming”,“Aftenoon”,“Evening”,“Night”};fun(a)}程序的运行结果是A)AftemoonB)ftemoonC)MomingD)oming(33)若有定义语句:inta[2][3],*p[3];,则以下语句中正确的是A)p=a;B)p[0]=a;C)p[0]=&a[1][2];D)p[I]=&a;(34)有以下程序#includestdio.hvoidfun(int*a,intn)/*fun函数的功能是将a所指数组元数从大到小排序*/{intt,i,j;for(i=o;in-1;j++)for(j=j+1;jn;j++)if(a[i]a[j]){t=a[i];a[i]=a[j];a[j]=t;}}Main(){intc[10]={1,2,3,4,5,6,7,8,9,0},i;fun(c+4,6)for(i=0;i10,i++)printf(“%d,”,c[i]);printf(“n”);}程序的运行结果是A)1,2,3,4,5,6,7,8,9,0,B)0,9,8,7,6,5,1,2,3,4,C)0,9,8,7,6,5,4,3,2,1,D)1,2,3,4,9,8,7,6,5,0,(35)有以下程序#includestdio.hintfun(chars[]){intn=0;6/15while(*s=‘9’&&*s=‘0’){n=[0*n+*s-‘0’;s++;}return(n);}main(){chars[10]={“6”,“1”,“*”,“4”,“*”,“9”,“*”,‘0’,“*”}printf(“%d﹨n”,fun(s));}程序的运行结果是A)9B)61490C)61D)5(36)当用户要求输入的字符串中含有空格时,应使用的输入函数是A)scanf()B)getchar()C)getsD)getc()(37)以下关于字符串的叙述中正确的是A)C语言中有字符串类型的常量和变量B)两个字符串中的字符个数相同时才能进行字符串大小的比较C)可以用关系运算符对字符串的大小进行比较D)空串一定比空格打头的字符串小(38)有以下程序#includestdio.hvoidfun(char*t,char*s){while(*t!=0)t++;while{(*t++=*s++)!=0};}min(){charss[10]=“acc”,aa[10]=“bbxxyy”;fun(ss,aa);printf(“%s,%s﹨n”,ss,aa);}程序的运行结果是A)accxyy,bbxxyyB)axx,bbxxyyC)accxxyy,bbxxyyD)accbbxxyy,bbxxyy(39)有以下程序#includestdio.h#includestring.hvoidfun(chars[][10],intn){chart;intij;7/15for(i=0;in-1;i++)for(j=i+1;jn;j++)/*比较字符串的首字符大小,并交换字符串的首字符*/if(s[i][0]s[j][0]){l=s[i][0];s[i][0];s[j][0]=t;}}main(){charss[5][10]={“bcc”,“bbcc”,“xy”,“aaaacc”,“aabbc”};Fun(ss,5);printf(“%s,%s﹨n”,ss[0],ss[4]);}程序的运行结果是A)xy,aaaaccB)aaaacc,xyC)xcc,aabccD)acc,xabcc(40)在一个C源程序文件中所定义的全局变量,其作用域为A)所在文件的全部范围B)所在程序的全部范围C)所在函数的全部范围D)由具体定义位置和extrn说明来决定范围(41)有以下程序#includcstdio.hinta=1;intf(intc){staticinta=2;c=c+1return(a++)+c;}Main(){inti,k=0;for(i=0;i2;i++{inta=3;k+=f(a);}k+=a;printf(“%d﹨n”,k);}程序的运行结果是A)14B(15)C)16D)17(42)有以下程序#includestdio.hvoidfun(intn,int*p){intf1,f2;8/15if(n=1||n=2)*p=1;else{fun(n-1,&f1);fun(n-2,&f2);*p=f1+f2;}}main(){ints;fun(3,&s);printf(“%d﹨n”);}程序的运行结果是A)2B)3C)4D)5(43)若程序中有宏定义行:#defineN100则以下叙述中正确的是A)宏定义行中定义了标识符N的值为整数100B)在编译程
本文标题:C语言笔试试卷含详细答案
链接地址:https://www.777doc.com/doc-1753710 .html