二级C语言笔试真题及答案_第1页
二级C语言笔试真题及答案_第2页
二级C语言笔试真题及答案_第3页
二级C语言笔试真题及答案_第4页
二级C语言笔试真题及答案_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、二级C语言笔试真题及答案(考试时间120分钟,满分100分)一、选择题((1)-(40)每小题1分,(41)-(50)每小题2分,共60分)下列各题 A) 、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项在答题卡相应位置上涂黑,答在试卷上不得分。(1) 所谓“裸机”是指A) 单片机B) 单板机C) 不装备任何软件的计算机D) 只装备操作系统的计算机 (2) 下列存储器中,存取速度最快的是A) 软盘B) 硬盘C) 光盘D) 内存 (3) 系统软件中最重要的是A) 操作系统 B) 语言处理程序 C) 工具软件 D) 数据库管理系统 (4) CPU处理的数据基本单位为字,一个字的字长

2、A) 为8个二进制位 B) 为16个二进制位C) 为32个二进制位 D) 与CPU芯片的型号有关 (5) 打印当前屏幕内容应使用的控制键是A) Scroll-Lock B) Num-Lock C) PgDn D) PrtSc(Print Screen) (6) 能将高级语言源程序转换成目标程序的是A) 调试程序 B) 解释程序 C) 编译程序 D) 编辑程序 (7) 二进制数1110111.11转换成十进制数是A) 119.375 B) 119.75 C) 119.125 D) 119.3 (8) 十六进制数FF.1转换成十进制数是A) 255.0625 B) 255.125 C) 127.0

3、625 D) 127.125 (9) 3.5英寸软盘片的一个角上有一个滑动块,如果移动该滑块露出一个小孔,则该软盘A) 不能读但能写B) 不能读也不能写C) 只能读不能写 D) 能读写(10) 控制键C的功能为A) 终止当前操作 B) 系统复位C) 暂停标准输出设备的输出 D) 结束命令行(11) COMMAND.COM为命令处理程序,DOS系统启动后,它A) 驻留在外存,需要时再装入内存B) 常驻内存,包含所有内部命令C) 不能处理外部命令D) 不能处理后缀为.EXE的可执行文件(12) 为了将所有扩展名为.PAS的文件改成扩展名为.P,应使用命令A) REN *.PAS *.?AS B)

4、REN PAS PC) REN *.PAS *.P D) REN *.PAS *.P?(13) 设当前盘中文件XY.C的路径为ABXU,当前目录为AB。为了查看文件XY.C的内容,应使用命令A) TYPE XUXY.C B) TYPE XUXY.CC) DIR XUXY.C D) DIR ABXUXY.C(14) 要将提示符改成当前盘当前目录后加一个大于号">",应使用命令A) PROMPTB) PROMPT $p$gC) PROMPT $ D) PROMPT C>(15) 设C盘根目录中有一个批处理文件A.BAT,当前盘为A盘。为了执行该批处理文件,下列命令中

5、一定正确的是A) C:A B) C:A.BAT C) A.BAT D) A.BAT(16) 设当前盘为C盘,将A盘根目录下的文件目录信息存放到当前盘当前目录下的文件AB中,应使用命令A) TYPE A:>AB B) DIR >ABC) DIR A:>AB D) DIR >AB(17) 可执行文件ABC.EXE所需要的输入数据已经按格式存放在文件XYZ中,要求将执行结果在打印机上打印输出。下列命令中正确的是A) ABC<XYZB) ABC<PRN>XYZC) ABC>XYZ<PRN D) ABC<XYZ>PRN(18) 在当前盘当

6、前目录下有一个文件A.BAT,其内容为 CD MD XYZABBC CD XYZABB在正确执行上述文件后,接着执行下列命令时,不会发生错误的是A) MD C B) RD XYZ C) RD C D) RD B(19) 下列命令组中两个命令互相等价的是A) TYPE AB.TXT 与 DIR AB.TXTB) DISKCOMP A: B: 与 COMP A:*.* B:*.*C) TYPE AB.TXT>>XY.TXT 与 COPY AB.TXT XY.TXTD) TYPE AB.TXT>XY.TXT 与 COPY AB.TXT XY.TXT(20) 设A盘为启动盘,其目录结

7、构为根目录DOS子目录COMMAND.COMUSER子目录AUTOEXEC.BAT 其中文件AUTOEXEC.BAT的内容如下: MD XYZ CD DOSUSER则由A盘启动成功后,A盘的当前目录是A) DOSUSER B) XYZ C) 根目录 D) DOS (21) 在C语言提供的合法的关键字是A) swicth B) cherC) Case D) default(22) 在C语言中,合法的字符常量是A) 084' B) x43'C) ab' D) “0”(23) 若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是A)1 B)2C)2.0 D

