




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、温故而知新,下笔如有神全国计算机二级C语言考试专项练习题2及答案一、选择题(1)-(40)每小题1分,(41)-(50)每小题2分,共60分)下列各题 A) 、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。(1) 一个完整的计算机系统包括A主机、键盘与显示器B计算机与外部设备C硬件系统与软件系统D系统软件与应用软件(2) 十六进制数1000转换成十进制数是A4096B1024C2048D8192(3) 十进制数269转换成十六进制数是A10EB10DC10CD10B(4) 如果用八位二进制补码表示带符号的定点整数,则能表示的十进制数的范
2、围是A-127到+127B-128到+128C-127到+128D-128到+127(5) 下列设备中,既可作为输入设备又可作为输出设备的是A鼠标器B打印机C键盘D磁盘驱动器(6) 下列各叙述中,正确的是A正数十进制原码的补码是原码本身B所有的十进制小数都能准确地转换为有限位二进制小数C汉字的计算机内码就是国标码D存储器具有记忆能力,其中的信息任何时候都不会丢失(7) 在下列操作中,能导致DOS系统重新启动但不进行系统自检的是A加电开机B按+C按+D按RESET按钮(8) 如果给定一个带有通配符的文件名F*.?,则在下列各文件中,它能代表的文件名是AFA.EXEBF.CCEF.CDFABC.C
3、OM(9) DOS系统启动后,下列文件中常驻内存的是A*.COMBFORMAT.COMCAUTOEXEC.BATDCOMMAND.COM(10) 设A盘的目录结构为(画方框的为目录)如果当前盘为C盘,A盘的当前目录为D2,则下列对A盘上文件QR.C的指定中,合法的是AD2D4QR.CBD4QR.CCA:D4QR.CDA:D2D4QR.C(11) 为了要将A盘当前目录(不是根目录)中所有扩展名为.C的文件同名复制到A痰哪柯糪USER中,正确的命令是ACOPY A:*.C USER*.CBCOPY A:*.C A:USERCCOPY A:*.C A:USERDCOPY A:*.C A:USER*.
4、C(12) 为了在屏幕上一次显示当前盘当前目录下的所有扩展名为.TXT的文件内容,下列命令中正确的是ATYPE *.TXTBTYPE *.TXT CONCCOPY *.TXT>CONDCOPY *.TXT CON(13) 设当前盘为A盘,为了将当前盘当前目录下的文件AB1.TXT连接在C盘根目录下的文件XYZ.TXT的后面,正确的命令是ACOPY C:XYZ.TXT+AB1.TXTBCOPY AB1.TXT>>C:XYZ.TXTCTYPE AB1.TXT>C:XYZ.TXTDCOPY AB1.TXT+C:XYZ.TXT>C:XYZ.TXT(14) 设A盘为启动盘,
5、其目录结构为(画方框的为目录)其中文件AUTOEXEC.BAT的内容为MD XYZCD DOSUSER则由A盘启动成功后,A盘的当前目录是ADOSUSERBXYZCDDOS(15) 下列DOS命令中为内部命令的是ACOMPBPATHCPRINTDFORMAT(16) 设当前盘为C盘,所用的所有软盘已格式化且容量相同,则下列DOS命令中错误的是ADISKCOPY A: C:BDISKCOPY A: A:CCOPY A:*.*DCOPY A:*.* C:(17) 下列DOS命令中,有错误的是ATYPE AAB.FOR>PRNBTYPE ?AB.FORCCOPY *.C PRNDCOPY CO
6、N PRN(18) 设当前盘为C盘,在当前目录下有全部的DOS系统文件与批处理命令文件AB.BAT,且该批处理命令文件的内容为FORMAT A:/4MD XYZCD XYZRD XYZMD XYZ如果在1.2软盘驱动器A中插入一张360K容量的软盘片,执行批自理命令文件AB.BAT后,结果A盘的目录结构是A根目录B根目录-子目录XYZ-子目录XYZC根目录 子目录XYZ 子目录XYZD根目录-子目录XYZ(19) 下列带有通配符的文件名,能代表文件ABC.FOR的是A*BC.?BA?.*C?BC.*D?.?(20) 设当前盘为C盘,且C盘上含有子目录DOS,A盘为只有根目录的启动盘(根目录下只
7、有三个DOS系统文件与扩展名为. C的文件)。下列命令组中的两个命令从效果上可以认为等价的是ADEL DOS与RD DOSBFORMAT 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&&bBa<=bCa|b+c&&b-cD!(a(22) 请读程序片段:int i=65536; printf("%dn",i);上面程序片段的输出结果是A65536B0C有语法错误
8、,无输出结果D-1(23) 设ch是char型变量,其值为A,且有下面的表达式:ch=(ch>=A&&ch<=Z)?(ch+32):ch上面表达式的值是AABaCZDz(24) 若x和y都是int型变量,x=100,y=200,且有下面的程序片段:printf("%d",(x,y);上面程序片段的输出结果是A200B100C100 200D输出格式符不够,输出不确定的值(25) 下面各语句行中,能正确进行赋字符串操作的语句行是Achar st45="ABCDE"Bchar s5=A,B,C,D,E;Cchar *s; s=&q
9、uot;ABCDE"Dchar *s; scanf("%s",s);(26) 若k是int型变量,且有下面的程序片段:k=-3if(k<=0) printf("#")else printf("&&&&");上面程序片段的输出结果是A#B&&&&C#&&&&D有语法错误,无输出结果(27) 若x是int型变量,且有下面的程序片段:for(x=3; x<6; x+) printf(x%2)?("*%d"
10、):("#%dn"),x);上面程序片段的输出结果是A*3B#3C#3D*3#4#4 *4 *4#5 *5*5 #5(28) 请读程序:#includef(char *s) char *p=s;while( *p!=0) p+;return(p-s);main() printf("%dn",f("ABCDEF");上面程序的输出结果是A3B6C8D0(29) 请读程序:#includemain() int a; float b, c;scanf("-?O",&a,&b,&C;printf(&
11、quot;na=%d, b=%f, c=%fn", a, b,C;若运行时从键盘上输入9876543210(表示回车),则上面程序的输出结果是Aa=98, b=765, c=4321Ba=10, b=432, c=8765Ca=98, b=765.000000, c=4321.000000Da=98, b=765.0, c=4321.0(30) 请读程序:#includemain() int n2, i, j, k;for(i=0;i<2;i+) ni=0;k=2for(i=0;ifor(j=0;jprintf("%dn",nk);上面程序的输出结果是A不确
12、定的值B3C2D1(31) 请读程序片段:char str="ABCD", *p=str;printf("%dn",*(p+4);上面程序的输出结果是A68B0C字符"D"的地址D不确定的值(32) 请读程序片段:#includemain() int a, b;for(a=1;b=1;a<=100;a+) if(b>=20) break;if(b%3=1)b+=3;continue;b-=5;printf("%dn",a);上面程序的输出结果是A7B8C9D10(33) 若要用下面的程序片段使指针变量p
13、指向一个存储整型变量的报考存储单元:int *p;p=_ malloc( sizeof(int);则应填入AintBinst *C(*int)D(int *)(34) 请读程序片段(字符串内没有空格):printf("%dn",strlen("ATSn0121");上面程序片段的输出结果是A11B10C9D8(35) 请读程序:#include#includemain() char*s1="AbCdEf", *s2="aB"s1+; s2+;printf("%dn",strcmp(s1,s2);
14、上面程序的输出结果是A正数B负数C零D不确定的值(36) 请读程序:#includefunc( int a, intB 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);上面程序的输出结果是A11B20C21D31(37) 请读程序:#includeint a=2,4,6,8;main() int i;int *p=a;for(i=0;i<4;i+) ai=*p+;printf("%dn",a2);上面程序的输出结果是A6B
15、8C4D2(38) 请读程序:#includechar fun(char *C if( *c<=Z && *c>=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 doorBopen the doorCOPEN THE DOORDOpen The Door(39) 请读程序:#includevoid fun( int *s
16、) static int j=0;dosj+=sj+1;while(+j<2);main() int k, a10=1,2,3,4,5;for(k=1; k<3; k+) fun(a);for(k=0; k<5; k+) printf("%d", ak);上面程序的输出结果是A34756B23445C35743D12345(40) 请读程序:#include#define SUB(X,Y) (X)*Ymain() int a=3, b=4;printf("%d", SUB(a+, b+);上面程序的输出结果是A12B15C16D20(4
17、1) 请读程序:#includemain() int mun=0;while(num<=2) num+; printf("%dn",num);上面程序的输出结果是A1B1C1D12 2 23 34(42) 请读程序:#includemain() float x,y;scan("%f",&x);if(x<0.0) y=0.0else if(x<5.0)&&(x!=2.0)y=1.0/(x+2.0);else if (x<10.0) y=1.0/x;else y=10.0;printf("%fn&qu
18、ot;,y);若运行时从键盘上输入2.0(表示回车),则上面程序的输出结果是A0.000000B0.250000C0.500000D1.000000(43) 请读程序:#includemain() 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=1Ba=1, b=1Ca=1, b=0Da=2, b=2(44) 若有下面的程序片段:
19、int a12=0, *p3, *pp, i;for(i=0; i<3; i+)pi=&ai*4;pp=p;则对数组元素的错误引用是App01Ba10Cp31D*(*(p+2)+2)(45) 请读程序:#include#includemain() float x,y,z;scan("%f%f",&x,&y);z=x/y;while(1) if(fabs(z)>1.0) x=y; y=z; z=x/y;else breakprintf("%fn",y);若运行时从键盘上输入3.6 2.4(表示回车),则输出的结果是A1.
20、500000B1.600000C2.000000D2.400000(46) 请读程序:#includef(in b, int n) int i, r;r=1;for(i=0; i<=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);上面程序的输出结果是A720B120C24D6(47) 请读程序:#include#includevoid fun( char *s) char a10;strcpy( a, "STRING");s=a;ma
21、in() char *p;fun(p);x=f(a, 3);printf("%sn",p);上面程序的输出结果是(表示空格)ASTRINGBSTRINGCSTRINGD不确定的值(48) 若已建立下面的链表结构,指针p、s分别指向图中所示的结点,则不能将s所指的结点插入到链表末尾的语句组是As->next=NULL; p=p->next; p->next=s;Bp=p->next; s->next=p->next; p->next=s;Cp=p->next; s->next=p; p->next=s;Dp=(*p)
22、.next; (*s).next=(*p).next; (*p).next=s;(49) 请读程序:#includevoid 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.100000B12.100000C21.100000D1.100000(50) 请读程序:#inc
23、lude#includevoid 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);上面程序的输出结果是AGFEDCBABAGADAGACAGAAGAGDGAGGAGA二、填空题(每空2分,共40分)请将每空的正确答案写在答题卡上【1】-【20】序号后的横线上,答在试卷上不得分。(1) DOS命令分为内部命令与外部命令,XCOPY命令是
24、;【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】
25、;。(6) 数学式子 写成C语言表达式是 【6】 。(7) 下面程序的输出结果是 【7】 。#includemain() static char b="Goodbye"char *chp=&b7;while( -chp >=&b0) putchar( *chp);putchar(n);(8) 下面程序的输出结果是 【8】 。#includevoid as(
26、;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, &c, &d);printf( %d %dn", c, d);(9) 请读程序:#includemain( int argc, char *ar
27、gv) int i;printf( %dn", argc);for( i=0; i<=argc+1; i+) printf( "%s ", argvi);printf("n");若上面的程序编译、连接后生成可执行文件ABC.EXE,则输入以下命令行abc file1 file2(表示回车)程序执行后的输出结果是 【9】 。(10) 条件“20(11) 设二进制数a是001
28、01101,若想通过异或运算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】
29、0;。#include #define N 5fun( 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<=N; k+)sk=A+k+1;printf( "%dn", fun(s, E,
30、0;N);(14) 下面程序的输出结果是 【14】 。#includevoid fun( char *a1, char *a2, int n) int k;for( k=0; ka2k=( a1k-A-3+26)&+A;a2n=0;main() char s15="ABCD", s25;fun( s1, s2, 4);puts( s2);(15)
31、160;下面的findmax函数返回数组s中元素的下标,数组中元素的个数由t传入,请填空。findmax( int s, int t) int k, p;for( p=0, k=p; pif( sp>sk) 【15】 。return k; (16) 下面程序的输出结果是 【16】 。#include fun( int x) int p;if( x=0|
32、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 (
33、*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&
34、quot;, "H", "SP"int i;for(i=3; i>=0; i-,i-) printf( "%c", *pi);printf("n");(19) 为了建立如图所示的存储结构(即每个结点含两个域,data是数据域,next是向结点的指针域),请填空。 data next struct link char data; 【19】
35、160; node;(20) 下面的程序用来统计文件中字符的个数,请填空。#include main() FILE *fp;long num=0;if( fp=fopen("fname.dat","r")=NULL) printf( "Cant open file! n"); exit(0);while 【20】 fgetc(fp); num+;printf("num=%dn", num);fclose(fp);参考答案一选择题(1)(40)题每
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 资源重组对经济发展的推动作用试题及答案
- 北京市石景山区2025届高三一模考试数学试题 含解析
- 2025届江苏省南京市、盐城市高三下学期3月一模政治试题 含解析
- 公司火灾扑救应急预案(3篇)
- 计算机考试备考工具试题及答案
- 森林火灾应急扑救预案(3篇)
- 2025年国际市场中的战略风险分析试题及答案
- 开源社区参与与贡献试题及答案
- 消防火灾应急预案是什么(3篇)
- 行政法学考试难点试题及答案揭秘
- 小学生古诗词知识竞赛题(附答案)
- 电装 集团禁限用工艺-2013版
- 基于激光点云数据的三维模型构建
- 乔木栽植施工方案
- 《新时代劳动教育》新时代劳动价值观
- 6人小品《没有学习的人不伤心》台词完整版
- 直述句与转述句互换
- 物业公司投标文件资料
- “循环经济关键技术与装备”重点专项2023年度项目申报指南
- 第四讲 坚持以人民为中心PPT习概论2023优化版教学课件
- 中移L2认证(集团)备考题库(浓缩版)
评论
0/150
提交评论