2002年9月二级C笔试试题及答案

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

文档介绍

2002年9月二级C笔试试题及答案

一、选择题((1)—(40)每题1分,(41)—(50)每题2分,共60分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。(1)在32位计算机中,一个字长所占的字节数为A)1B)2C)4D)8(2)与十进制数511等值的十六进制数为A)1FFB)2FFC)1FED)2FE(3)能将高级语言编写的源程序转换成目标程序的是A)编程程序B)编译程序C)解释程序D)链接程序(4)在计算机系统中,存储一个汉字的国标码所需要的字节数为A)1B)2C)3D)4(5)下列带有通配符的文件名中,能表示文件ABC.TXT的是A)*BC.?B)A?.*C)?BC.*D)?.?(6)在多媒体计算机系统中,不能用以存储多媒体信息的是A)光缆B)软盘C)硬盘D)光盘(7)DOS命令“COPY/?”的功能是A)将当前盘当前目录中的所有文件复制到当前盘的根目录下B)将当前盘当前目录中所有以单个字符命名的文件复制到当前盘的根目录下C)以提示方式复制文件D)显示COPY命令的帮助信息(8)在Windows环境下,若要将当前活动窗口存入剪贴板,则可以按A)Ctrl+PrintScreen键B)Ctrl+PrintScreen键C)Shift+PrintScreen键D)PrintScreen键(9)n在Windows环境下,单击当前应用程序窗口中的“关闭”按钮,其功能是A)将当前应用程序转为后台运行B)退出Windows后再关机C)退出Windows后重新启动计算机D)终止当前应用程序的运行(10)在Windows环境中,粘贴按钮是A)B)C)D)(11)以下叙述中正确的是A)构成C程序的基本单位是函数B)可以在一个函数中定义另一个函数C)main()函数必须放在其它函数之前D)所有被调用的函数一定要在调用之前进行定义(12)以下选项中合法的实型常数是A)5E2.0B)E-3C).2E0D)1.3E(13)以下选项中合法的用户标识符是A)longB)_2TestC)3DmaxD)A.dat(14)已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量‘101’是A)字符AB)字符aC)字符eD)非法的常量(15)以下非法的赋值语句是A)n=(i=2,++i);B)j++;C)++(i+1);D)x=j>0;(16)设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是A)6.500000B)6C)5.500000D)6.000000(17)已知i、j、k为int型变量,若从键盘输入:1,2,3<回车>,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是A)scanf(“%2d%2d%2d”,&i,&j,&k);B)scanf(“%d%d%d”,&i,&j,&k);C)scanf(“%d,%d,%d”,&i,&j,&k);D)scanf(“i=%d,j=%d,k=%d”,&i,&j,&k);(18)与数学式子对应的C语言表达式是A)3*x^n(2*x-1)B)3*x**n(2*x-1)C)3*pow(x,n)*(1/(2*x-1))D)3*pow(n,x)/(2*x-1)(19)设有定义:longx=-123456L;,则以下能够正确输出变量x值的语句是A)printf(“x=%dn”,x);B)printf(“x=%1dn”,x);C)printf(“x=%8dLn”,x);D)printf(“x=%LDn”,x);(20)若有以下程序:main(){intk=2,i=2,m;m=(k+=i*=k);printf(“%d,%dn”,m,i);}执行后的输出结果是A)8,6B)8,3C)6,4D)7,4(21)已有定义:intx=3,y=4,z=5;,则表达式!(x+y)+z-1&&y+z/2的值是A)6B)0C)2D)1(22)有一函数,n,以下程序段中不能根据x值正确计算出y值的是A)if(x>0)y=1;B)y=0;elseif(x==0)y=0;if(x>0)y=1;elsey=-1;elseif(x<0)y=-1;C)y=0;D)if(x>=0)if(x>=0);if(x>0)y=1;if(x>0)y=1;elsey=0;elsey=-1;elsey=-1;(23)以下选项中,与k=n++完全等价的表达式是A)k=n,n=n+1B)n=n+1,k=nC)k=++nD)k+=n+1(24)以下程序的功能是:按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序如下:main(){intn,k;floatscore,sum,ave;sum=0.0;for(n=1;n<=10;n++){for(k=1;k<=4;k++){scanf(“%f”,&score);sum+=score;}ave=sum/4.0;printf(“NO%d:%fn”,n,ave);}}上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。这条语句是A)sum=0.0;B)sum+=score;C)ave=sun/4.0;D)printf(“NO%d:%fn”,n,ave);(25)有以下程序段intn=0,p;do{scanf(“%d”,&p);n++;}while(p!=12345&&n<3);此处do—while循环的结束条件是A)P的值不等于12345并且n的值小于3B)P的值等于12345并且n的值大于等于3C)P的值不等于12345或者n的值小于3D)P的值等于12345或者n的值大于等于3(26)有以下程序main(){inta=15,b=21,m=0;switch(a%3){case0:m++;break;case1:m++;switch(b%2){default:m++;casen0:m++;break;}}printf(“%dn”,m);}程序运行后的输出结果是A)1B)2C)3D)4(27)C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是A)voidB)intC)floatD)double(28)若有说明:intn=2,*p=&n,*q=p;,则以下非法的赋值语句是A)p=q;B)*p=*q;C)n=*q;D)p=n;(29)有以下程序floatfun(intx,inty){return(x+y);}main(){inta=2,b=5,c=8;printf(“%3.0fn”,fun(int)fun(a+c,b),a-c));}程序运行后的输出结果是A)编译出错B)9C)21D)9.0(30)有以下程序voidfun(char*c,intd){*c=*c+1;d=d+1;printf(“%c,%c,”,*c,d);}main(){chara=’A’,b=’a’;fun(&b,a);printf(“%c,%cn”,a,b);}程序运行后的输出结果是A)B,a,B,aB)a,B,a,BC)A,b,A,bD)b,B,A,b(31)以下程序中函数sort的功能是对a所指数组中的数据进行由大到小的排序voidsort(inta[],intn){inti,j,t;for(i=0;i则运行的结果是:A)22B)17C)12D)9(41)有以下程序intfa(intx){returnx*x;}intfb(intx){returnx*x*x;}intf(int(*f1)(),int(*f2)(),intx){returnf2(x)-f1(x);}main(){inti;i=f(fa,fb,2);printf(“%dn”,i);}程序运行后的输出结果是A)-4B)1C)4D)8(42)有以下程序inta=3;main(){ints=0;{inta=5;s+=a++;}s+=a++;printf(“%dn”,s);}程序运行后的输出结果是A)8B)10C)7D)11(43)有以下程序voidss(char*s,chart){while(*s){if(*s==t)*s=t-‘a’+’A’;s++;}}main(){charstr1[100]=“abcddfefdbd”,c=’d’;ss(str1,c);printf(“%sn”,str1);}程序运行后的输出结果是A)ABCDDEFEDBDB)abcDDfefDbDC)abcAAfefAbAD)Abcddfefdbd(44)有以下程序structSTU{charnum[10];floatscore[3];};main(){structstuns[3]={{“20021”,90,95,85},{“20022”,95,80,75},{“20023”,100,95,90}},*p=s;inti;floatsum=0;for(i=0;i<3,i++)sum=sum+p->score[i];printf(“%6.2fn”,sum);}程序运行后的输出结果是A)260.00B)270.00C)280.00D)285.00(45)设有如下定义:strucksk{inta;floatb;}data;int*p;若要使P指向data中的a域,正确的赋值语句是A)p=&a;B)p=data.a;C)p=&data.a;D)*p=data.a;(46)有以下程序#includestructNODE{intnum;structNODE*next;};main(){structNODE*p,*Q,*R;p=(structNODE*)malloc(sizeof(structNODE));q=(structNODE*)malloc(sizeof(structNODE));r=(structNODE*)malloc(sizeof(structNODE));p->num=10;q->num=20;r->num=30;p->next=q;q->next=r;printf(“%dn”,p->num+q->next->num);}程序运行后的输出结果是A)10B)20C)30D)40(47)若有以下说明和定义typedefint*INTEGER;INTEGERp,*q;以下叙述正确的是A)P是int型变量B)p是基类型为int的指针变量C)q是基类型为int的指针变量D)程序中可用INTEGER代替int类型名(48)有以下程序main(){unsignedchara,b,c;a=0x3;b=a|0x8;nc=b<<1;printf(“%d%dn”,b,c);}程序运行后的输出结果是A)–1112B)–6–13C)1224D)1122(49)有以下程序#includemain(){char*p,*q;p=(char*)malloc(sizeof(char)*20);q=p;scanf(“%s%s”,p,q);printf(“%s%sn”,p,q);}若从键盘输入:abcdef<回车>,则输出结果是:A)defdefB)abcdefC)abcdD)dd(50)以下程序中函数f的功能是将n个字符串按由大到小的顺序进行排序。#includevoidf(charp[][10],intn){chart[20];inti,j;for(i=0;i10&&x<50){x++;if(x/3){x++;break;}elsecontinue;}printf(“%dn”,x);}9、有以下程序:#includemain(){charc;while((c=getchar())!=’?’)putchar(--c);}程序运行时,如果从键盘输入:Y?N?<回车>,则输出结果为[10]。10、以下程序运行后的输出结果是[11]。voidfun(intx,inty){x=x+y;y=x-y;x=x-y;printf(“%d,%d,”,x,y);}main(){intx=2,y=3;fun(x,y);printf(“%d,%dn”,x,y);}11、以下函数的功能是计算s=1+++……+,请填空。doublefun(intn){doubles=0.0,fac=1.0;inti;for(i=1,i<=n;i++){fac=fac[12];s=s+fac;}returns;}12fun函数的功能是:首先对a所指的N行N列的矩阵,找出各行中的最大的数,再求这N个最大值中的最小的那个数作为函数值返回。请填空。#include#defineN100intfun(int(*a)[N]){introw,col,max,min;for(row=0;rowmax或者a[row][col]>=max(18)【18】max<="min"min>max或者min>=max(19)【19】*t或者t[0](20)【20】*s-*t或者*s-t[0]或者s[0]-*t或者s[0]-t[0]
查看更多

相关文章

您可能关注的文档