8、)2.5(24) 合法的数组定义是A)int a="string" B)int a5=0,1,2,3,4,5;C)vhst s="string" D)char a=0,1,2,3,4,5;(25) 设a为整型变量,不能正确表达数学关系:1010&&a>15D)!(a<=10)&&!(a>=15) (26) 若t为double类型,表达式t=1,t5,t+的值是A) 1 B) 6.0 C)2.0 D)1.0(27) 若有定义和语句: char s10:s="abcd"printf(&qu

9、ot;%sn",s);则结果是(以下u代表空格)A) 输出abcd B) 输出aC) 输出abcduuuuu D) 编译不通过(28) 若有定义和语句:int *pp,*p,a=10,b=20;pp=&p;p=&a;p=&b;printf("%dn",*p,*pp);则输出结果是:A)10,20 B)10,10 C)20,10 D)20,20(29) 若有以下定义和语句:int u=010,v=0x10,w=10;printf("%d,%d,%dn,u,v,w);则输出结果是:A) 8,16,10 B) 10,10,10 C) 8

10、,8,10 D) 8,10,10(30) 若有以下定义和语句 char c1='b',c2='e' printf("%d,%cn",c2-c1,c2-'a'+"A"); 则输出结果是:A)2,M B)3,EC)2,E D)输出项与对应的格式控制不一致,输出结果不确定(31) 若有以下定义: char s20="programming",*ps=s; 则不能代表字符o的表达式是A) ps+2 B)s2C) ps2 D)ps+=2,*ps (32) 若ij已定义为int类型,则以下程序段中内

11、循环体的总的执行次数是 for (i=5;i;i-) for(j=0;j<4;j+).A)20 B)25C)24 D)30(33) 若有以下定义和语句:char *s1="12345",*s2="1234" printf("%dn",strlen(strcpy(s1,s2);则输出结果是 A) 4 B)5 C)9 D)10(34) 若有以下定义和语句:int a10=1,2,3,4,5,6,7,8,9,10,*p=a;则不能表示a数组元素的表达式是A) *p B) a10 C) *a D) ap-a(35) 下面程序的输出是 m

12、ain() char *s="121" int k=0, a=0, b=0; do k+; if(k%2=0) a=a+sk-'0' continue; b=b+sk-'0' a=a+sk-'0' while (sk+1); printf("k=%d a=%d b=%dn",k,a,b);A)k=3 a=2 b=3B)k=3 a=3 b=2 C)k=2 a=3 b=2 D)k=2 a=2 b=3(36) 下面程序的输出是 main() unsigned a=32768; printf("a=%dn

13、",a); A)a=32768 B)a=32767 C)a=-32767 D)a=-1(37) 若有以下定义: float x;int a,b;则正确的switch 语句是A)switch(x) B)switch(x) case1.0:printf("*n"); case1,2:printf("*n");case2.0:printf("*n"); case3:printf("*n"); C)switch (a+b) D)switch (a+b); case 1:printf("n");

14、 case 1:printf(."*n");case 1+2:printf("*n"); case 2:printf("*n"); (38) 若有定义:int x,y;char a,b,c;并有以下输入数据(此处< CR> 代表换行符,/u代表空格):1u2AuBuC则能给x赋整数1,给y赋整数2,给a赋字符A,给b赋字符B,给c赋字符C 的正确程序段是A) scanf("x=%d y+%d",&x,&y);a=getchar();b=getchar();c=getchar();B) s

15、canf("%d %d",&x,&y);a=getchar();b=getchar();c=getchar();C) scanf("%d%d%c%c%c,&x,&y,&a,&b,&c);D) scanf("%d%d%c%c%c%c%c%c:&x,&y,&a,&a,&b,&b,&c,&c);(39) 以下程序输出的结果是#include #include main() char w10="ABCD","EFG

16、H","IJKL","MNOP",K;for (k=1;k<3;k+)printf("%sn",&wkk);A)ABCD B)ABCDFGH EFGKL IJMC)EFG D)FGHJK KLO (40) 若有以下的定义:int a=1,2,3,4,5,6,7,88,9,10, *p=a;则值为3的表式是A) p+=2, *(p+) B) p+=2,*+p C) p+=3, *kp+ D) p+=2,+*p(41) 假定所有变量均已正确说明,下列程序段运行后x的值是 a=b=c=0;x=35; if(!a)x-

17、; else if(b); if(c)x=3; else x=4;A)34 B)4 C)35 D)3(42) 在以下一组运算符中,优先级最高的运算符是A)<= B)= C)% D)&&(43) 若有以下定义和语句:int w23,(*pw)3;pw=w; 则对w数组元素非法引用是A)*(w0+2) B)*(pw+1)2 C)pw00 D)*(pw1+2)(44) 若有以下程序片段:char str="abn012""printf(%dd",strlen(str); 上面程序片段的输出结果是 A)3 B)4 C)6 D)12(45)

