1997年9月全国计算机等级考试二级c语言笔试试题(含参考答案).doc_第1页
1997年9月全国计算机等级考试二级c语言笔试试题(含参考答案).doc_第2页
1997年9月全国计算机等级考试二级c语言笔试试题(含参考答案).doc_第3页
1997年9月全国计算机等级考试二级c语言笔试试题(含参考答案).doc_第4页
1997年9月全国计算机等级考试二级c语言笔试试题(含参考答案).doc_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

全国计算机等级考试二级笔试题基础知识和C语言程序设计(考试时间120分钟,满分100分)1997年9月21日一、选择题((1)-(40)每小题1分,(41)-(50)每小题2分,共60分)下列各题 A) 、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项在答题卡相应位置上涂黑,答在试卷上不得分。(1) 应用软件是指A) 所有能够使用的软件B) 能被各应用单位共同使用的某种软件C) 所有微机上都应使用的基本软件D) 专门为某一应用目的而编制的软件(2) 下列述叙中错误的是A) 计算机要经常使用不要长期闲置不用B) 为了延长计算机的寿命,应避免频繁开关计算机C) 在计算机附近应避免磁场干扰D) 计算机用几小时后,应关机一会儿再用(3) 下列字符中,ASCII码值最小的是A) AB) aC) ZD) x(4) 用晶体管作为电子器件制成的计算机属于A) 第一代 B) 第二代 C) 第三代 D) 第四代(5) 下列各不同进制的四个无符号数中,最小的数是A) (11011001)2 B) (37)8 C) (75)10 D) (2A)16(6) 二进制数1110111.11转换成十六进制数是A) 77.C B) 77.3 C) E7.C D) E7.3(7) 下列各无符号十进制数中,能用八位二进制表示的是A) 296 B) 333 C) 256 D) 199(8) 计算机的软件系统可分类为A) 程序与数据 B) 系统软件与应用软件D) 操作系统与语言处理程序 D) 程序、数据与文档(9) 486机中的CPU同时能处理的二进制位数为A) 8 B) 16 C) 32 D) 64(10) 在使用计算机的过程中,需要重新启动DOS,则要A) 按Ctrl+Break键B) 按C键C) 按Ctrl+Alt+Del键D) 按H键(11) 现要从软盘启动DOS(软盘中已存有DOS系统),设有如下一些操作:打开计算机电源;将该软盘插入A驱动器;关好A驱动器门。则冷启动的操作顺序应为A) B) C) D) (12) 设当前盘中某一文件路径为ACBABC.C,当前目录为A。下列命令中错误的是A) CD. B) RD ACBC) TYPE ACBABC.C D) TYPE CBABC.C(13) 设当前盘中的根目录下有一子目录AB,在子目录AB下有一文件PQ.BAS。现要查看文件PQ.BAS的内容,应使用命令A) TYPE AB PQ.BAS B) TYPE ABPQ.BASC) TYPE PQ.BAS D) DIR ABPQ.BAS(14) 自动批处理文件必须放在A) C盘根目录中 B) A盘根目录中C) 启动盘的任一个目录中 D) 启动盘的根目录中(15) 设当前盘当前目录为C:USERXYP,且当前盘当前目录为空,则下列命令中能正确执行的是A) RD C:USERXYP B) RD USERXYPC) MD USERXYPUSER D) MD USERXYPXY(16) 下列DOS命令中,合法的是A) DISKCOMP A.C B.C B) TYPE A.C B.CC) COMP A: B: D) COMP A: A:(17) 设当前盘为C盘,所用的所有软盘已格式化,且容量相同,则下列DOS命令中错误的是A) DISKCOPY A: A:B) COPY A:*.*C) COPY *.*D) COPY A:*.* C:(18) 下列DOS命令中错误的是A) TYPE A.TXTPRN B) TYPE A.TXT PRNC) COPY *.TXT PRN D) COPY CON PRN(19) 下列四组DOS命令中,互相等价的一组是A) COPY A:*.* B:与DISKCOPY A: B:B) COPY ABC.TXT+XYZ.TXT与TYPE XYZ.TXT ABC.TXTC) COPY ABC.TXT+XYZ.TXT XYZ.TXT与COPY XYZ.TXT+ABC.TXTD) TYPE *.FORCON与COPY *.FOR CON(20) 设C盘目录结构如下:AUTOEXEC.BATC:根目录DOS子目录TC子目录TC.EXEFORTRAN子目录USER子目录且C盘根目录下文件AUTOEXEC.BAT的内容为 CD FORTRAN CD TC如果在A驱动器中插入一张根目录中只有扩展名为.C的若干文件(即A盘中无DOS系统文件)的软盘片,则由C盘启动DOS系统后,第一次键入下列命令中,正确的是A) COPY A:*.C B) COPY A:*.C TCC) COPY A:*.C FORTRAN D) CD USER(21) C语言提供的合法的数据类型关键字是A) Double B) short C) integer D) Char(22) 在C语言中,合法的长整型常数是A) 0L B) 4962710 C) 0.054838743 D) 2.1869e10(23) 表达式:10!=9的值是A) true B) 非零值 C) 0 D) 1(24) 合法的C语言中,合法的长整型常数是A) t B) A C) 65 D) A(25) 若有说明和语句: int a=5; a+; 此处表达式a+的值是A) 7 B) 6 C) 5 D) 4(26) 在下列选项中,不正确的赋值语句是A) +t; B) n1=(n2=(n3=0);C) k=i=j; D) a=b+c=1;(27) 若有说明:int i,j=7, *p=&i;,则与i=j;等价的语句是A) I= *P; B) *P=*&J; C) i=&j; D) i=* *p;(28) 不能把字符串:Hello!赋给数组b的语句是A) char b10=H,e,l,l,o,!;B) char b10;b=Hello!;C) char b10;strcpy(b,Hello!);D) char b10=Hello!;(29) 若有以下说明: int a12=1,2,3,4,5,6,7,8,9,10,11,12; char c=a,d,g; 则数值为4的表达式是A)ag-c B)a4 C)ad-c D)ad-c(30) 若有以下说明: int a10=1,2,3,4,5,6,7,8,9,10,*p=a; 则数值为6的表达式是A) *p+6 B) *(p+6) C) *p+=5 D) p+5(31) 若有以下说明: int w34o=0,1,2,4,5,8; int(*p)4=w; 则数值为4的表达式是A) *w1+1 B) p+,*(p+1)C) w22 D) p11(32) 若程序中有下面的说明和定义 struct abc int x;char y; struct abc s1,s2;则会发生的情况是A) 编译进错 B) 程序将顺利编译连接执行C) 能顺利通过编译连接但不能执行 D) 能顺利通过编译但连接出错(33) 能正确表示a10或a0的关系表达式是A)a=10 or a=10a=10a=10 a=0(34) 下面程序的输出是main() int x=3,y=6,a=0;while(x+!=(y+=o1) a+o=1;if(y#includemain() char ss10=12345;strcat(ss,6789);gets(ss);printf(%sn,ss);A) ABC B) ABC9 C) 123456ABC D) ABC456789(35) 下面程序的输出是main() char *a=12134211;int v1=0,v2=0,v3=0,v4=0,k;for(k=0;sk;k+)switch(sk) default:v4+;case 1: v1+;case 3: v3+;case 2: v2+; printf(v1=%d,v2=%d,v3=%d,v4=%dn,v1,v2,v3,v4); A) v1=4,v2=2,v3=1,v4=1 B) v1=4,v2=9,v3=3,v4=1C) v1=5,v2=8,v3=6,v4=1 D) v1=8,v2=8,v3=8,v4=8(36) 下面程序的输出是main()int k=11;printf(k=%d,k=%o,k=%xn,k,k,k);A) k=11,k=12,k=11 B) k=11,k=13,k=13C) k=11,k=013,k=0xb D) k=11,k=13,k=b(37) 若有以下程序段,w和k都是整型变量: w=k;LB: if(w=0) go to LE;w-;printf(*);goto LB;LE: 则不能与上面程序段等价的循环语句是A)for(w=k;w!=0;w-) printf(*); B)for(w=k;w;-w)printf(*);C)w=k; D)w=k;while(w-!=0)printf(*);w+; do w-;printf(*);while(w!=0);(38) 若有说明,double *p,a;则能通过scanf语句正确给输入项读入数据的程序段是A)*p=&a; scanf(%lf,p); B)p=(double *)malloc(8);scanf(%f,p);C) p=&a;scanf(%lf,a); D)p=&a; scanf(%le,p);(39) 当执行下面程序且输入:ABC时,输出的结果是#include#includemain() char ss10=12345;gets(ss);printf(%sn,ss); A) ABC B) ABC9 C) 123456ABC D) ABC456789(40) 若有以下的说明和语句:main()int t32, *pt3,k;fpr(k=o; k3;k+)ptk=tk; 则以一选项中能正确表示t数组元素地址的表达式是A) &t32 B) *pt0 C) *(pt+1) D) &pt2(41) 下面程序输出数组中的最大值,由s指针指向该元素.main() int a10=6,7,2,9,1,10,5,8,4,3,*p,*s;flr(p=a, s=a; p-as B) *p*s C) apas D) p-ap-s(42) 下面程序的输出是#includemain() char*a=abcdefgh;fun(a);puts(a); fun (char * s) int x=0,y;char c;for(y=strlen(s)-1;xy;x+,y-) c=sx;sx=sy;sy=c; A)abcdefgh B)hgfdecba C)dcbahgfe D)hgfedcba (43) 若有以下函数调用语句: fun(a+b,(x,y),fun(n+k,d,(a,b);在此函数调用语句中实参的个数是A)3B)4C)5D)6(44) 下面程序的输出是main() int t=1; fun(fun(t);fun(int h) static int a3=1,2,3;int k;for(k=0;k3;k+) ak+=ak-h;for(k=1;k3;k+) printf(%d,ak);printf(n); return(ah);A)1,2,3, B)1,3,5, C) 1,3,5, D) 1,3,5,1,5,9, 1,3,5, 0,4,8, -1,3,7,(45) C语言中,函数的隐含存储类别是A)auto B)static C)extern D)无存储类别(46) 下面程序的输出是int w=3;main() int w=10; printf(%dn,fun(5)*w); fun(int k) if(k=0) return w;return(fun(k-1)*k); A)360 B)3600 C)1080 D)1200(47) 要求函数的功能是交换x和y中的值,且通过正确调用返回交换结果。能正确招待此功能的函数是A)funa(int *x,int *y) B) funb(int x,int y)int *p; int t;*p=*x;*x=*y;*y=*p; t=x;x=y;y=t;C) func(int *x,int *y) D) fund(int x,int y)*x=*y;*y=*x; *x=*x+*y; *y=*x-*y; *x=*x-*y; (48) 要求函数的功能是在一维数组中查找值;若找到则返回所在的下标值,否则返回0;数列放在到中。不能正确执行的函数是A)funa(int *a,int n,int x ) B)funb(int *a,int n,int x) *a=x; int k;while(an!=x)n-; for(k=1;k=n;k+)return n; if(ak=x)return k; return 0; C)func(int a,int n,int x ) D) fund(int a,int n,int x ) int *k; int k=0;a0=x;k=a+n; dowhile(*k!=x) k-; k+;return k-n; while(k,执行命令PROMPT $p后,系统提示符变为 【4】 。(5) 要建立当前盘当前目录下的全部文件与下一级子目录的目录信息文件MYDIR,应使用的DOS命令为 【5】 。(6) 若想通过以下输入语句给a赋于1,给b赋于2,则输入数据的形式应该是 【6】 。int a,b;scanf(a=%b,b=%d,&a,&b);(7) 函数mycmp (char*s,chat *t)的功能是比较字符串s和t的大小,当s等于t 时返回0,否则返回s和t的第一个不同字符的ASCOII码的差值,即当st时返回正值, 当s等于t 时返回0,否则返回s和t的第一个不同字符的ASCOII码的差值,即当st时返回正值, 当st时返回负值,请填空。mycmp(char *s,char *t) while(*s=*t)if(*s=0) return 0;+s; +t;return (【7】); (8) 下面程序的输出是【8】 。#define MAX 5int aMAX,k;main() fun1();fun3(); fun2(); fun3();printf(n); fun1() for(k=0;kMAX;k+) ak=k+k; fun2() int aMAX,k;for(k=0;k5;k+) ak=k; fun3() int k; for(k=0;kMAX;k+) printf(%d,*(a+k): (9) 若有以下定义和语句,则使指针p指向值为36的数组元素的表达式是【9】 。int a10=19,23,44,17,37,28,49,36,*p;p=a;(10) 下面程序的输出是 【10】 。main() enum em em1=3,em2=1,em3;char *aa=AA,BB,CC,DD;printf(%s%s%sn,aaem1,aaem2,aaem3); (11) 下面函数要求用来求出两个整数之和,并通过形参传回两数相加之和值,请填空。 int add(int x,int y, 【11】 z) 【12】 =x+y;(12) 有以下说明定义和语句,可用a.day引用结构体成员day, 请写出引用结构体成员a.day的其它两种形式 【13】 、【14】 。structint day;char mouth;int year;a,*b; b=&a;(13) 下面fun函数的功能是将形参x的值转换成二进制数,所得二进制数的每一位数放在一维数组中返回,二进制数的最低位放在下标为0的元素中,其它依此类推。请填空。fun(int x,int b) int k=0,r;do r=x% 【15】;bk+=r;x/=【16】; while(x); (14) 现有如图所示的存储结构,每个结点含两个域,data是指向字符串的指针域,next是指向结点的指针域。请填空完成此结构的类型定义和说明。datanextheaddatanextdatanextstruct link【17】 ; 【18】; *head;(15) 下面程序把从终端读入的文本用作为文本结束标志)复制到一个名为bi.dat的新文件中,请填空。#include FILE *fp;main() cha

温馨提示

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

评论

0/150

提交评论