99年4月全国计算机等级考试二级笔试试卷 基础部分和C语言程序设计
(考试时间120分钟,满分100分) 一、选择题((1)-(40)每个选项1分,(41)-(50)每个选项2分,共60分) 下列各题A)、B)、C)、D)四个有选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。 (1)微型计算机的性能主要取决于 A)内存 B)中央处理器 C)硬盘 D)显示卡 (2)有一个数值152,它与十六进制数6A相等,那么该数值是 A)二进制数 B)八进制数 C)十进制数 D)四进制数 (3)使用超大规模集成电路制造的计算机应该归属于 A)第一代 B)第二代 C)第三代 D)第四代 (4)已知英文字母a的ASCII代码值是十六进制数61H,那字母子b的ASCII代码值是 A)34H B)54H C)24H D)64H (5)一片存储容量是1.44MB的软磁盘,可以存储大约140万个 A)ASCII字符 B)中文字符 C)磁盘文件 D)子目录 (6)在MS-DOS环境中同时按下[Ctrl]和[Break]两个键,其作用是 A)终止当前操作 B)暂停当前操作 C)关机 D)热启动 (7)将二进制数10000001转换为十进制数应该是 A)127 B)129 C)126 D)128 (8)磁盘处于写保护状态,那么磁盘中的数据A)不能读出,不能删改,也不能写入新数据B)可以读出,不能删改,也不能写入新数据C)可以读出,可以删改,但不能写入新数据D)可以读出,不能删改,但可以写入新数据 (9)微型机启动后,DOS提示符是C:\>,现提示符变为C:\USER>,则说明刚执行过命令 A)PROMPT B)PROMPT USER C)PROMPT $P$G D)CD USER (10)MS-DOS文件系统目录的组织形式属于 A)关系型结构 B)网络型结构 C)树型结构 D)直线型结构 (11)应用软件系统TH的总容量大约1MB,其主要程序文件存放在C:\TH 目录中,而数据文件存放在C:\TH\DATA目录中。如要将它们完整地复制到A盘,应该使用的命令是 A)XCOPY C:\TH A:\ B)XCOPY C:\TH A:\ /S C) XCOPY C:\TH A:\ /M D)XCOPY C:\TH A:\ /P (12)执行COPY A.+B.TXT这个DOS命令后,得到的磁盘文件是 A)A.TXT B)B.TXT C)AB.TXT D)A+B.TXT (13)在WINDOWS中,将一个应用程序窗口最小化之后,该应用程序 A)仍在后台运行 B)暂时停止运行 C)完全停止运行 D)出错 (14)CD-ROM属于 A)感觉媒体 B)表示媒体 C)表现媒体 D)存储媒体 (15)在因特网(Internet)中电子公告板的缩写是 A)FTP B)WWW C)BBS D)E-mail (16)设x、y、z和k都是int型变量,则执行表达式:x=(y=4,z=16,k=32)后,x的值为 A)4 B)16 C)32 D)52 (17)设有如下的变量定义: int i=8,k,a,b; unsinged long w=5 double x=1,42,y=5.2 则以下符合C语言语法的表达式是 A)a+=a-=(b=4)*(a=3) B)x%(-3); C)a=a*3=2 D)y=float(i) (18)假定有以下变量定义: int k=7,x=12; 则能使值为3的表达式是 A)x%=(k%=5) B)x%=(k-k%5) C)x%=k-k%5 D)(x%=k)-(k%=5) (19)以下叙述中正确的是 A)输入项可以是一个实型常量,如 scanf("%f,"3.5); B)只有格式控制,没有输入项,也能正确输入数据到内存,例如: scanf("a=%d,b=%d"); C)当输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如: scanf("%4.2f",&f); D)当输入数据时,必须指明变量地址,例如: scanf("%f",&f); (20)设x和y均为int型变量,则以下语句:x+=y;y=x-y;x-=y;的功能是 A)把x和y按从大到小排列 B)把x和y按从小到大排列 C)无确定结果 D)交换x和y中的值 (21)以下程序的输出结果是 A)10 10 B)12 12 C)11 10 D)11 13main() { int a=12,b=12; printf("%d %d\n",--a,++b);} (22)以下程序运行后,输出结果是 A)cde B)字符c的ASCII码值 C)字符c的地址 D)出错 main() { char *s="abcde"; s+=2; printf("%ld\n",s); } (23)以下程序输出结果是 A)7 B)6 C)5 D)4 main() { int m=5; if(m++>5)printf("%d\n",m); else printf("%d\n",m--); } (24)当a=1,b=3,c=5,d=4时,执行下面一段程序后,x的值为 A)1 B)2 C)3 D)6 if(a<b) if(c<d) x=1; else if(a<c) if(b<d) x=2; else x=3; else x=3; else x=6; else x=7; (25)在执行以下程序时,如果从键盘上输入:ABCdef<回车>,则输出为 A)ABCdef B)abcDEF C)abc D)DEF #include<stdio.h> main( ) { char ch;while((ch=getchar( ))!='\n'){ if(ch>='A' && ch<='Z')ch=ch+32; else if(ch>='a' && ch<'z')ch=ch+32; printf("%c",ch);}printf("\n");}(26)下面能正确进行字符串赋值操作的语句是 A)char s[5]={"ABCDE"}; B)char s[5]={'A'、'B'、'C'、'D'、'E'}; C) char *s;s="ABCDEF"; D)char *s;scanf("%s",s); (27)当执行以下程序段时 A)循环体将执行一次 B)循环体将执行两次 C)循环体将执行无限次 D)系统将提示有语法错误 x=-1; do { x=x*x;} while(!x); (28)执行以下程序后,输出的结果是 A)-1 B)1 C)8 D)0 main() { int y=10; do {y--;} while(--y); printf("%d\n",y--); } (29)在下列选项中,没有构成死循环的程序段是A) int i=100 while (1) {i=i%100+1; if(i>100)break; }B) for(;;);C)int k=1000; do{++k} while (k>=1000)D)int s=36 While(s);--s; (30)执行语句:for(i=1;i++<4;)后;变量i的值是 A)3 B)4 C)5 D)不定 (31)以下程序运行后,如果从键盘上输入ABCDE<回车>,则输出结果为 A)8 B)7 C)6 D)5 #include<stdio.h> #include<string.h> func(char str[ ] ) { int num =0; while(*(str+num!='\0') num+ +; return(num); } main( ) {char str[10],*p=str; gets(p); printf("%d\n",func(p)); } (32)运行以下程序后,如果从键盘上输入china#<回车>,则输出结果为 A)2,0 B)5,0 C)5,5 D)2,5 #include<stdio.h> main( ){int v1=0,v2=0; char ch; while((ch=getchar( ))!='#') switch(ch) {case 'a'; case 'h'; default; v1+ +; case '0'; v2+ ;+ }printf("%d,%d\n",v1,v2);} (33)若以下程序所生成的可执行文件名不;当打入以下命令执行该程序时; FILE1 CHINA BEIJING SHANGHAI 程序的输出结果是 A)CHINA BEIJIANG SHANGHAI B)FILE1 CHINA BEIJING C)C B S D)F C B main(int argc,char *argv[]) { while(argc-->0) { ++argv; printf("%s",*argv);}} (34)下面程序的运行结果是 A)12ba56 B)6521 C)6 D)62 main() { char ch[7]={"65ab21"}; int i,s =0 for(i=0;ch[i]>='0'&&ch[i]<'9';i+=2) s=10*s+ch[i]-'0' printf("%d\n",s); } (35)运行下面的程序,如果从键盘上输入: ab <回车> c <回车> def <回车>则输出结果为 A) a B)a C)ab D)avcdef b b c c c d d d e f #include<stdio.h> #define N 6 main( ) { char c[N]; int i=o for( ;i<N;c[i]=getchar(),i++) for( i=0;i<N;i++) putchar(c[i]); printf("\n"); } (36)以下程序运行后输出结果是 A)8 B)7 C)6 D)5 #include<stdio.h> ss(char *s) { char *p=s;while(*p)p++; return(p-s);}main( ){ char *a="abded"; int i; i=ss(a);printf("%d\n",i);} (37)以下程序运行后,输出结果是 A)8,15 B)8,16 C)8,17 D)8,8 func(int a,int b) { static int m=0,i=2; i+=m+1; m=i+a+b return(m);}main() { int k=4,m=1,p; p=func(k,m);printf("%d,",p);p=func(k,m);printf("%d\n",p);} (38)以下程序运行后,输出结果是 A)49.5 B)9.5 C)22.0 D)45.0 #include<stdio.h> #define PT 5.5 #define S(x) PT*x*x main( ) { int a=1,b=2;printf("%4.1f\n",S(a+b))} (39)以下程序运行后,输出结果是 A)ABCDEFG B)CDG C)abcdefgh D)abCDefGh main( ) { static char a[]="ABCDEFGH",b[]="abCDefGh"; char p1,p2; int k; p1=a; p2=b; for(k=0;k<-7;k++) if(*(p1+k)= =*(p2+k)) printf("%c",*(p1+k)); printf("\n"); } (40)以下程序执行后,a的值是 A)4 B)1 C)0 D)运行时出错,无定值 mian() { int a,k=4,m=6,*p1=&k,*p2=&m; a=p1= =&m; printf("%d\n",a); } (41)以下程序运行后,输出结果是A)84 B)99 C)95 D)44int d=1;fun(int p) { int d=5; d+=p++;printf("%d",d);}main() {int a=3; fun(a); d+=a++;printf("%d\n",d);} (42)以下程序运行后,输出结果是A)6385 B)22 C)33 D)693825main(){char ch[2][5]={"693","825"},*p[2]; int i,j,s=0;for(i=0;i<2;i++) p[i]=ch[i];for(i=0;i<2,i++) for(j=0;p[i][j]>='0' && p[i][j]<='9';j=2) s=10*s+p[i][j]='0'printf("%d\n",s);} (43)以下程序运行后,输出结果是 A)1 B)7 C)9 D)11fut(int **s,int p[2][3]){**s=p[1][1];} main() {int a[2][3]={1,3,5,7,9,11},*p; p=(int *)malloc(sizeof(int)); fut(&p,a); printf("%d\n",*p);} (44)设有如下定义: int a=1,b=2,c=3,d=4,m=2,n=2; 则执行表达式:(m=a>b)&&(n=c>d)后,n的值为A)1 B)2 C)3 D)0(45)在执行以下程序时,为了使输出结果为,t=4则给a和b输入的值应满足的条件是A)a>b B)a<b<0 C)0<a<b D)0>a>b main( ){ int s,t,a,b; scanf("%d,%d",&a,&b); s=1; t=1; if(a<0)s=s+1;if(a>b)t=s+1;else if(a= =b)t=5; else t=2*s;printf("t=%d\n",t);}(46)以下程序的输出结果是A)x=4 B)x=8 C)x=6 D)x=12main( ){ int i,j,x=0; for(i=0,i<2;i++) { x ++; for(j=0;j<3;j++) { if(j%2)continue; x++; } x++ } printf("x=%d\n",x);} (47)以下程序运行后,输出结果是 A)1234567 B)7654321 C)1711717 D)7177171 #include <stdio.h> #include <string.h> fun(char s w, int n) { char t,* s1,* s2;s1=w;s2=w+n-1;while(s1<s2){ t=*s1++; *s1=s2--; *s2=t;} } main() { char *p; fun(p,strlen(p)); puts(p); } (48)运行以下程序后,如果从键盘上输入65 14<回车>,则输出结果为 A)m=3 B)m=2 C)m=1 D)m=0 main ( ){int m,n; printf{"Enter m,n:"}; scanf("%d%d,&m,&n"); while(m!=n) {while(m>n)m-=n; while(n>m)n-=m; } printf("m=%d\n",m);} (49)以下程序运行后,如果从键盘上输入: book<回车> book<空格><回车> 则输出结果是 A)*8 B)#9 C)#6 D)*9 #include <string.h> main() {char a1[80],a2[80],*s1=a1,*s2=a2; gets(s1); gets(s2); if(!strcmp(s1,s2)) printf("*"); else printf("#"); printf("%d\n",strlen(strcat(s1,s2))) } A)10000 B)10010 C)00110 D)10100 main( ){ int y=18,i=0,j,a[8]; do { a[i]=y%2;i++; y=y\2; } while(y>1=1); for(j=i-1;j>=0;j--) printf("%d",a[j]); printf("\n") }
二、填空题(每空2分,共40分) 请将每空的正确答案写在答题卡 1 至 20 序号的横线上,答在试卷上不得分。 (1)DOS中的自动批处理文件的全名是 1 。 (2)在DOS启动盘中,除COMMAND.COM外,还有两个必备的系统文件,它们是MSDOS.SYS(或IBMDOS.COM)与 2 。 (3)在DOS下,要将当前目录中AB.TXT文件设置为只读属性,应该使用的完整命令行是 3 。 (4)在DOS下,要查看当前目录中所有批处理文件的总字节数,应该使用的完整命令行是 4 。 (5)计算机病毒除有破坏性、潜伏性和激发性外,还有一个最明显的特性是 5 。 (6)若想通过以下输入语句使a中存放字符串1234,b中存放字符5,则输入数据的形式应该是 6 。 . . . char a[10],b; scanf("a=%s b=%c",a,&b); . . . (7)下面程序的输出结果是 7 。 char b[]="ABCD"; main( ) { char *chp; for(chp=b; *chp; chp+=2) printf("%s",chp); printf("\n"); } (8)下面程序的输出结果是 8 。 #define MAX 3 int a[MAX]; main( ) { fun1( ); fun2(a); printf("\n");} fun1( ) { int k,t=0; for(k=0;k<MAX;k++,t++) a[k]=t+t; } fun2(int b[]) { int k; for(k=0;k<MAX;k++)printf("%d",*(b+k)) } (9)下面程序的输出是 9 。 main( ) {int a[10]={19,23,44,17,37,28,49,36},* p; p=a; printf("%d\n",(p+=3)[3]); } (10)下面程序的输出是 10 。 main( ) {int i=3,j=2 char *a="DCBA"; printf("%c%c\n",a[i],a[j]); } (11)以下函数的功能是:把两个整数指针所指的存储单元中的内容进行交换。请填空。 exchange(int *x, int *y) {int t; t=*y; y= 11 ; *x= 12 ; } (12)若有以下定义和语句,则sizeof(a)的值是13 ,而sizeof(b)的值是 14 。 struct { int day; char mouth; int year;}a;*b; b=&a; (13)以下fun函数的功能是:累加数组元素的值。n为数组中元素的个数。累加的和值放入x所指的存储单元中。请填空。 fun(int b [ ],int n,int *x) { int k, r=0; for(k=0;k<n;k++) r= 15 ; 16 =r; } (14)变量root有如图所示的存储结构,其中sp是指向字符串的指针域,next是指向该结构的指针域,data用以存放整型数。请填空,完成此结构的类型说明和变量root的定义。 sp next data root struct list { char * sp; 17 ; 18 ; (15)下面程序把从终端读入的10个整数以二进制的方式写到一个名为bi.dat 的新文件中。请填空。 #include<stdio.h> FILE *fp; main( ) { int i,j; if((fp=fopen( 19 ,"wb"))= =NULL)exit(0); for(i=0;i<10;i++ { scanf("%d",&j); fwrite(&j,sizeof(int),1, 20 ); } fclose(fp); }
与 或 标题 全文 关键字 以上全部
·国家级治脑病新药思维源 ·中藏药治疗脑病新突破 ·治类风湿,强直性脊柱炎 ·养肾·痛风·长寿 ·肝病泌尿脑萎缩新药介绍 ·强直性脊柱炎康复乐园 ·让中医辩证不孕不育 ·国医治股骨头坏死一绝 ·乙肝为何久治不愈? ·二千元垄断批发做老板 ·中医中药专治前列腺 ·治牛皮癣白癜风已成现实 ·专治痛风病的白衣天使 ·不孕不育的杏林奇葩 ·专卖店零售管理系统