您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 数据通信与网络 > 2004年9月全国计算机等级考试二级C语言笔试试卷
2004年9月全国计算机等级考试二级笔试试卷基础部分和C语言程序设计(考试时间:120分钟,满分100分)2004年9月一、选择题,(1-40)每题1分,(41-50)每题2分,共60分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。(1)与十进制数200等值的十六进制数为A)A8B)A4C)C8D)C4(2)DOS文件系统的组织结构属于A)星形结构B)网形结构C)环形结构D)树形结构(3)对存储器按字节进行编址,若某存储器芯片共有10根地址线,则该存储器芯片的存储容量为A)1KBB)2KBC)4KBD)8KB(4)在DOS环境下,代表键盘和显示器的设备文件名为A)PRNB)CONC)NULD)LPT(5)计算机网络的主要特点是A)运算速度快B)运算精度高C)资源共享D)人机交互(6)磁盘处于写保护状态时其中的数据A)不能读出,不能删改B)可以读出,不能删改C)不能读出,可以删改D)可以读出,可以删改(7)从Windows环境进入MS—DOS方式后,返回Windows环境的DOS命令为A)EXITB)QUITC)RETD)MSDOS(8)在Windows环境下,若资源管理器左窗口中的某文件夹左边标有“+”标记,则表示A)该文件夹为空B)该文件夹中含有子文件夹C)该文件夹中只包含有可执行文件D)该文件夹中包含系统文件(9)在Windows菜单中,暗淡的命令名项目表示该命令A)暂时不能使用B)正在执行C)包含下一层菜单D)包含对话框(10)在Windows环境下,单击当前窗口中的按钮“”,其功能是A)将当前应用程序转为后台运行B)退出Windows后再关机C)终止当前应用程序的运行D)退出Windows后重新启动计算机(11)用C语言编写的代码程序A)可立即执行B)是一个源程序C)经过编译即可执行D)经过编译解释才能执行(12)结构化程序由三种基本结构组成,三种基本结构组成的算法A)可以完成任何复杂的任务B)只能完成部分复杂的任务C)只能完成符合结构化的任务D)只能完成一些简单的任务(13)以下定义语句中正确的是A)chara='A'b='B';B)floata=b=10.0;C)inta=10,*b=&a;D)float*a,b=&a;(14)下列选项中,不能用作标识符的是A)_1234_B)_1_2C)int_2_D)2_int_(15)有以下定义语句doublea,b;intw;longc;若各变量已正确赋值,则下列选项中正确的表达式是A)a=a+b=b++B)w%(int)a+bC)(c+w)%(int)aD)w=a==b;(16)有以下程序main(){intm=3,n=4,x;x=-m++;x=x+8/++n;printf(%d\n,x);}程序运行后的输出结果是A)3B)5C)-1D)-2(17)有以下程序main(){chara='a',b;print(%c,,++a);printf(%c\n,b=a++);}程序运行后的输出结果是A)b,bB)b,cC)a,bD)a,c(18)有以下程序main(){intm=0256,n=256;printf(%o%o\n,mn,n);}程序运行后的输出结果是A)02560400B)0256256C)256400D)400400(19)有以下程序main(){inta=666,b=888;printf(%d\n,a,b);}程序运行后的输出结果是A)错误信息B)666C)888D)666,888(20)有以下程序main(){inti;for(i=0;i3;i++)switch(i){case0:printf(%d,i);case2:printf(%d,i);default:printf(%d,i);}}程序运行后的输出结果是A)022111B)021021C)000122D)012(21)若x和y代表整型数,以下表达式中不能正确表示数学关系|x-y|10的是A)abs(x-y)10B)x-y-10&&x-y10C)@(x-y)-10||!(y-x)10D)(x-y)*(x-y)100(22)有以下程序main(){inta=3,b=4,c=5,d=2;if(ab)if(bc)printf(%d,d+++1);elseprintf(%d,++d+1);printf(%d\n,d);}程序运行后的输出结果是A)2B)3C)43D)44(23)下列条件语句中,功能与其他语句不同的是if(a)printf(%d\n,x);elseprintf(%d\n,y);if(a==0)printf(%d\n,y);elseprintf(%d\n,x);if(a!=0)printf(%d\n,x);elseprintf(%d\n,y);if(a==0)printf(%d\n,x);elseprintf(%d\n,y);(24)有以下程序main(){inti=0,x=0;for(;;){if(i==3||i==5)continue;if(i==6)break;i++;s+=i;};printf(%d\n,s);}程序运行后的输出结果是A)10B)13C)21D)程序进入死循环(25)若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是for(i=1,p=1;i=5;i++)p*=i;for(i=1;i=5;i++){p=1;p*=i;}i=1;p=1;while(i=5){p*=i;i++;}i=1;p=1;do{p*=i;i++;}while(i=5);(26)有以下程序main(){chara,b,c,d;scanf(%c,%c,%d,%d,&a,&b,&c,&d);printf(%c,%c,%c,%c\n,a,b,c,d);}若运行时从键盘上输入:6,5,65,66回车。则输出结果是A)6,5,A,BB)6,5,65,66C)6,5,6,5D)6,5,6,6(27)以下能正确定义二维数组的是A)inta[][3];B)inta[][3]=2{2*3};C)inta[][3]={};D)inta[2][3]={{1},{2},{3,4}};(28)有以下程序intf(inta){returna%2;}main(){ints[8]={1,3,5,2,4,6},i,d=0;for(i=0;f(s[i]);i++)d+=s[i];printf(%d\n,d);}程序运行后的输出结果是A)9B)11C)19D)21(29)若有以下说明和语句,intc[4][5],(*p)[5];p=c;能正确引用c数组元素的是A)p+1B)*(p+3)C)*(p+1)+3D)*(p[0]+2))(30)有以下程序main(){inta=7,b=8,*p,*q,*r;p=&a;q=&b;r=p;p=q;q=r;printf(%d,%d,%d,%d\n,*p,*q,a,b);}程序运行后的输出结果是A)8,7,8,7B)7,8,7,8C)8,7,7,8D)7,8,8,7(31)s12和s2已正确定义并分别指向两个字符串。若要求:当s1所指串大于s2所指串时,执行语句S;则以下选项中正确的是A)if(s1s2)S;B)if(strcmp(s1,s2))S;C)if(strcmp(s2,s1)0)S;D)if(strcmp(s1,s2)0)S;(32)设有定义语句intx[6]={2,4,6,8,5,7},*p=x,i;要求依次输出x数组6个元素中的值,不能完成此操作的语句是for(i=0;i6;i++)printf(%2d,*(p++));for(i=0;i6;i++)printf(%2d,*(p+i));for(i=0;i6;i++)printf(%2d,*p++);for(i=0;i6;i++)printf(%2d,(*p)++);(33)有以下程序#includestdio.hmain(){inta[]={1,2,3,4,5,6,7,8,9,10,11,12,},*p=a+5,*q=NULL;*q=*(p+5);printf(%d%d\n,*p,*q);}程序运行后的输出结果是A)运行后报错B)66C)611D)510(34)有以下定义和语句inta[3][2]={1,2,3,4,5,6,},*p[3];p[0]=a[1];则*p[0]+1所代表的数组元素是A)a[0][1]B)a[1][0]C)a[1][1]D)a[1][2](35)有以下程序main(){charstr[][10]={China,Beijing},*p=str[0];printf(%s\n,p+10);}程序运行后的输出结果是A)ChinaB)BejingC)ngD)ing(36)有以下程序main(){chars[]=ABCD,*p;for(p=s+1;ps+4;p++)printf(%s\n,p);}程序运行后的输出结果是A)ABCDB)AC)BD)BCDBCDBCCDCDCDDDD(37)在函数调用过程中,如果函数funA调用了函数funB,函数funB又调用了函数funA,则A)称为函数的直接递归调用B)称为函数的间接递归调用C)称为函数的循环调用D)C语言中不允许这样的递归调用(38)已有定义:inti,a[10],*p;,则合法的赋值语句是A)p=100;B)p=a[5];C)p=a[2]+2;D)p=a+2;(39)以下叙述中正确的是A)局部变量说明为static存储数,其生存期将得到延长B)全局变量说明为static存储类,其作用域将被扩大C)任何存储类的变量在未赋初值时,其值都是不确定的D)形参可以使用的存储类说明符与局部变量完全相同(40)设有定义语句:charc1=92,c2=92;,则以下表达式中值为零的是A)c1^c2B)c1&c2C)~c2D)c1|c2(41)程序中对fun函数有如下说明void*fun();此说明的含义是:A)fun了数无返回值B)fun函数的返回值可以是任意的数据类型C)fun函数的返回值是无值型的指针类型D)指针fun指向一个函数,该函数无返回值(42)有以下程序main(){chars[]=Yes\n/No,*ps=s;puts(ps+4);*(ps+4)=0;puts(s);}程序运行后的输出结果是(选项D中的第一行是空行)A)n/NoB)/NoC)n/NOD)YesYesYes/No/No/NoYes(43)有以下程序main(){unsignedinta;intb=-1;a=b;printf(%u,a);}程序运行后的输出结果是A)-1B)65535C)32767D)-32768(44)有以下程序voidfun(int*a,inti,intj){intt;if(ij){t=a[i];a[i]=a[j];a[j]=t;i++;j--;fun(a,i,j);}}main(){intx[]={2,6,1,8},i;fun(x,0,3);for(i=0;i4;i++)printf(%2d,x[i]);printf(\n);}程序运行后的输出结果是A)1268B)8621C)8162D)8612(45)有以下说明和定义语句structstudent{intage;charnum[8];};structstudentstu[3]={{20,200401},{21,200402},{10\9,200403}};structstudent*p=stu;以下选项中引用结构体变量成员的表达式错误的是A)(p++)-numB)p-numC)(*p).numD)stu[3].age(46)有以下程序main(){intx[]={1,3,5,7,2,4,6,0},i,j,k;for(i=0;i3;i++)for(j=2;j=i;j--)if(x[j+1]x[j]){k=x[j];x[j]=x[j+1];x[j+1]=k;}for(i=0;i
本文标题:2004年9月全国计算机等级考试二级C语言笔试试卷
链接地址:https://www.777doc.com/doc-3107138 .html