全国计算机等级考试二级笔试卷基础知识和C语言程序设计(考试时间120分钟,满分100分)1995年9月一、选择题((1)-(40)每小题1分,(41)-(50)每小题2分,共60分)下列各题 A) 、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。(1) 第一台电子数字计算机ENIAC诞生于A) 1927年 B)1936年 C) 1946年 D) 1951年(2) 用FORTRAN语言编制的源程序要变为目标程序,必须经过A) 汇编 B) 解释 C) 编辑 D) 编译(3) 计算机软件一般包括系统软件和A) 字处理软件 B) 应用软件 C) 管理软件 D) 科学计算机软件(4) 计算机内使用的数是A) 二进制数 B) 八进制数 C) 十进制数 D) 十六进制数(5) 目前微型机常用的5.25寸双面高密度软盘的容量是A) 360KB B) 1.44MB C) 760KB D) 1.2MB(6) 具有多媒体功能的微机系统常用CD-ROM作为外存储器,它是A) 只读内存储器 B) 只读大容量软盘 C) 只读硬盘 D) 只读光盘说明:(7)到(17)题给定的条件如下:微机系统有A和B两个容量相同的软盘驱动器,硬盘C的目录结构为
文件AUTOEXEC.BAT的内容为PROMPT $P$GCD F4CD \DOS(7) 微机系统用硬盘C启动后,当前系统提示符是A) C:\> B) C:\DOS> C) C:\F4> D) C>(8) 在用C盘启动后,把A盘格式化成系统盘的命令为A) FORMAT A: B) \FORMAT A:/SC) \DOS\FORMAT A:/S D) \DOS\FORMAT A:\S(9) 设当前盘为C盘,C盘当前目录为\DOS。把JD1.FOR和JD2.FOR连接起来后存入A盘根目录下,命名为JD3.FOR,应使用命令A) COPY JD1.FOR+JD2.FOR A:JD3.FORB) COPY \F4\JD1.FOR+JD2.FOR A:\JD3.FORC) COPY \F4\JD1.FOR+\F4\JD2.FOR A:\JD3.FORD) COPY \F4\JD1.FOR+\F4\JD2.FOR JD3.FOR(10) 设当前盘为C盘,C盘当前目录为\DOS。把FORMAT.COM和DISKCOPY.COM两个命令文件复制到A盘上的命令为A) COPY \DOS\*.* A: B) COPY\*.COM A:C) COPY DOS\*.* A: D) COPY DOS\*.COM A:(11) 列出硬盘C上所有扩展名为.FOR文件的命令是A) DIR\*.FOR B) DIR C:\F4\*.FOR C) DIR C:\*.FOR D) DIR C:\F4\*.*(12) 把A盘的所有信息复制到B盘上的命令为A) COPY A:*.* B: B) COPY A:*.* B:*.*C) C:\DOS\DISKCOPY A: B: D) C:\DOS\DISKCOPY B: A:(13) 设当前盘为C盘。删除硬盘C上的两个扩展名为.EXE文件的命令是A) DEL\F4\*.EXE B) DEL\XD?.EXE C) DEL\F4\*.* D) DEL \*.EXE(14) 设当前盘为C盘。C盘当前目录为\DOS。在硬盘C的根目录下建立新子目录USER的命令为A) MD C:USER B) MD\USER\ C) MD\USER D) MD USER(15) 设当前盘为C盘,C盘当前目录为根目录。在硬盘C上删除子目录F4的命令或命令组为A) RD F4 B) RD\F4 C) DEL\F4\*.* D) DEL\*.*RD F4 RD F4(16) 设当前盘为C盘,C盘当前目录为根目录。把JD1.FOR改名为JX1.FOR的命令为A) REN JD1.FOR JX1.FOR B) REN JX1.FOR JD1.FORC) REN F4\JD1.FOR JX1.FOR D) REN \F4\JX1.FOR JD1.FOR(17) 显示C盘根目录下所有.TXT文件内容的命令为A) TYPE C:\*.TXT B) TYPE C:\*.TXT>CONC) COPY C:\*.TXT>CON D) COPY C:\*.TXT CON(18) 按照数据模型分类,FoxBASE和dBASE是属于A) 层次型 B) 网状型 C) 关系型 D) 混合型(19) FoxBASE和dBASE命令文件的扩展名为A) .PRG B) .DBF C) .MEM D) .TXT(20) "计算机等级考试"这七个汉字作为字符串常量,在FoxBASE和dBASE中,可以表示为A) {计算机等级考试} B) (计算机等级考试)C) 计算机等级考试 D) "计算机等级考试"(21) 请选出可用作C语言用户标识符的一组标识符A) void B) a3_b3 C) For D) 2adefine _123 -abc DOWORD IF Case sizeof(22) 设 int a=12,则执行完语句 a+=a-=a*a后,a的值是A) 552 B) 264 C) 144 D) -264(23) C语言程序的基本单位是A) 程序行 B) 语句 C) 函数 D) 字符(24) 请选出合法的C语言赋值语句A) a=b=58 B) i++; C) a=58,b=58 D) k=int(a+b);(25) 执行下面程序片段的结果是int x=23;do{ printf("%2d",x--);}while(!x);A) 打印出321 B) 打印出23 C) 不打印任何内容 D) 陷入死循环(26) 请选出以下语句的输出结果printf("%d
",strlen("\t\"\065\xff
"));A) 5 B) 14 C) 8 D) 输出项不合法,无正常输出(27) 设有如下的函数ggg(x)float x;{ printf("
%d",x*x);}则函数的类型A) 与参数x的类型相同 B) 是void C) 是int D) 无法确定(28) 设有如下枚举类型定义:enum language { Basic=3,Assembly,Ada=100,COBOL,Fortran};枚举量Fortran的值为A) 4 B) 7 C) 102 D) 103(29) 若有以下说明和语句,请选出哪个是对c数组元素的正确引用int c[4][5], (*cp)[5];cp=c;A) cp+1 B) *(cp+3) C) *(cp+1)+3 D) *(*cp+2)(30) 标准函数 fgets(s, n, f) 的功能是A) 从文件f中读取长度为n的字符串存入指针s所指的内存B) 从文件f中读取长度不超过n-1的字符串存入指针s所指的内存C) 从文件f中读取n个字符串存入指针s所指的内存D) 从文件f中读取长度为n-1的字符串存入指针s所指的内存(31) 设有如下一段程序:int *var,ab;ab=100var=&ab;ab=*var+10;执行上面的程序后,ab的值为A) 120 B) 110 C) 100 D) 90(32) 以下程序段给数组所有的元素输入数据,请选择正确答案填入。#includemain(){ int a[10],i=0;while(i<10) scanf("%d",________ );┇}A) a+(i++) B) &a[i+1] C) a+i D) &a[++i](33) 设有如下的程序段:char str[ ]="Hello";char *ptr;ptr=str;执行上面的程序段后,*(ptr+5)的值为A) 'o' B) '\0' C) 不确定的值 D) 'o'的地址(34) 在宏定义 #define PI 3.14159中,用宏名PI代替一个A) 单精度数 B) 双精度数 C) 常量 D) 字符串(35) 字符(char)型数据在微机内存中的存储形式是A) 反码 B) 补码 C) EBCDIC码 D) ASCII码(36) 执行下面的程序段int x=35;char z='A';int b;B=((x&15)&&(z<'a'));后,B的值为A) 0 B) 1 C) 2 D) 3(37) C语言规定,程序中各函数之间A) 既允许直接递归调用也允许间接递归调用B) 不允许直接递归调用也不允许间接递归调用C) 允许直接递归调用不允许间接递归调用D) 不允许直接递归调用允许间接递归调用(38) 假设在程序中a,b,c均被定义成整型,并且已赋大于1的值,则下列能正确表示代数式 的表达式是A) 1/a*b*c B) 1/(a*b*c) C) 1/a/b/(float)c D) 1.0/a/b/c(39) 若x是整型变量,pb是基类型为整型的指针变量,则正确的赋值表达式是A) pb=&x B) pb=x; C) *pb=&x; D) *pb=*x(40) 设有static char str[ ]="Beijing";则执行printf("%d
", strlen(strcpy(str,"China")));后的输出结果为A) 5 B) 7 C) 12 D) 14(41) 设有如下程序:#includemain(){ int **k, *j, i=100;j=&i; k=&j;printf("%d
", **k);}上面程序的输出结果是A) 运行错误 B) 100 C) i的地址 D) j的地址 (42) 设 a=5, b=6, c=7, d=8, m=2, n=2, 执行(m=a>b)&&(n=c>d)后n的值为A) 1 B) 2 C) 3 D) 4(43) 下面函数的功能是sss(s, t)char *s, *t;{ while((*s)&&(*t)&&(*t++== *s++));return(*s-*t);}A) 求字符串的长度 B) 比较两个字符串的大小C) 将字符串s复制到字符串t中 D) 将字符串s接续到字符串t中(44) 请选出以下程序的输出结果#includesub(x,y,z)int x, y, *z;{ *z=y-x; }main(){ int a, b, c;sub(10,5,&a); sub(7,a,&b); sub(a,b,&c);printf("%d,%d,%d
", a,b,c);}A) 5,2,3 B) -5,-12,-7 C) -5,-12,-17 D) 5,-2,-7(45) 下面程序的输出结果是#includemain(){ int i=2,p;p=f(i,i+1);printf("%d",p);}int f(a,b)int a,b;{ int c;if(a>b) c=1;elseif(a==b) c=0;else c=-1;return(c);}A) -1 B) 0 C) 1 D) 2(46) 请选出以下程序段的输出结果#include#define MIN(x,y) (x)<(y)? (x):(y)main(){ int i,j,k;i=10; j=15;k=10*MIN(i,j);printf("%d
",k);}A) 15 B) 100 C) 10 D) 150(47) 请选出以下程序段的输出结果#includemain(){ char sl[10], s2[10], s3[10], s4[10];scanf("%s%s",s1,s2); gets(s3); gets(s4);puts(s1); puts(s2); puts(s3); puts(s4);}输入数据如下:(此处代表回车符)aaaa bbbbcccc ddddA) aaaa B) aaaa C) aaaa D) aaaa bbbbbbbb bbbb bbbb cccccccc cccc dddd ddddcccc dddd dddd eeee(48) 请选出以下程序的输出结果#includefun(s, n1, n2)int *s, n1, n2;{ int i, j, t;i=n1; j=n2;while(i");}A) 0 9 8 7 6 5 4 3 2 1 B) 4 3 2 1 0 9 8 7 6 5C) 5 6 7 8 9 0 1 2 3 4 D) 0 9 8 7 6 5 1 2 3 4(49) 请选出以下程序的输出结果#includemain(){ int a[ ]={ 1,2,3,4 },i;int x=0;for(i=0; i<4; i++){ sub(a,x); printf("%d",x);}printf("
");}sub(s,y)int *s, y;{ static int t=3;y=s[t]; t--;}A) 1 2 3 4 B) 4 3 2 1 C) 0 0 0 0 D) 4 4 4 4(50) 下面程序的输出结果为struct st{ int x;int *y;} *p;int dt[4]={10,20,30,40};struct st aa[4]={ 50,&dt[0],60,&dt[1],70,&dt[2],80,&dt[3] };main(){ p=aa;printf("%d
", ++p->x );printf("%d
", (++p)->x);printf("%d
", ++( *p->y));}A) 10 B) 50 C) 51 D) 6020 60 60 7020 21 21 31二、填空题(每空2分,共40分)请将每空的正确答案写在答题卡上【1】-【20】序号的横线上,答在试卷上不得分。(1) 十进制数123用八位二进制表示为 【1】 。(2) 70年代末开始出现16位微处理器,标志着微型计算机进入了第三代;80年代起使用 【2】 位微处理器,标志微型计算机进入了第四代。 (3) 通用计算机操作系统的功能和任务是:作业管理、文件管理、外设管理、CPU管理和 【3】 管理。(4) PC-DOS的两个隐含文件是:IBMBIO.COM(输入输出程序)与 【4】 (磁盘操作管理程序)。(5) FoxBASE和dBASE有两种变量:即内存变量和 【5】 变量 。(6) 设有如下程序段:int i=0, sum=1;do{ sum+=i++;}while(i<6);printf("%d
", sum);上述程序段的输出结果是 【6】 。(7) 阅读下列程序:#includemain(){ int i, j, row, column,m;static int arra