18、函数调用:strcat(strcpy(str1,str2),str3)的功能是A) 将串str1复制到串str2中后再连接到串str3之后B) 将串str1连接到串str2之后再复制到串str3之后C) 将串str2复制到串str1中后再将串str3连接到串str1之后D) 将串str2连接到串str1之后再将串str1复制到串str3中(46) 以下对C语言函数的有关描述中,正确的是A) 在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参B) C函数既可以嵌套定义又可以递归调用C) 函数必须有返回值,否则不能使用函数D) C程序中有调用关系的所有函数必须放在同一个源程序文件

19、中(47) 以下叙述中不正确的是A) 在C中,函数中的自动变量可以赋初值,每调用一次,赋一次初值。B) 在C中,在调用函数时,实在参数和对应形参在类型上只需赋值兼容。C) 在C中,外部变量的隐含类别是自动存储类别。D) 在C中,函数形参可以说明为register变量。(48) 以下程序的输出结果是#includesubl(char a,char b) char c; c=a;a=b;b=c;sub2(char* a,char b) char c; c=*a;*a=b;b=c;sub3(char* a,char*b) char c; c=*a;*a=*b;*b=c; char a,b; a=&#

20、39;A'b='B'sub3(&a,&b);putchar(a);putchar(b); a='A'b='B'sub2(&a,b);putchar(a);prtchar(b); a='A'b='B'sub1(a,b);putchar(a);putchar(b); A) BABBAB B) ABBBBAC) BABABA D) BAABBA(49) 设有如下定义: struct skint a;float b;data,*p; 若有p=&data;,则对data中的a域的正确引

21、用是(50) 以下对枚举类型名的定义中正确的是A)enum a=one,two,three; B)enum a one=9,two=-1,three;C)enum a="one","two","three" D)enum a "one","two","three"二、填空题(每空2分,共40分)请将每空的正确答案写在答题卡 【1】 至 【20】序号的横线上,答在试卷上不得分。(1) 与十进制数101等值的二进制数为 【1】 。(2) DOS命令分为内部命令和外部命令,XCOP

22、Y命令属于 【2】 。(3) 设当前盘为A盘,当前系统提示符为">",在不改变当前盘的情况下,显示C盘的当前目录的路径,应使用命令 【3】 。(4) 自动批处理文件名必须是 【4】 。(5) 设当前盘当前目录下有两个文件W.TXT,现要将文件P.TXT连接到文件W.TXT的后面,若使用COPY命令,则完整的命令为 【5】 。(6) 请写出以下数学式的C语言表达式 6. a b.c (7) 若已知a=10,b=20,则表达式!ab) printf("*y%dn",y); else printf("#x=%n",x);(11) 在对

23、文件进行操作的过程中,若要求文件的位置回到文件的开头,应当调用的函数是 11 函数.(12) 若函数fun的类型void,且有以下定义和调用语句: #define M 50 main() int aM; . . . fun(a); . . . 定义fun函数首部可以用三种不同的形式,请写出这三种形式: 12 .13 .14 (注意:形参的名字请用q,使用同一种风格). (13) 若给fun函数的形参s传送字符串:"uuuu6354abc",则函数的返回值是 15 . log fun(char s) long n;int sign; for(;isspace(*s);s+);

24、 sign+(*s='-')?-1:1; if(*s='+'*s='-'s+; for(n=0;isdigit(*s);s+) n=10*n+(*s-'0'); return sign * n;(14) 以下函数用来在w数组中插入x,w数组中的数已按由小到大顺序存放,n 所指存储单元中存放数组中数据的个数.插入后数组中的数仍有序.请填空. void fun (char *w,char x,int *n) int i,p; p=0; w*n=x; while (x>wp) 16 ; for(i=*n;i>p;i-)wi=

25、 17 ; wp=x; + *n; (15) fun1函数的调用语句为:fun1(&a,&b,&c); 它将三个整数按由大到小的顺序调整后依次放入a,b,c,三个变量中,a中放量大数.请填空. void fun2 (int *x,int *y) int t; t=*x; *x=*y;*y=t; void fun1 (int *pa,int *pb,int *pc) if(*pc>*pb) fun2( 18) ; if(*pa<*pc)fun2(19) ; if(*pa<*pb)fun2(20) ; 完1998年4月全国计算机等级考试二级笔试C试卷答案一、选择题(1)-(40)题每题1分,(41)-(50)题每题2分,共60分。(1)C(2)D(3)A(4)D(5)D(6)C7)B(8)A(9)C(10)A(11)B(12)C(13)A(14)B(15)A(16)C(17)D(18)C(19)D(20)C(21)D(22)B(23)C(24)D(25)A(26)D(27)D(28)D(29)A(30)B(31)A(32)A(33)A(34)B(35)C(36)C(37)C(38)D(39)D(40)A(41)B(42)C(43)B(44)C(45)C(46)A(47)C(48)A(49)B(50)B二、填空题(每空2分,共40分)(1) 1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论