资源描述
温故而知新,下笔如有神全国计算机二级C语言考试专项练习题2及答案一、选择题(1)-(40)每个选项1分,(41)-(50)每个选项2分,共60分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应的位置上,答在试卷上不得分。(1)十进制数1385转换成十六进制数为A568B569CD85DD55(2)下列叙述中正确的是A计算机病毒只能传染给可执行文件B计算机软件是指存储在软盘中的程序C计算机每次启动的过程之所以相同,是因为RAM中的所有信息在关机后不会丢失D硬盘虽然装在主机箱内,但它属于外存(3)一个字长的二进制位数是A8B16C32D随计算机系统而不同的(4)CPU主要由运算器与控制器组成,下列说法中正确的是A运算器主要负责分析指令,并根据指令要求作相应的运算B控制器主要完成对数据的运算,包括算术运算和逻辑运算C控制器主要负责分析指令,并根据指令要求作相应的运算D控制器直接控制计算机系统的输入与输出操作(5)下列叙述中正确的是A将数字信号变换成便于在模拟通信线路中传输的信号称为调制B以原封不动的形式将来自终端的信息送入通信线路称为调制解调C在计算机网络中,一种传输介质不能传送多路信号D在计算机局域网中,只能共享软件资源,而不能共享硬件资源(6)各种网络传输介质A具有相同的传输速率和相同的传输距离B具有不同的传输速率和不同的传输距离C具有相同的传输速率和不同的传输距离D具有不同的传输速率和相同的传输距离(7)多媒体计算机系统的两大组成部分是A多媒体功能卡和多媒体主机B多媒体通信软件和多媒体开发工具C多媒体输入设备和多媒体输出设备D多媒体计算机硬件系统和多媒体计算机软件系统(8)按通信距离划分,计算机网络可以分为局域网和广域网。下列网络中属于局域网的是AInternetBCERNETCNovellDCHINANET(9)在Windows中,启动应用程序的正确方法是A用鼠标双击该应用程序图标B将该应用程序窗口小化成图标C将该应用程序窗口还原D将鼠标指向该应用程序图标(10)在Windows中,终止应用程序执行的正确方法是A用鼠标双击应用程序窗口左上角的控制菜单框B将应用程序窗口小化成图标C用鼠标双击应用程序窗口右上角的还原按钮D用鼠标双击应用程序窗口中的标题栏(11)DOS控制键Ctrl+Alt+Del的功能为A删除一个字符并退格B暂停标准输出设备的输出C热启动D终止当前操作(12)设当前盘为C盘,为了将A盘当前目录中所有扩展名为.PAS 的文件改成扩展名为.P,应使用的DOS命令为AREN A:*.PAS A:*.PBREN A:*.PAS *.PBREN A:.PAS A:.PDREN A:.PAS .P(13)设当前盘为C盘,其根目录下有两个子目录D1与D2,且当前目录为D1,若要进入子目录D2,正确的DOS命令为ACD D2BCD D2CCD D2DCD D1D2(14)设当前盘为A盘,要将B盘当前目录下的两个文件A.TXT与X.TXT 连接后以文件名Y.TXT存放到A盘的当前目录中,正确的DOS命令为ACOPY A.TXT+X.TXT A:Y.TXTBCOPY B:A.TXT+X.TXT A:Y.TXTBCOPY B:A.TXT+B:X.TXTY.TXTDCOPY B:A.TXT+B:X.TXT Y.TXT(15)下列DOS命令中正确的是AREN USERA.TXT B.TXTBCD CTYPE *.TXTDMD (16)以下选项中属于C语言的数据类型是A复数型B逻辑型C双精度型D集合型(17)在C语言中,不正确的int类型的常数是A32768B0C037D0xAF(18)语句:printf(%d,(a=2)&(b= -2);的输出结果是A无输出B结果不确定C-1D1(19)下列描述中不正确的是A字符型数组中可以存放字符串B可以对字符型数组进行整体输入、输出C可以对整型数组进行整体输入、输出D不能在赋值语句中通过赋值运算符=对字符型数组进行整体赋值(20)设有如下定义:int x=l,y=-1;,则语句:printf(%dn,(x-&+y);的输出结果是A1B0C-1D2(21)当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是Ac=b=a;B(a=C(b=c);C(a=c)&(b=c);Da=c=b;(22)以下程序的输出结果是A10 1 9 2B9 8 7 6C10 9 9 0D10 10 9 1main( ) int x=10,y=10,I;for(i=0;x8;y=+i)printf(%d,%d ,x-,y);(23)以下程序的输出结果是A5 2B5 1C5 3D9 7main( ) int i,x33=9,8,7,6,5,4,3,2,1,*p=&x11;for(i=0;i=0b=0)&(a0b=0&b=0)&(a0&b0)&(a+b0(29)以下程序的输出结果是A2 0B3 1C3 2 1D2 1 0main( ) int n=4;while(n-)printf(%d ,-n);(30)若已定义:int a9,*p=a;并在以后的语句中未改变p的值,不能表示a1 地址的表达式是Ap+1Ba+1Ca+D+p(31)以下程序的输出结果是A17,021,0x11B17,17,17B17,0x11,021D17,21,11main( ) int k=17;printf(%d,%o,%x n,k,k,k);(32)以下程序的输出结果是A-1 1B0 1C1 0D0 0main( ) int a= -1,b=1,k;if(+a0)& ! (b- =0)printf(%d %dn,a,b);elseprintf(%d %dn,b,a);(33)若有说明:long *p,a;则不能通过scanf语句正确给输入项读入数据的程序段是A*p=&a; scanf(%ld,p);Bp=(long *)malloc(8); scanf(%ld,p);Cscanf(%ld,p=&a);Dscanf(%ld,&a);(34)以下选项中,能定义s为合法的结构体变量的是Atypedef struct abcBstruct double a; double a;char b10; char b10; s; s;Cstruct ABCDtypedef ABC double a; double a;char b10; char b10; ABC s; ABC s;(35)若有以下的说明和语句,则在执行for语句后,*(*(pt+l)+2)表示的数组元素是At20Bt22Ctl2Dt2lint t33, *pt(3, k;for (k=0;kaB*pa0C*p*a0D*p0 *a0main( ) int a10=6,7,2,9,1,10,5,8,4,3,*p=a,I;for(i=o;i10;i+,p+)if(_)*a=*p;printf(%d,*a);(37)以下程序的输出结果是AihgfedcbaBabcdefghiCabcdedebaDihgfefghi#includemain( ) char *a=abcdefghi; int k;fun(a); puts(a);fun(char *s) int x,y; char c;for(x=0,y=strlen(s)-1;x0)fun(k-1);printf(%d,k);(42)以下程序的输出结果是A6 9 9B6 6 9C6 15 15D6 6 15int d=1;fun(int p) static int d=5;d+=p;printf(%d ,D;return(D;main( ) int a=3; printf(%d n,fun(a+fun(D); (43)以下程序的输出结果是A123456780B123 456 780C12345678D147main( ) char ch34=123,456,78, *p3; int i;for(i=0;i3;i+)pi=chi;for(i=0;i3;i+)printf(%s,pi);(44)以下程序的输出结果是A1B4C7D5#includeint a33=1,2,3,4,5,6,7,8,9,*p;main( ) p=(int*)malloc(sizeof(int);f(p,a);printf(%d n,*p);f(int *s, int p3) *s=p11; (45)以下程序的输出结果是A9B6C36D18#define f(x)x*xmain( ) int a=6,b=2,c;c=f(a)/ f(B;printf(%d n,C;(46)以下程序的输出结果是A)4 2 1 1B0 0 0 8C4 6 7 8D8 8 8 8main( ) char *s=12134211; int v4=0,0,0,0,k,i;for(k=0;sk;k+) switch(sk) case 1:i=0;case 2:i=1;case 3:i=2;case 4:i=3;vi+;for(k=0;k4;k+)printf(%d ,vk);(47) 以下程序的输出结果是AAfghdEFGBAbfhdCAfghdDAfgd#includemain( ) char *p1,*p2,str50=ABCDEFG;p1=abcd; p2=efgh;strcpy(str+1,p2+1); strcpy(str+3,p1+3);printf(%s,str);(48) 以下程序的输出结果是A#*#*#B#C*D*#*#*main( ) int i;for(i=1;i6;i+) if(i%2)printf(#);continue;printf(*);printf(n);(49) 若有以下定义和语句:double r=99, *p=&r;*p=r;则以下正确的叙述是A以下两处的*p含义相同,都说明给指针变量p赋值B在double r=99, *p=&r;中,把r的地址赋值给了p所指的存储单元C语句*p=r;把变量r的值赋给指针变量pD语句*p=r;取变量r的值放回r中(50) 以下程序的输出结果是A编译不通过,无输出BacegCacegiDabcdefghimain( ) int i;for(i=A;i=0.0& n1000) sum+ 【10】 ; xn= 【11】 ;n+; scanf(%f,&a);ave= 【12】 ;printf(Output:n);printf(ave=%fn,ave);for (I=0;In;i+)if 【13】 printf (“%fn”,xI);data= 【19】 ;r-next=s; r=s;ch=getchar( ); r-next= 【20】 ;return h;参考答案一、选择题(1)-(40)题每题1分,(41)-(50)题每题2分,共60分。(1)B (2)D (3)D (4)D (5)A (6)B (7)D (8)C (9)A (10)A(11)C (12)B (13)C (14)D (15)B (16)C (17)A (18)D (19)C (20)B(21)C (22)D (23)C (24)B (25)A (26)D (27)B (28)D (29)A (30)C(31)D (32)C (33)A (34)B (35)C (36)B (37) (38) (39) (40)(41) (42)C (43)C (44)D (45)C (46)B (47)D (48)A (49)D (50)B二、填空题(每空2分,共40分)(1)内部(2)A:XYWOR.C(3) XCOPY/?或XCOPY/H(4) CON(5) COM和.BAT(6) 5.0,4,c=3(7)CDABC(8) 56(9) How des she(10) =a(11) a(12)sum/n(13)xiave(14)(15)(16) fname(17) fp(18) struct node *(19) ch(20) NULL/ave习题很丰富,梦想易实现
展开阅读全文