200604计算机二级C笔试试题(含答案)

申明敬告: 本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。

文档介绍

200604计算机二级C笔试试题(含答案)

二级C语言06年4月考试试题一、选择题((1)~(10)每小题2分,(11)~(50)每小题1分,共60分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。01)下列选项中不属于结构化程序设计方法的是A)自顶向下B)逐步求精C)模块化D)可复用答案:D02)两个或两个以上模块之间关联的紧密程度称为A)耦合度B)内聚度C)复杂度D)数据传输特性答案:A03)下列叙述中正确的是A)软件测试应该由程序开发者来完成B)程序经调试后一般不需要再测试C)软件维护只包括对程序代码的维护D)以上三种说法都不对答案:D04)按照“后进先出”原则组织数据的数据结构是A)队列(先进先出)B)栈C)双向链表D)二叉树答案:B05)下列叙述中正确的是A)线性链表是线性表的链式存储结构B)栈与队列是非线性结构C)双向链表是非线性结构D)只有根结点的二叉树是线性结构答案:A06)http://ncrexam.blog.edu.cnn二级C语言06年4月考试试题A)ABCDEFB)DBEAFCC)ABDECFD)DEBFCA答案:D07)在深度为7的满二叉树中,叶子结点的个数为A)32B)31C)64D)63答案:C08)“商品”与“顾客”两个实体集之间的联系一般是A)一对一B)一对多C)多对一D)多对多答案:D09)在E-R图中,用来表示实体的图形是A)矩形B)椭圆形C)菱形D)三角答案:A10)数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是A)DB包含DBS和DBMSB)DBMS包含DB和DBSC)DBS包含DB和DBMSD)没有任何关系http://ncrexam.blog.edu.cnn二级C语言06年4月考试试题答案:C11)以下不合法的用户标识符是A)j2_KEYB)DoubleC)4dD)_8_答案:C12)以下不合法的数值常量是A)011B)1e1C)8.0E0.5D)0xabed答案:C13)以下不合法的字符常量是A)'18'B)'"'C)'\'D)'xcc'答案:A14)表达式3.6-5/2+1.2+5%2的值是A)4.3B)4.8C)3.3D)3.85/2=2答案:D15)以下能正确定义字符串的语句是A)charstr[]={'64'};B)charstr="x43";C)charstr=";D)charstr[]="";答案:D16)以下数组定义中错误的是A)intx[][3]={0};http://ncrexam.blog.edu.cnn二级C语言06年4月考试试题B)intx[2][3]={{1,2},{3,4},{5,6}};C)intx[][3]={{1,2,3},{4,5,6}};D)intx[2][3]={1,2,3,4,5,6};答案:B17)若要求从键盘读入含有空格字符的字符串,应使用函数A)getc()B)gets()C)getchar()D)scanf()答案:B18)以下四个程序中,完全正确的是A)#includemain();{/*programming*/printf("programming!n");}B)#includemain(){/*/programming/*/printf("programmingn");}C)#includemain(){/*/*programming*/*/printf("programming!n");}D)includemain(){/*programming*/printf("programming!n");}答案:B19)若有定义:floatx=1.5;inta=1,b=3,c=2;则正确的switch语句是A)switch(x){case1.0:printf("*n");case2.0:printf("**n");}B)switch((int)x);http://ncrexam.blog.edu.cnn二级C语言06年4月考试试题{casel:printf("*n");case2:printf("**n");}C)switch(a+b){case1:printf("*n");case2+1:printf{"**n");}D)switch(a+b){case1:printf("*n");casec:printf("**n");}答案:C20)若各选项中所用变量己正确定义,函数fun中通过retuen语句返回一个函数值,以下选项中错误的程序是A)main(){……x=fun(2,10);……}floatfun(inta,intb){……}B)floatfun(inta,intb){……}main(){……x=fun(i,j);……}C)floatfun(int,int);main(){……x=fun(2,10);……}floatfun(inta,intb){……}D)main(){floatfun(inti,intj);……x=fun(i,j);……}floatfun(inta,intb){……}答案:A21)在以下给出的表达式中,与while(E)中的(E)不等价的表达式是A)(!E==0)B)(E>0||E<0)C)(E==0)D)(E!=0)答案:C22)要求通过while循环不断读入字符,当读入字母N时结束循环。若变量已正确定义,以下正确的程序段是A)while((ch=getchar())!='N')printf("%c",ch);http://ncrexam.blog.edu.cnn二级C语言06年4月考试试题B)while(ch=getchar()!='N')printf("%c",ch);C)while(ch=getchar()=='N')printf{"%c",ch);D)while((ch=getchar())=='N')printf("%c",ch);答案:A23)已定义以下函数intfun(int*p){return*p;}fun函数返回值是A)不确定的值B)一个整数C)形参p中存放的值D)形参p的地址值答案:B24)若有说明语句:double*p,a;则能通过scanf语句正确给输入项读入数据的程序段是A)*p=&a;scanf("%lf",p);B)*p=&a;scanf{"%f",p);C)p=&a;scanf("%lf",*p);D)p=&a;scanf{"%lf",p);答案:D25)A)q->next=r->next;p->next=r;r->next=q;B)p->next=r;q->next=r->next;r->next=q;C)q->next=r->next;r->next=q;p->next=r;D)r->next=q;p->next=r;q->next=r->next;答案:D26)有以下程序段http://ncrexam.blog.edu.cnn二级C语言06年4月考试试题structst{intx;int*y;}*pt;inta[]={1,2},b[]={3,4};structstc[2]={10,a,20,b};pt=c;以下选项中表达式的值为11的是A)*pb->yB)pb->xC)++pt->xD)(pt++)->x答案:C27)设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为A)EOFB)非0值C)0D)NULL答案:B28)设有以下语句inta=1,b=2,c;c=a^(b<<2);执行后,c的值为A)6B)7C)8D)9答案:D29)有以下程序#includemain(){charc1,c2,c3,c4,c5,c6;scanf("%c%c%c%c",&c1,&c2,&c3,&c4);c5=getchar();c6=getchar();putchar(c1);putchar(c2);http://ncrexam.blog.edu.cnn二级C语言06年4月考试试题printf("%c%cn",c5,c6);程序运行后,若从键盘输入(从第1列开始)123<回车>45678<回车>则输出结果是A)1267B)1256C)1278D)1245答案:D30)有以下程序main(){inty=10;while(y--);printf("y=%dn",y);}程序执行后的输出结果是A)y=0B)y=-1C)y=1D)while构成无限循环答案:B31)有以下程序main(){inta=0,b=0,c=0,d=0;if(a=1)b=1;c=2;elsed=3;printf("%d,%d,%d,%dn",a,b,c,d);}程序输出A)0,1,2,0B)0,0,0,3C)1,1,2,0D)编译有错http://ncrexam.blog.edu.cnn二级C语言06年4月考试试题答案:D32)有以下程序main(){inti,j,x=0;for(i=0;i<2;i++){x++;for(j=0;j<=3;j++){if(j%2)continue;x++;}x++;}printf{"x=%dn",x);}程序执行后的输出结果是A)x=4B)x=8C)x=6D)x=12答案:B33)有以下程序intfun1(doublea){returna*=a;}intfun2(doublex,doubley){doublea=0,b=0;a=fun1(x);b=fun1(y);return(int)(a+b);}main(){doublew;w=fun2(1,1,2.0);……}程序执行后变量w中的值是A)5.21B)5C)5.0D)0.0http://ncrexam.blog.edu.cnn二级C语言06年4月考试试题答案:C34)有以下程序main(){inti,t[][3]={9,8,7,6,5,4,3,2,1};for(i=0;j<3;i++)printf("%d",t[2-i][i]);}程序执行后的输出结果是A)753B)357C)369D)751答案:B35)有以下程序fun(charp[][10]){intn=0,i;for(i=0;i<7;i++)if(p[i][0]=='T')n++;returnn;}main(){charstr[][10]={"Mon","Tue","Wed","Thu","Fri","Sat","Sun"};printf("%dn",fun(str));}程序执行后的输出结果是A)1B)2C)3D)0答案:B36)有以下程序main(){inti,s=0,t[]={1,2,3,4,5,6,7,8,9};for(i=0;i<9;i+=2)s+=*(t+i);http://ncrexam.blog.edu.cnn二级C语言06年4月考试试题printf("%dn",s);}程序执行后的输出结果是A)45B)20C)25D)36答案:C37)有以下程序voidfun1(char*p){char*q;q=p;while(*q!=''){(*q)++;q++;}}main(){chara[]={"Program"},*p;p=&a[3];fun1(p);printf{"%sn",a);}程序执行后的输出结果是A)ProhsbnB)PrphsbnC)ProgsbnD)Program答案:A38)有以下程序voidswap(char*x,char*y){chart;c=*x;*x=*y;*y=t;}main(){char*s1="abc",*s2="123";swap(s1,s2);printf("%s,%sn",s1,s2);http://ncrexam.blog.edu.cnn二级C语言06年4月考试试题}程序执行后的输出结果是A)123,abcB)abc,123C)1bc,a23D)321,cba答案:C39)有以下程序intfun(intn){if(n==1)return1;elsereturn(n+fun(n-1));}main(){intx;scanf("%d",&x);x=fun(x);printf("%dn",x);}执行程序时,给变量x输入10,程序的输出结果是A)55B)54C)65D)45答案:A40)有以下程序intfun(intx[],intn){staticintsum=0,i;for(i=0;imain(){FILE*fb;char*s1="Fortran",*s2="Basic";if(fb=fopen("test.txt","wb"))==NULL){printf("Can'topentest.txtfilen");exit(1);}fwrite(s1,7,1,fp);/*把从地址s1开始的7个字符写到fp所指文件中*/fseek(fp,0L,SEEK_SET);/*文件位置指针移到文件开头*/fwrite(s2,5,1,fb);fclose(fb);}A)BasicanB)BasicFortranC)BasicD)FortranBasic答案:A44)以下叙述中错误的是A)C语言源程序经编译后生成后缀为.obj的目标程序B)C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件C)C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中D)C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令答案:D45)以下叙述中错误的是A)算法正确的程序最终一定会结束B)算法正确的程序可以有零个输出http://ncrexam.blog.edu.cnn二级C语言06年4月考试试题C)算法正确的程序可以有零个输入D)算法正确的程序对于相同的输入一定有相同的结果答案:B46)以下叙述中错误的是A)C程序必须由一个或一个以上的函数组成B)函数调用可以作为一个独立的语句存在C)若函数有返回值,必须通过return语句返回D)函数形参的值也可以传回给对应的实参答案:D47)设有以下定义和语句charstr[20]="Program",*p;p=str;则以下叙述中正确的是A)*p与str[0]中的值相等B)str与p的类型完全相同C)str数组长度和p所指向的字符串长度相等D)数组str位中存放的内容和指针变量p中存放的内容相同答案:A48)以下叙述中错误的是A)C程序中的#include和#define行均不是C语句B)除逗号运算符外,赋值运算符的优先级最低C)C程序中,j++;是赋值语句D)C程序中,+、-、*、/、%号是算术运算符,可用于整型和实型数的运算答案:D49)以下叙述中正确的是A)预处理命令行必须位于C源程序的起始位置B)在C语言中,预处理命令行都以"#"开头C)每个C程序必须在开头包含预处理命令行:#includeD)C语言的预处理不能实现宏定义和条件编译的功能答案:B50)以下叙述中错误的是A)可以通过typedef增加新的类型B)可以用typedef将己存在的类型用一个新的名字来代表http://ncrexam.blog.edu.cnn二级C语言06年4月考试试题C)用typedef定义新的类型名后,原有类型名仍有效D)用typedef可以为各种类型起别名,但不能为变量起别名答案:A二、填空题(每空2分,共40分)请将每一个空的正确答案写在答题处【1】至【20】。1)对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为【1】。本小题第1空答案:452)在面向对象方法中,【2】描述的是具有相似属性与操作的一组对象。本小题第1空答案:类3)在关系模型中,把数据看成是二维表,每一个二维表称为一个【3】。本小题第1空答案:关系或关系表4)程序测试分为静态分析和动态测试。其中【4】是指不执行程序,而只是对程序文本进行检查,通过阅读和讨论,分析和发现程序中的错误。本小题第1空答案:静态分析5)数据独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,称为【5】。本小题第1空答案:物理独立性6)若变量a,b已定义为int类型并赋值21和55,要求用printf函数以a=21,b=55的形式输出,请写出完整的的输出语句【6】。本小题第1空答案:printf("a=%d,b=%dn",a,b);或printf("a=%d,b=%d",a,b);7)以下程序用于判断a、b、c能否构成三角形,若能,输出YES,否则输出NO。当给a、b、c输入三角形三条边长时,确定a、b、C能构成三角形的条件是需同时满足三个条件:a+b>c,a+c>b,b+c>a。请填空。main(){floata,b,c;scanf("%f%f%f",&a,&b,&c);if(【7】)printf("YESn");/*a、b、c能构成三角形*/elseprintf("NOn");/*a、b、c不能构成三角形*/}本小题第1空答案:a+b>c&&a+c>b&&b+c>a或a+b>c&&b+c>a&&a+c>b或(a+b>c&&a+c>b&&b+c>a)或(a+b>c&&b+c>a&&a+c>b)8)以下程序的输出结果是【8】。main(){inta[3][3]={{1,2,9},{3,4,8},{5,6,7}},i,s=0;http://ncrexam.blog.edu.cnn二级C语言06年4月考试试题for(i=0;i<3;i++)s+=a[i][i]+a[i][3-i-1];printf("%dn",s);}本小题第1空答案:309)当运行以下程序时,输入abed,程序的输出结果是:【9】。insert(charstr[]){inti;i=strlen(str);while(i>0){str[2*i]=str[i];str[2*i-1]='*';i--;}printf("%sn",str);}main(){charstr[40];scanf("%s",str);insert(str);}本小题第1空答案:a*b*c*d*10)下面程序的运行结果是:【10】。fun(intt[],intn){inti,m;if(n==1)returnt[0];elseif(n>=2){m=fun(t,n-1);returnm;}}main(){inta[]={11,4,6,3,8,2,3,5,9,2};printf("%dn",fun(a,10));}本小题第1空答案:1111)现有两个C程序文件T18.c和myfun.c同在TC系统目录(文件夹)下,其中T18.c文件如下:#include#include"myfun.c"main()http://ncrexam.blog.edu.cnn二级C语言06年4月考试试题{fun();printf("n");}myfun.c文件如下:voidfun(){chars[80],c;intn=0;while((c=getchar())!='n')s[n++]=c;n--;while(n>=0)printf("%c",s[n--]);}当编译连接通过后,运行程序T18时,输入Thank!则输出结果是:【11】。本小题第1空答案:!knahT12)以下函数fun的功能是返回str所指字符串中以形参c中字符开头的后续字符串的首地址,例如:由所指字符串为:Hello!,c中的字符为e,则函数返回字符串:ello!的首地址。若str所指字符串为空串或不包含c中的字符,则函数返回NULL。请填空。char*fun(char*str,charc){intn=0;char*p=str;if(p!=NULL)while(p[n]!=c&&p[n]!='')n++;if(p[n]=='')returnNULL;return(【12】);}本小题第1空答案:&p[n]或p+n13)以下程序的功能是:输出100以内(不含100)能被3整除且个位数为6的所有整数,请填空。main(){inti,j;for(i=0;【13】;i++){j=i*10+6;if(【14】)continue;printf("%d",j);}本小题第1空答案:i<10或i<=9本小题第2空答案:j%3或j%3!=0或!(j%3==0)14)以下isprime函数的功能是判断形参a是否为素数,是素数,函数返回1,否则返回0。请填空intisprime(inta)http://ncrexam.blog.edu.cnn二级C语言06年4月考试试题{int;for(i=2;i<=a/2;i++)if(a%i==0)【15】;【16】;}本小题第1空答案:return0或return(0)或return0;或return(0);本小题第2空答案:return1或return(1)或return1;或return(1);15)以下程序的功能是输入任意整数给n后,输出n行由大写字母A开始构成的三角形字符阵列图形。例如,输入整数5时(注意:n不得大于10),程序运行结果如下:ABCDEFGHIJKLMNO请填空完成该程序。main(){inti,j,n;charch='A';scanf("%d",&n);if{n<11){for(i=1;i<=n;i++){for(j=1;j<=n-i+1;j++){printf("%2c",ch);【17】;}【18】;}}elseprintf("nistoolarge!n")printf("n");}本小题第1空答案:ch++或++ch或ch=ch+1或ch=1+ch或ch+=1或ch++;或++ch;或ch=ch+1;或ch=1+ch;或ch+=1;本小题第2空答案:printf("n")或putchar('n')或printf("n");或putchar('n');http://ncrexam.blog.edu.cnn二级C语言06年4月考试试题16)本小题第1空答案:p或p!=0或p!=NULL或p!=''或p!=0本小题第2空答案:p->nexthttp://ncrexam.blog.edu.cn
查看更多

相关文章

您可能关注的文档