已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1996年4月全国计算机等级考试二级C语言笔试试题及答案一、选择题(1)-(40)每小题1分,(41)-(50)每小题2分,共60分) 下列各题 A) 、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。 (1) 一个完整的计算机系统包括 A主机、键盘与显示器 B计算机与外部设备 C硬件系统与软件系统 D系统软件与应用软件 (2) 十六进制数1000转换成十进制数是 A4096 B1024 C2048 D8192 (3) 十进制数269转换成十六进制数是 A10E B10D C10C D10B (4) 如果用八位二进制补码表示带符号的定点整数,则能表示的十进制数的范围是 A-127到+127 B-128到+128 C-127到+128 D-128到+127 (5) 下列设备中,既可作为输入设备又可作为输出设备的是 A鼠标器 B打印机 C键盘 D磁盘驱动器 (6) 下列各叙述中,正确的是 A正数十进制原码的补码是原码本身 B所有的十进制小数都能准确地转换为有限位二进制小数 C汉字的计算机内码就是国标码 D存储器具有记忆能力,其中的信息任何时候都不会丢失 (7) 在下列操作中,能导致DOS系统重新启动但不进行系统自检的是 A加电开机 B按+ C按+ D按RESET按钮 (8) 如果给定一个带有通配符的文件名F*.?,则在下列各文件中,它能代表的文件名是 AFA.EXE BF.C CEF.C DFABC.COM (9) DOS系统启动后,下列文件中常驻内存的是 A*.COM BFORMAT.COM CAUTOEXEC.BAT DCOMMAND.COM (10) 设A盘的目录结构为(画方框的为目录) 如果当前盘为C盘,A盘的当前目录为D2,则下列对A盘上文件QR.C的指定中,合法的是 AD2D4QR.C BD4QR.C CA:D4QR.C DA:D2D4QR.C (11) 为了要将A盘当前目录(不是根目录)中所有扩展名为.C的文件同名复制到A痰哪柯糪USER中,正确的命令是 ACOPY A:*.C USER*.C BCOPY A:*.C A:USER CCOPY A:*.C A:USER DCOPY A:*.C A:USER*.C (12) 为了在屏幕上一次显示当前盘当前目录下的所有扩展名为.TXT的文件内容,下列命令中正确的是 ATYPE *.TXT BTYPE *.TXT CON CCOPY *.TXT%26gt;CON DCOPY *.TXT CON (13) 设当前盘为A盘,为了将当前盘当前目录下的文件AB1.TXT连接在C盘根目录下的文件XYZ.TXT的后面,正确的命令是 ACOPY C:XYZ.TXT+AB1.TXT BCOPY AB1.TXT%26gt;%26gt;C:XYZ.TXT CTYPE AB1.TXT%26gt;C:XYZ.TXT DCOPY AB1.TXT+C:XYZ.TXT%26gt;C:XYZ.TXT (14) 设A盘为启动盘,其目录结构为(画方框的为目录) 其中文件AUTOEXEC.BAT的内容为 MD XYZ CD DOSUSER 则由A盘启动成功后,A盘的当前目录是 ADOSUSER BXYZ C DDOS (15) 下列DOS命令中为内部命令的是 ACOMP BPATH CPRINT DFORMAT (16) 设当前盘为C盘,所用的所有软盘已格式化且容量相同,则下列DOS命令中错误的是 ADISKCOPY A: C: BDISKCOPY A: A: CCOPY A:*.* DCOPY A:*.* C: (17) 下列DOS命令中,有错误的是 ATYPE AAB.FOR%26gt;PRN BTYPE ?AB.FOR CCOPY *.C PRN DCOPY CON PRN (18) 设当前盘为C盘,在当前目录下有全部的DOS系统文件与批处理命令文件AB.BAT,且该批处理命令文件的内容为 FORMAT A:/4 MD XYZ CD XYZ RD XYZ MD XYZ 如果在1.2软盘驱动器A中插入一张360K容量的软盘片,执行批自理命令文件AB.BAT后,结果A盘的目录结构是 A根目录 B根目录-子目录XYZ-子目录XYZ C根目录 子目录XYZ 子目录XYZ D根目录-子目录XYZ (19) 下列带有通配符的文件名,能代表文件ABC.FOR的是 A*BC.? BA?.* C?BC.* D?.? (20) 设当前盘为C盘,且C盘上含有子目录DOS,A盘为只有根目录的启动盘(根目录下只有三个DOS系统文件与扩展名为. C的文件)。下列命令组中的两个命令从效果上可以认为等价的是 ADEL DOS与RD DOS BFORMAT A:与DEL A:*.* CFORMAT A: /S与DEL A:*.? DCOPY A:F1 F2与REN A:F1 F2 (21) 设a、b和c都是int型变量,且a=3,b=4,c=5,则下面的表达式中,值为0的表达式是 Aa%26amp;%26amp;b Ba%26lt;=b Ca|b+c%26amp;%26amp;b-c D!(a(22) 请读程序片段: int i=65536; printf(%dn,i); 上面程序片段的输出结果是 A65536 B0 C有语法错误,无输出结果 D-1 (23) 设ch是char型变量,其值为A,且有下面的表达式: ch=(ch%26gt;=A%26amp;%26amp;ch%26lt;=Z)?(ch+32):ch 上面表达式的值是 AA Ba CZ Dz (24) 若x和y都是int型变量,x=100,y=200,且有下面的程序片段: printf(%d,(x,y); 上面程序片段的输出结果是 A200 B100 C100 200 D输出格式符不够,输出不确定的值 (25) 下面各语句行中,能正确进行赋字符串操作的语句行是 Achar st45=ABCDE; Bchar s5=A,B,C,D,E; Cchar *s; s=ABCDE; Dchar *s; scanf(%s,s); (26) 若k是int型变量,且有下面的程序片段: k=-3 if(k%26lt;=0) printf(#) else printf(%26amp;%26amp;%26amp;%26amp;); 上面程序片段的输出结果是 A# B%26amp;%26amp;%26amp;%26amp; C#%26amp;%26amp;%26amp;%26amp; D有语法错误,无输出结果 (27) 若x是int型变量,且有下面的程序片段: for(x=3; x%26lt;6; x+) printf(x%2)?(*%d):(#%dn),x); 上面程序片段的输出结果是 A*3 B#3 C#3 D*3#4 #4 *4 *4#5 *5 *5 #5 (28) 请读程序: #include f(char *s) char *p=s; while( *p!=0) p+; return(p-s); main() printf(%dn,f(ABCDEF); 上面程序的输出结果是 A3 B6 C8 D0 (29) 请读程序: #include main() int a; float b, c; scanf(-?O,%26amp;a,%26amp;b,%26amp;C; printf(na=%d, b=%f, c=%fn, a, b, C; 若运行时从键盘上输入9876543210(表示回车),则上面程序的输出结果是 Aa=98, b=765, c=4321 Ba=10, b=432, c=8765 Ca=98, b=765.000000, c=4321.000000 Da=98, b=765.0, c=4321.0(30) 请读程序: #include main() int n2, i, j, k; for(i=0;i%26lt;2;i+) ni=0; k=2 for(i=0;ifor(j=0;jprintf(%dn,nk); 上面程序的输出结果是 A不确定的值 B3 C2 D1 (31) 请读程序片段: char str=ABCD, *p=str; printf(%dn,*(p+4); 上面程序的输出结果是 A68 B0 C字符D的地址 D不确定的值 (32) 请读程序片段: #include main() int a, b; for(a=1;b=1;a%26lt;=100;a+) if(b%26gt;=20) break; if(b%3=1) b+=3; continue; b-=5; printf(%dn,a); 上面程序的输出结果是 A7 B8 C9 D10 (33) 若要用下面的程序片段使指针变量p指向一个存储整型变量的动态存储单元: int *p; p=_ malloc( sizeof(int); 则应填入 Aint Binst * C(*int) D(int *) (34) 请读程序片段(字符串内没有空格): printf(%dn,strlen(ATSn0121); 上面程序片段的输出结果是 A11 B10 C9 D8 (35) 请读程序: #include #include main() char*s1=AbCdEf, *s2=aB; s1+; s2+; printf(%dn,strcmp(s1,s2); 上面程序的输出结果是 A正数 B负数 C零 D不确定的值 (36) 请读程序: #include func( int a, int B int c; c=a+b; return c; main() int x=6, y=7, z=8, r; r=func( x-,y=,x+y),z-); printf(%dn,r); 上面程序的输出结果是 A11 B20 C21 D31 (37) 请读程序: #include int a=2,4,6,8; main() int i; int *p=a; for(i=0;i%26lt;4;i+) ai=*p+; printf(%dn,a2); 上面程序的输出结果是 A6 B8 C4 D2(38) 请读程序: #include char fun(char *C if( *c%26lt;=Z %26amp;%26amp; *c%26gt;=A) *c-=A-a; return *c; main() char s81, *p=s; gets(s); while(*p) *p=fun(p); putchar(*p); p+; putchar(n); 若运行时从键盘上输入OPEN THE DOOR(表示回车),则上面程序的输出结果是 AoPEN tHE door Bopen the door COPEN THE DOOR DOpen The Door (39) 请读程序: #include void fun( int *s) static int j=0; do sj+=sj+1; while(+j%26lt;2); main() int k, a10=1,2,3,4,5; for(k=1; k%26lt;3; k+) fun(a); for(k=0; k%26lt;5; k+) printf(%d, ak); 上面程序的输出结果是 A34756 B23445 C35743 D12345 (40) 请读程序: #include #define SUB(X,Y) (X)*Y main() int a=3, b=4; printf(%d, SUB(a+, b+); 上面程序的输出结果是 A12 B15 C16 D20 (41) 请读程序: #include main() int mun=0; while(num%26lt;=2) num+; printf(%dn,num); 上面程序的输出结果是 A1 B1 C1 D1 2 2 2 3 3 4 (42) 请读程序: #include main() float x,y; scan(%f,%26amp;x); if(x%26lt;0.0) y=0.0 else if(x%26lt;5.0)%26amp;%26amp;(x!=2.0) y=1.0/(x+2.0); else if (x%26lt;10.0) y=1.0/x; else y=10.0; printf(%fn,y); 若运行时从键盘上输入2.0(表示回车),则上面程序的输出结果是 A0.000000 B0.250000 C0.500000 D1.000000 (43) 请读程序: #include main() int x=1, y=0, a=0, b=0; switch(x) case 1: switch(y) case 0: a+;break; case 1: b+;break; case 2: a+; b+; break; printf(a=%d, b=%dn,a,B; 上面程序的输出结果是 Aa=2, b=1 Ba=1, b=1 Ca=1, b=0 Da=2, b=2 (44) 若有下面的程序片段: int a12=0, *p3, *pp, i; for(i=0; i%26lt;3; i+) pi=%26amp;ai*4; pp=p; 则对数组元素的错误引用是 App01 Ba10 Cp31 D*(*(p+2)+2)(45) 请读程序: #include #include main() float x,y,z; scan(%f%f,%26amp;x,%26amp;y); z=x/y; while(1) if(fabs(z)%26gt;1.0) x=y; y=z; z=x/y; else break printf(%fn,y); 若运行时从键盘上输入3.6 2.4(表示回车),则输出的结果是 A1.500000 B1.600000 C2.000000 D2.400000 (46) 请读程序: #include f(in b, int n) int i, r; r=1; for(i=0; i%26lt;=n; i+) r=r*bi; return r; main() int x, a= 2,3,4,5,6,7,8,9; x=f(a, 3); printf(%dn,x); 上面程序的输出结果是 A720 B120 C24 D6 (47) 请读程序: #include #include void fun( char *s) char a10; strcpy( a, STRING); s=a; main() char *p; fun(p); x=f(a, 3); printf(%sn,p); 上面程序的输出结果是(表示空格) ASTRING BSTRING CSTRING D不确定的值 (48) 若已建立下面的链表结构,指针p、s分别指向图中所示的结点,则不能将s所指的结点插入到链表末尾的语句组是 As-%26gt;next=NULL; p=p-%26gt;next; p-%26gt;next=s; Bp=p-%26gt;next; s-%26gt;next=p-%26gt;next; p-%26gt;next=s; Cp=p-%26gt;next; s-%26gt;next=p; p-%26gt;next=s; Dp=(*p).next; (*s).next=(*p).next; (*p).next=s; (49) 请读程序: #include void fun(float *pl, float *p2, float *s) s=( float * )calloc( 1, sizeof(float); *s=*p1+ *(p2+); main() float a2=1.1, 2.2, b2=10.0, 20.0, *s=a; fun(a, b, s) printf(%fn,*s); 上面程序的输出结果是 A11.100000 B12.100000 C21.100000 D1.100000(50) 请读程序: #include #include void fun( char *w, int m) char s, *p1, *p2; p1=w; p2=w+m-1; while (p1 s=*p1+; *p1=*p2-; *p2=s; main() char a=ABCDEFG; fun( a, strlen(a); puts(a); 上面程序的输出结果是 AGFEDCBA BAGADAGA CAGAAGAG DGAGGAGA 二、填空题(每空2分,共40分) 请将每空的正确答案写在答题卡上【1】-【20】序号后的横线上,答在试卷上不得分。 (1) DOS命令分为内部命令与外部命令,XCOPY命令是 【1】 命令 (2) 为了列出当前盘当前目录中所有第三个字符为C的文件名的有关信息,应该用命令 【2】 。 (3) 设当前盘为A盘,当前目录为XY,A盘上的一个文件QR.C在当前目录下的子目录W中。现已将A盘的当前目录改为DXY,当前盘改为C盘,如需指定A盘上该文件应写成 【3】 。 (4) 用十六进制给存储器中的字节地址进行编号,其地址编号是从0000到FFFF,则该存储器的容量是【4】KB。 (5) 设有两个八位二进制数00010101与01000111相加,其结果的十进制表示为 【5】 。 (6) 数学式子 写成C语言表达式是 【6】 。 (7) 下面程序的输出结果是 【7】 。 #include main() static char b=Goodbye; char *chp=%26amp;b7; while( -chp %26gt;=%26amp;b0) putchar( *chp); putchar(n); (8) 下面程序的输出结果是 【8】 。 #include void as( int x, int y, int *cp, int *dp) *cp=x+y; *dp=x-y; main() int a=4, b=3, c, d; as( a, b, %26amp;c, %26amp;d); printf( %d %dn, c, d); (9) 请读程序: #include main( int argc, char *argv) int i; printf( %dn, argc); for( i=0; i%26lt;=argc+1; i+) printf( %s , argvi); printf(n); 若上面的程序编译、连接后生成可执行文件ABC.EXE,则输入以下命令行 abc file1 file2(表示回车) 程序执行后的输出结果是 【9】 。 (10) 条件“20(11) 设二进制数a是00101101,若想通过异或运算ab使a的高4位取反,低4位不变,则二进制数b应是 【11】 。 (12) 若有以下说明和定义语句,则变量w在内存中所占的字节数是 【12】 。 union aa float x, y; char c6; ; struct st union aa v; float w5; double ave; w; (13) 下面程序的输出结果是 【13】 。 #include #define N 5 fun( char *s, char a, int n) int j; *s=a; j=n; while( ereturn j; main() char sN+1; int k, p; for( k=1; k%26lt;=N; k+) sk=A+k+1; printf( %dn, fun(s, E, N); (14) 下面程序的输出结果是 【14】 。 #include void fun( char *a1, char *a2, int n) int k; for( k=0; ka2k=( a1k-A-3+26)%26amp;+A; a2n=0; main() char s15=ABCD, s25; fun( s1, s2, 4); puts( s2); (15) 下面的findmax函数返回数组s中最大元素的下标,数组中元素的个数由t传入,请填空。 findmax( int s, int t) int k, p; for( p=0, k=p; pif( sp%26gt;sk) 【15】 。 return k; (16) 下面程序的输出结果是 【16】 。 #include fun( int x) int p; if( x=0|x=1) return(3); p=x-fun( x-2); return p; main() printf( %dn, fun(9); (17) 下面程序的输出结果是 【17】 。 #include funa( int a, int b) return a+b; funb( int a, int b) return a-b; sub( int (*t)(), int x, int y) return(*t)( x,y); main() int x, (*p)(); p=funa; x=sub(p,9,3); x+=sub(funb, 8, 3); printf(%dn, x); (18) 下面程序的输出结果是 【18】 。 #include main() char *p= BOOL, OPK, H, SP; int i; for(i=3; i%26gt;=0; i-,i-) printf( %c, *pi); printf(n); (19) 为
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 现场应急处置方案编制实施指南
- 睡眠质量监测评估指南
- 产后骨盆修复护理标准
- 面诊望闻问切四诊合参操作流程
- 高浓度复合肥采购验收与使用标准
- 辣椒连作障碍综合防治方案
- 季节养生膳食制作手册
- 飞机播种作业技术标准质量验收规范
- 冷鲜肉冷链存储技术标准
- 护士资格证外科护理试题及解析
- YY/T 0076-1992金属制件的镀层分类 技术条件
- SB/T 10479-2008饭店业星级侍酒师技术条件
- 2023年沅陵县水利系统事业单位招聘笔试题库及答案
- GB/T 17492-2019工业用金属丝编织网技术要求和检验
- GB/T 13916-2013冲压件形状和位置未注公差
- 部编四年级下册道德与法治第二单元课件
- 化验室安全培训课件
- 最新合同法课件
- 纲要(21版):第八章 中华人民共和国的成立与中国社会主义建设道路的探索
- HJ1237-2021标准培训考核试题
- 分子生物学实验课件:6重组克隆子的鉴定-菌落PCR
评论
0/150
提交评论