《《C语言程序设计》考试二级笔试试题.doc》由会员分享,可在线阅读,更多相关《《C语言程序设计》考试二级笔试试题.doc(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2000年4月二级笔试试题-基础部分和C语言程序设计(考试时间:120分钟,满分100分)一、选择题((1)-(40)每小题1分,(41)-(50)每小题2分,共60分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项在答题卡相应位置上涂黑,答在试卷上不得分。(1)下列述叙中正确的是A)显示器和打印机都是输出设备B)显示器只能显示字符C)通常的彩色显示器都有7种颜色D)打印机只能打印字符和表格(2)微型计算机中运算器的主要功能是进行A)算术运算B)逻辑运算C)算术和逻辑运算D)初等函数运算(3)COMMAND。COM是DOS系统的最外层模块,通常称之为A)引导程序B
2、)输入输出系统C)命令处理系统D)文件管理系统(4)电子邮件是A)网络信息检索服务B)通过Web网页发布的公告信息C)通过网络实时交互的信息传递方式D)一种利用网络交换信息的非交互式服务(5)和十进制数225相等的二进制数是A)11101110B)11111110C)10000000D)11111111(6)下列叙述中正确的是A)指令由操作数和操作码两部分组成B)常用参数xxMB表示计算机的速度C)计算机的一个字长总是等于两个字节D)计算机语言是完成某一任务的指令集(7)计算机的内存储器比外存储器A)价格便宜B)存储容量大C)读写速度快D)读写速度慢(8)设当前盘为C盘,执行DOS命令COPY
3、B:A.TXTPRN之后,结果是A)B盘上的A.TXT文件被复制到C盘的PRN文件B)屏幕上显示B盘上的A.TXT文件内容C)B盘上的A.TXT文件内容在打印机上输出D)B盘上的A.TXT文件被复制到B盘上的PRN文件(9)要将当前盘当前目录下的两个文件X1.TXT和B1.TXT连接起来之后存入B盘当前目录下并且命名为Z.TXT,无论B盘当前目录是什么,完成这件任务可以使用的命令是A)COPYA:X1.TXT+C:B1.TXTZ.TXTB)COPYX1.TXT+C:WSB1.TXTB:Z.TXTC)COPYA:X1.TXT+C:WSB1.TXTD)COPYX1.TXT+B1.TXTB:Z.TX
4、T(10)下列四组DOS命令中,功能等价的一组是A)COPYA:*.*B:与DISKCOPYA:B:B)COPYABC.TXT+XYZ.TXT与TYPEXYZ.TXTABC.TXTC)COPYABC.TXT+XYZ.TXT与COPYXYZ.TXT+ABC.TXTD)TYPE*.FORCON与COPY*.FORCON(11)设当前目录为D:BB,现要把D:AA目录下首字符是A的文本文件全部删除,应该使用命令A)DELA*.TXTB)DELAAA.TXTC)DELAAA*.TXTD)DELAAA?.TXT(12)在Windows中,启动应用程序的正确方法是A)用鼠标指向该应用程序图标B)将该应用程
5、序窗口最小化成图标B)将该应用程序窗口还原D)用鼠标双击该应用程序图标(13)在Windows中,终止应用程序执行的正确方法是A)将该应用程序窗口最小化成图标B)用鼠标双击应用程序窗口右上角的还原按钮C)用鼠标双击应用程序窗口中的标题栏D)用鼠标双击应用程序窗口左上角的控制菜单框(14)在微机系统中,对输入输出设备进行管理的基本程序模块(BIOS)存放在A)RAM中B)ROM中C)硬盘中D)寄存器中(15)使计算机病毒传播范围最广的媒介是A)硬磁盘B)软磁盘C)内部存储器D)互联网(16)设有intx=11;则表达式(x+*1/3)的值是A)3B)4C)11D)12(17)下列程序的输出结果是
6、A)3B)3.2C)0D)3.07main()doubled=3.2;intx,y;x=1.2;y=(x+3.8)/5.0;printf(%dn,d*y);(18)下列程序执行后的输出结果是(小数点后只写一位)A)666.06.0B)666.76.7C)666.06.7D)666.76.0main()doubled;floatf;lingl;inti;i=f=1=d=20/3;printf(%d%ld%f%fn,i,l,f,d);(19)下列变量定义中合法的是A)short_a=1-.le-1;B)doubleb=1+5e2.5;C)longdo=0xfdaL;D)float2_and=1-e
7、-3;(20)设intx=1,y=1;表达式(!x|y-)的值是A)0B)1C)2D)-1(21)与y=(x0?1:x0)y=1;B)if(x)elseif(x0)y=1;elsey=0;elseif(x=0)if(x0)y=1;if(x0)y=1;elseif(x=0)y=0;elsey=-1;elsey=-1;(22)以下循环体的执行次数是A)3B)2C)1D)0main()inti,j;for(i=0,j=1;i=j+1;i+=2,j-)printf(%dn,i);(23)以下叙述正确的是A)do-while语句构成的循环不能用其它语句构成的循环来代替。B)do-while语句构成的循环
8、只能用break语句退出。C)用do-while语句构成的循环,在while后的表达式为非零时结束循环。D)用do-while语句构成的循环,在while后的表达式为零时结束循环。(24)下列程序执行后的输出结果是A)GB)HC)ID)Jmain()intx=f;printf(%cn,A+(x-a+1);(25)执行下面的程序段后,变量k中的值为A)不定值B)33C)30D)10intk=3,s2;s0=k;k=s1*10;(26)若已定义:inta=0,1,2,3,4,5,6,7,8,9,*p=a,i;其中0i9,则对a数组元素不正确的引用上A)ap-aB)*(&ai)C)piD)a10(2
9、7)下列程序执行后的输出结果是A)6B)7C)8D)9voidfunc(int*a,intb)b0=*a+6;main()inta,b5;a=0;b0=3;func(&a,b);printf(%dn,b0);(28)下列程序的运行结果是A)a=%2,b=%5B)a=2,b=5C)a=d,b=dD)a=%d,b=%d#includemain()inta=2,c=5;printf(a=%d,b=%dn,a,c);(29)下列程序执行后的输出结果是A)3B)6C)9D)随机数main()inta33,*p,i;p=&a00;for(i=p;i9;i+)pi=i+1;printf(%dn,a12);(
10、30)设有数组定义:chararray=China;则数组array所占的空间为A)4个字节B)5个字节C)6个字节D)7个字节(31)下列程序的输出结果是A)4B)6C)8D)10intb=2;intfunc(int*a)b+=*a;return(b);main()inta=2,res=2;res+=func(&a);printf(%dn,res);(32)在以下四组中,每组有两个分别运算的函数,运算结果相同的是A)4B)2C)2D)0main()inti,j,m=0,n=0;for(i=p;i2;i+)for(j=0;j=i)m=1;n+;printf(%dn,n);(33)下列程序的输出
11、结果是A)5B)6C)7D)8structabcinta,b,c;main()structabcs2=1,2,3,4,5,6;intt;t=s0,a+s1,b;printf(%dn,t);(34)设intb=2;表达式(b2)/(b1)的值是A)0B)2C)4D)8(35)在C程序中,可把整型数以二进制形式存放到文件中的函数是A)fprintf函数B)fread函数C)fwrite函数D)fputc函数(36)下列程序执行后的输出结果是A)-32767B)FFFEC)-1D)-32768main()charx=0xFFFF;printf(%dn,x-);(37)若有定义:floatw;inta
12、,b;则合法的switch语句是A)switch(w)B)switch(a);case1.0:printf(*n);case1printf(*n);case2.0:printf(*n);case2printf(*n);C)switch(b)D)switch(a+b);case1:printf(*n);case1:printf(*n);default:printf(n);case2:printf(*n);case1+2:printf(*n);default:printf(n);(38)以下程序段的执行结果是A)a=12y=12B)a=12y=12a=14y=16a=16y=28a=16y=20a
13、=18y=24C)a=12y=12D)a=12y=12a=14y=26a=14y=44inta,y;a=10;y=0;doa+=2;y+=a;printf(a=%dy=%dn,a,y);if(y20)break;while(a=14);.(39)若有以下调用语句,则不正确的fun函数的首部是A)voidfun(intm,intx)B)voidfun(ints,inth41)C)voidfun(intp,int*s)D)voidfun(intn,inta)main()inta50,n;fun(n,&a9);(40)语句printf(abrehiyboun);的输出结果是A)abrehiybouB
14、)abrehiybouC)rehiyouD)abrehiybou(说明:b是退格符)(41)请选出正确的程序段A)int*p;B)int*s,k;scanf(%d,p);*s=100;C)int*s,k;D)int*s,k;char*p,c;char*p,e;s=&k;s=&k;p=&c;p=&c;*p=a;s=p;*s=1;(42)已知指针p的指向如下图所示,则执行语句*-p;后*p的值是A)30B)20C)19D)29a0a1a2a3a41020304050(43)设已有定义:char*st=howareyou;下列程序段中正确的是A)chara11,*p;strcpy(p=a+1,&st
15、4);B)chara11;strcpy(+a,st);C)chara11;strcpy(a,st);D)chara,*p;strcpy(p=&a1,st+2);(44)下列程序执行后的输出结果是A)you&neB)youC)meD)errmai()chararr24;strcpy(arr,you);strcpy(arr1,me);arr03=&;printf(%sn,arr);(45)下列程序执行后的输出结果是A)helloB)helC)hloD)hlmvoidfunc1(inti);voidfunc2(inti);charst=hello,friend!;voidfunc1(inti)pri
16、ntf(%c,sti);if(i3)i+=2;func2(i);voidfunc2(inti)printf(%c,sti);if(i3)i+=2;func1(i);main()inti=0;func1(i);printf(n);(46)假定下列程序的可执行文件名为prg.exe,则在该程序所在的子目录下输入命令行:prghellogood后,程序的输出结果是A)hellogoodB)hgC)helD)hellogoodmain()(intargc,char*argv)inti;if(argc-0)return;for(i=1;inext=&b;D)(*p).next=q;structnodec
17、hardata;structnode*next;a,b,*p=&a,*q=&b;datanextdatanexta5b90pq(49)变量a所占内存字节数是A)4B)5C)6D)8unionUcharst4;inti;longl;structAintc;unionUu;a;(50)执行下列程序时输入:123456789,输出结果是A)123,456,789B)1,456,789C)1,23,456,789D)1,23,456main()chars100;intc,i;scanf(%c,&c);scanf(%d,&i);scanf(%s,s);printf(%c,%d,%sn,c,i,s);二)
18、填空题(每空2分,共40分)请将每空的正确答案写在答题卡上120序号的横线上,答在试卷上不得分。(1)计算机网络按通信距离来划分,可分为局域网和广域网。因特网属于1。-(2)当前盘是C,确保在D盘的根目录下建立一个子目录USER的一条DOS命令是2。-(3)要将当前盘当前目录中所有扩展名为.TXT的文件内容显示在屏幕上的DOS命令是3。-(4)DOS命令分为内部命令和外部命令,CHKDSK命令是4命令。-(5)在Windows中,为了终止一个应用程序的运行,首先单击该应用程序窗口中的控制菜单框,然后在控制菜单中单击5命令。-(6)设有以下变量定义,并已赋确定的值charw;intx;float
19、y;doublez;则表达式:w*x+z-y所求得的数据类型为6。-(7)若x为int类型,请以最简单的形式写出与逻辑表达式!x等价的C语言关系表达式7。-(8)若有如下图所示五个连续的int类型的存储单元并赋值如下图,a0的地址小于a4的地址。p和s是基类型为int的指针变量。请对以下问题进行填空。a0a1a2a3a422334455661,若p已指向存储单元a1。通过指针p,给s赋值,使s指向最后一个存储单元a4的语句是8。-2,若指针s指向存储单元a2,p指向存储单元a0,表达式s-p的值是9。-(9)下面函数用来求出两个整数之和,并通过形参传回两数相加之和值,请填空。intadd(in
20、tx,inty,10z)-11=x+y;-(10)下面程序的功能是:计算1到10之间奇数之和及偶数之和,请填空。#includemain()inta,b,c,i;a=c=0;for(i=0;i10;i+=2)a+=i;12;-c+=b;printf(偶数之和=%dn,a);printf(奇数之和=%dn,c-11);(11)下面程序的功能是:输出100以内能被3整除且个位数为6的所有整数,请填空。#includemain()inti,j;for(i=0;13;i+)-j=i*10+6;if(14)continue;-printf(%d,j);(12)下面程序的功能是:将字符数组a中下标值为偶数
21、的元素从小到大排列,其它元素不变。请填空。#include#includemain()chara=clanguage,t;inti,j,k;k=strlen(a);for(i=0;i=k-2;i+=2)for(j=i+2;j=k;15)-if(16)-t=ai;ai=aj;aj=t;puts(a);printf(n);(13)以下程序的运行结果是17-#includemain()intk=4,m=1,p;p=func(k,m);printf(%d,p);p=func(k,m);printf(%dn,p);func(inta,intb)staticintm=0,i=2;i+=m+1;m=i+a+
22、b;returnm;(14)以下程序的功能是:将无符号八进制数字构成的字符串转换为十进制整数。例如,输入的字符串为:556,则输出十进制整数366。请填空。#includemain()char*p,s6;intn;p=s;gets(p);n=*p-0;while(18!=0)n=n*8+*p-0;-printf(%dn,n);(15)函数voidfun(float*sn,intn)的功能是:根据以下公式计算S,计算结果通过形参指针sn传回;n通过形参传入,n的值大于等于0。请填空。1111S=1-+-+3572n+1voidfun(float*sn,intn)floats=0.0,w,f=-1.0;inti=0;for(i=0;i=n;i+)f=19*f;-w=f/(2*i+1);s+=w;20=s;-