| (考试时间120分钟,满分100分)
一.选择题
(1)通常所说的主机主要包括 A)CPU B)CPU和内存 C)CPU.内存与外存 D)CPU.内存与硬盘
(2)在微机系统中,最基本的输入输出模块BIOS存放在 A)RAM中 B)ROM中 C)硬盘中 D)寄存器中
(3)一个24*24点阵的汉字字形信息所占的字节数为 A)2 B)24 C)32 D)72 (4)bit的意思是 A)字 B)字长 C)字节 D)二进制位
(5)某学校的工资管理程序属于 A)系统程序B)应用程序 C)工具软件 D)文字处理软件
(6)与十六进制数BB等值的十进制数是 A)187 B)188 C)185 D)186
(7)设一张软盘已染上病毒,能清除病毒的措施是 A)删除该软盘上的所有文件 B)格式化该软盘 C)删除该罗盘上的所有可执行文件 D)删除该软盘上的所有批处理文件
(8)一张3.5英寸双面高密度软盘片的容量为 A)360KB B)720KB C)1.44MB D)1.2MB
(9)与二进制小数0.1等值的十六进制小数为 A)0.1 B)0.2 C)0.4 D)0.8 (10)DOS系统的热启动与冷启动的不同之处为热启动时 A)不检测键盘.外设接口与内存 B)不提示用户输入时期与时间 C)不用装入COMMAND.COM文件 D)不能从软盘启动
(11)为了将磁盘上的文件K1,K2,K3,集资连接在文件K4的后面, 应使用命 令 A)COPY K1+K2+K3 K4 B)COPY K1+K2+K3+K4 C)COPY K1+K2+K3+K4 K4 D)COPY K4+K1+K2+K3
(12)下列文件名中可以作为批自理文件名的是 A)AUTOEXEC.C B)AUTOEXEC C)ATX.BAT D)AUTO.TXT
(13)要输出当前盘的根目录下所有文件与子目录清单,应使用命令 A)DIR \>PRN B)TYPE \>PRN C)DIR >PRN D)TYPE >PRN
(14)设可执行文件ABC.EXE所需要的本该由键盘输入的数据已经按格式存 放在文件XYZ中,并要求执行结果放在文件XYZ中输入数据的后面. 下 列命令中正确的是 A)ABC XYZ B)ABC >XYZ C)ABC< XYZ D)ABC>>XYZ
(15)设当前盘中某一目录路径为\A\B\C,当前目录为\A. 下列命令中肯定 出错的是 A)MD \A\C B)CD.. C)MD \A\B\A D)MD \A\B (16)设A盘的目录结构如下: 根目录 │ ┌──┬───┬┴───┬───┬────┐ │ │ │ │ │ │ ABC D1子目录 DX.C Q.DAT D2子目录 A.FOR │ │ │ │ ┌──┬┴───┬──┐ ┌──┴┬─────┐ │ │ │ │ │ │ │ │ │ │ │ │ │ │ B.PAS D3子目录 Y.BAS A.C A1.C D4子目录 XYZ.C │ ┌─────┬─┴───┬───┐ │ │ │ │ QR.C NA.C A.TXT B.C 如果当前盘为C盘,A盘的当前目录为\D2,则下列对A盘上文件QR.C 的 指定中,合法的是 A)\D2\D4\QR.C B)D4\QR.C C)A:D4\QR.C D)A:D2\D4\QR.C
(17)下列DOS命令中,有错误的是 A)TYPE AAB.FOR>CON B)TYPE ?AB.FOR C)COPY *.C CON D)COPY CON PRN
(18)设当前盘为A盘,为了将当前盘当前目录下的文件AB1.TXT连接在C 盘 根目录下的文件XYZ.TXT的后面,正确的命令是 A)COPY C:\XYZ.TXT+AB1.TXT B)COPY AB1.TXT>>C:XYZ.TZT C)TYPE AB1.TXT>C:\XYZ.TZT D)AB1.TXT+C:\XYZ.TXT>C:\XYZ.TXT
(19)下列命令中合法的是: A)DISKCOPY A: A: B)DISKCOPY A: C: C)DISKCOPY C: A: D)DISKCOPY C: D:
(20)设当前盘中基本目录路径为\A\B\C\D\XU,当前目录为\A.要将根目录 下扩展名为.C的所有文件复制到当前目录下,并将扩展名改为.FOR, 应使 用命令 A)COPY \*.C *.FOR B)COPY *.C \A\*.FOR C)COPY *.FOR \*.C D)COPY \A\*.C *.FOR
(21)PASCAL编译程序是 A)把PASCAL源程序转换成可运行的EXE文件的程序 B)把PASCAL源程序转换成等价的目标码的程序 C)生成和修改一个PASCAL语言源程序的程序 D)把PASCAL的目标码程序转换成可运行的EXE文件的程序
(22)下列中错误的PASCAL表达式是 A)10e6*3.7 B)17 DIV 3 C)18 DIV 3*4.0 D)4.018DIV3
(23)下列哪种类型的常量不能用来定义子界类型 A)Real B)Integer C)CHar D)用户定义的任何顺序类型
(24)以下正确的PASCAL实型数是 A)0.56E2.5 B)2.56E2 C).318E1 D)34.E5
(25)假定所有变量均为实型,算式: u+a _________的正确的PASCAL表达式是 b-v ___+u*d c-w A)(u+a)/(b-v)/(c-w)+u*d B)(u+a)/(b-v)/(c-w))+u*d C)(u+a)/((b-v)/(c-w)+u*d) D)(u+a)/((b-v/c-w)+u*d) (26)设x是实型变量,下列哪 一个表达式能将x四舍五入后保留二位小数? A)Round(x) B)Round(x)/100.0 C)Round(x*100.0)/100.0 D)Trunc(x*100.0)/100.0
(27)a1,a2,a3是布尔型变量,分别等于True,True,False, 下列表达式的值 为False的是 A)NOT a1 AND NOT a2 B)a1 OR a2 AND a3 C)(NOT a1 OR a2)AND(a2 OR a3)D)False OR NOT a1 AND a2OR NOT a3
(28)设有说明CONST letter='h'; 则语句Writeln (Chr(Ord(letter)+(Ord('A')-Ord('a')))) 输出结 果是 A)H B)h C)72 D)104
(29)设a,b,x均是基类型为字符型的集合变量.且a=['a','c','f','u'], b=['c','d','f','u'],下列哪个赋值语句使x为非空集合? A)x:=a-b-['a'] B)x:=a*b-['a'] C)x:=a+a*a-a D)x:=(a+a)*(a-a)
(30)下面的输出语句中错误的语句是(各选项中所用的均是单引号) A)Writeln('''$''is used to mean ''US doller'''); B)Writeln('The word ''china''has five letters'); C)Writeln('The sign ''$''is used to mean ''USdoller'''); D)Writeln('The word 'china'has five letters'); (31)已知有说明如下:VAR p,q:^Integer; a,b:Integer; 下列哪个赋值语句无语法错误? A)p:=a; B)a:=p+q; C)q^:=p^+a^; D)b:=a+q^;
(32)要设计一个只由主程序调用的子程序(过程或函数),其功能是把参数 ch修改后的内容不用全局变量传给主程序,应使用下面哪个过程或函数的 首部? A)PROCEDURE upcase(ch:Char); B)FUNCTION upcase(ch:Char):Char; C)FUNCTION upcase(VAR ch:Char); D)FUNCTION upcase(ch:Char):Integer; (33)下列说法中正确的是 A)动态变量不能是二维数组 B)动态变量只能是指针类型的变量 C)动态变量不能在程序运行过程中生成和删除 D)动态变量的值是指针变量所指的存储单元的内容
(34)设有说明 TYPE byte=0..7; word=0..15; num=Real; VAR a:byte; b,c:word; d:Integer; e:num f:Char; 则下列中不合法的赋值语句是 A)b:=a; B)d:=c; C)e:=d; D)a:=f;
(35)下列说明中不正确的是 A)TYPE a=RECORD B)VAR x:Real; a1:Integer; y:=RECORD a2:Real; x:=Integer; a3:b y:=Char; END; z:RECORD b=RECORD y:Real; b1:Char; z:Boolean b2:Real END END; END; VAR x:a; C)TYPE a=^b; D)TYPE b=RECORD b=RECORD b1:Char; b1:Char; b2:Real b2:a END; END; a=RECORD VAR x:a; a1:Integer; a2:b END;
(36)设x,z,m,j为整型变量,且z,m均已赋值,并有程序段: x:=z; FOR j:=1 TO m DO x:x-1; 下面赋值语句与上述程序段等价的是 A)x:=x-j; B)x:=z-m; C)x:=j-z; D)x:=j+m;
(37)设a,b,c为整型变量且变量已赋值.下面程序段中能实现当a b)THEN BEGIN c:=a; a:=b; b:=c; b:=a; a:=b END;
(38)程序PROGRAM pp(Output); VAR a,k:Integer; BEGIN a:=5; WHILE a<10 DO BEGIN k:=0; PRPEAT Writeln('*'); k:=k+2 UNTIL k>a; a:=a+2 END END. 执行后输出'*'的个数是 A)11个 B)12个 C)13个 D)15个 (39)若希望得到a=2,b=4,c=6,d=8,针对下面的读语句 Read(a); Readln(b,c); Readln(d); 以下不正确的输入形式( 表示回车符符符符符符符符符符符符符符符符符符符符符符符符符符符符符符符符)是 A)2 B)2 C)2 4 D) 2 4 6 4 4 6 8 6 6 8 8 8
(40)已知有类型说明: TYPE t1=(red,yellow,blue); 下面哪个过程可以输出枚举变量a的值? A)PROCEDURE putout(a:t1); B)PROCEDURE putout(a:t1); BEGIN BEGIN CASE a OF CASE Ord(a) OF 'red':Writeln('red'); 0:Writeln('red'); 'yellow':Writeln('yellow'); 1:Writeln('yellow'); 'blue': Writeln('blue') 2:Writeln('blue') END END END; END; C)PROCEDURE putout(a:t1); D)PROCEDURE putout(a:t1) BEGIN BEGIN CASE a OF CASE Ord (a) OF 0:Writeln('red'); red :Writeln ('red'); 1:Writeln('yellow'); yellow:Writeln('yellow'); 2:Writeln('blue') blue: Writeln('blue') END END END; END;
(41)设变量均已说明,下列过程或程序段合法的是 A)PROCEDURE pric1(a:Char; VAR b:Char); BEGIN b:=Chr(Ord(a)+1); proc1:=b END; B)PROCEDURE proc2(a,b:Integer); BEGIN ... END; BEGIN {主程序} ... proc2(2.4,1); ... END. C)PROCEDURE proc3(a:Real; VAR b:Real); BEGIN ... END; BEGIN {主程序} ... x:=1.0; y:=2.0; proc3(x+y,x-y); ... END. D)PROCEDURE proc4(a,b:Real); BEGIN ... END; BEGIN {主程序} ... proc4(1,2); ... END.
(42)下面程序 PROGRAM p1(Output); VAR a,k:Integer; BEGIN a:=13972; k:=0; WHILE a<>0 DO BEGIN a:=a DIV 10; k:=k+1 END; Writeln(k) END. 执行后的输出是 A)0 B)4 C)5 D)6
(43)已知有如下类型说明和函数: TYPE parr=ARRAY[1..20]OF ^Integer; FUNCTION ff(a:parr):Integer; VAR k,b:Integer; BEGIN b:a[1]^; FOR k:=2 TO 20 DO IF a[k]^>b THEN b:=a[k]^; ff:=b END; 函数ff返回的是 A)指针a所指的整数数组中数的最大值 B)指针数组a中的最大的指针值 C)指针数组a各元素所指的数中的最大值 D)指针a所指的整数数组中数的最大值
(44)阅读下面函数: FUNCTION func:Integer; VAR x:Integer; FUNCTION ff(y:Integerf):Boolean; BEGIN ff:=(y>=1) AND (y<=12) END; BEGIN REPEAT Readln(x) UNTIL NOT ff(x); func:=x END; 此函数从键盘接收并只返回特定的值,而不理睬其它值,这些特定的值 是 A)大于等于1且小于等于12的任意整数 B)小于等于1或大于等于12的任意整数 C)大于1且小于12的任意整数 D)小于1或大于12的任意整数
(45)有程序段: s:[1..5,10..20]; FOR i:=1 TO 5 DO a[i]:=3 *i-4; FOR i:=1 TO 5 DO IF a[i] IN s THEN Write('0') ELSE Write('1'); 假设变量均已说明,则程序段后的输出为 A)10110 B)00111 C)10010 D)11010
(46)下列程序中输出为1-1的是 A)PROGRAM one(Output); VAR a,b:Integer; PROCEDURE proc1(x,y:Integer); BEGIN x:=a+b; y:=a-b; Writeln(x:3,y:3) END; BEGIN a:=1; b:=2; proc1(a,b) END. B)PROGRAM one(Output); VAR a,b:Integer; PROCEDURE proc2(x,y:Integer); BEGIN x:=a+b; y:=a-b; END; BEGIN a:=1; b:=2; proc2(a,b) Writeln(a:3,b:3) END. C)PROGRAM three (Output); VAR a,b:Integer; PROCEDURE proc3(x:Integer;VAR y:Integer); BEGIN x:=a+b; y:=a-b; END; BEGIN a:=1; b:=2; proc3(a,b) Writeln(a:3,b:3) END. D)PROGRAM four (Output); VAR a,b:Integer; PROCEDURE proc4(x:Integer;VAR y:Integer); BEGIN x:=a+b; y:=a-b; END; BEGIN a:=1; b:=2; proc4(a,b) Writeln(a:3,b:3) END.
(47)设有过程p1的说明如下(仅给出过程的主要部分) PROCEDURE p1; VAR a,b: Integer; c,d:Char; PROCEDURE p2 (VAR e:Integer); VAR b,f:Real; BEGIN ... END; BEGIN ... END. 在过程p2中,对变量e最适当的描述是 A)e是一个值型参数. B)e是一个全局变量. C)e是一个形式参数. D)e是一个实际参数.
(48)已知有过程: PROCEDURE graph(hight:Integer; ch1,ch2:Char); VAR i,j: Integer; BEGIN FOR i:=1 TO hight DO BEGIN Write(ch1:10-i); FOR j:=1 TO 2*i-3 DO Write(ch2); IF i=1 THEN Writeln ELSE Writeln (ch1) END END; 若在主程序中执行graph(6,'*','+')则输出图形是 A) * B)*+++++++++* *+* *+++++++* *+++* *+++++* *+++++* *+++* *+++++++* *+* * * * * * * * C) + D) * +*+ *+* +***+ *+++* +*****+ *+++++* +*******+ *+++++++* +*********+ *+++++++++*
(49)已知有函数f1如下: FUNCTION f1(a,b:Integer):Integer; BEGIN IF b=0 THEN f1:=a ELSE f1:=f1(Pred(a),Pred(b)) END; 执行 Writeln(f1(10,6));后的输出是 A)4 B)6 C)10 D)16
(50)程序PROGRAM p1(Output); VAR a:ARRAY[1..4]OF Char; c,ch:Char; BEGIN FOR ch:='A' TO 'D' DO a[Ord(ch)-Ord('A')+1]:=ch; FOR ch:='A' TO 'D' DO BEGIN FOR c:=ch TO'D'DO Write(a[Ord(c)-Ord('A')+1]; Writeln END END. 的输出是 A)A B)D C)ABCD D)ABCD B C ABC BCD C B AB CD D A A D
二.填空题(将每空的正确答案写在答题卡上1--20的序号横线上, 答在试 卷上不得分.) (1)自动批处理文件名为 1 _____
(2)DOS命令分为内部命令与外部命令,COMP命令属于 2 命令 _____
(3)设当前盘为C盘,现要用一条DOS命令在打印机上输出A盘当前目录下所 有扩展名为.DAT的文件内容.这一条DOS命令为 3 _____
(4)要将当前盘当前目录下的子目录XYZ中所有扩展名为.BAK 的文件名改 成扩展名为.FOR,应使用的DOS命令为 4 ______
(5)设DOS外部命令文件所在的路径均已用PATH命令打通.现要将当前盘当 前目录下的文件WST.TXT设置为只读属性,应使用的DOS命令为 5 ___
(6)下面计算并输出下式中s 的值 请填空完成程序. PROGRAM t6(Input,Output); VAR k,n:Integer; s,r:Real; BEGIN s: 6 ______ FOR k:=2 TO 20 DO BEGIN r:=0; FOR n:=1 TO 7 DO _____ r:=r+Ln(n); s:=s+ 8 ___ END; Writeln(s:10:3) END.
(7)下面的程序将n个学生的英文成绩从键盘输入,按0-59分,60-69分 70-79分,80-89分90-100分,分组统计人数. PROGRAM exam2(Input,Output); CONST n=20; VAR i,k:Integer; s:ARRAY[1..5]OF Integer; a:ARRAY[1..N]OF Integer; BEGIN FOR i:=1 TO 9 DO _____ s[i]:=0; FOR i:= 1 TO 10 DO ____ BEGIN 11; ____ IF a[i]>=90 THEN k:=1 ELSE IF a[i]>=80 THEN k:=2 ELSE IF a[i]>=70 THEN k:=3 ELSE IF a[i]>=60 THEN k:=4 ELSE k:=5; s[k]:= 12 ______ END; Readln; FOR i:=1 TO 5 DO Write (s[i]:3); Writeln END.
(8)从键盘输入两个数x1,x2,判断它们是否互质. 判断两数是否互质的方法是:设大数为x1,小数为x2,如果x1/x2为整数 则非互质;如果x2和x1能同时被2--x2/2间任一整数整除,则x1 和x2 也非互质.其它情况均为互质. PROGRAM sj11(Input,Output); VAR x1,x2,t,n,i:Integer; yes:Boolean; BEGIN Write('Please input x1,x2'); Readln(x1,x2); IF( 13 ) THEN _________ BEGIN t:=x1;x1:=x2;x2:=t END; yes:=True; IF (x1 MOD x2) =0 THEN yes :=False ELSE BEGIN n:=x2 DIV 2; FOR i:=2 TO 14 DO _____ IF 15 THEN ____ yes:=False END; IF 16 THEN ____ Writeln('They are mutual prime numbers') {x1,x2互质} ELSE Writeln('They are not mutual prime numbers') {x1,x2互质} END.
(9)已知有说明:TYPE ptr=^rec; rec=RECORD data:Integer; next:ptr END; 函数append可建立一个无重复结点的单链表,即该函数检查已建立的结点中是否 有da
(9)已知有说明:TYPE ptr=^rec; rec=RECORD datd:lnteger; next:ptr END; 函append可建立一个无重复结点的单链表,即该函数检查已建立的结点中是否有data或与n相等的节点.若有这样的节点则原链表不变,并返回假,否则以n作为一个新节点链接在原链表之后,并返回真. PUNCTION append (VAR head:ptr;n:lnteger):Boolean; VAR r,p,q:ptr; linked:Boolean; BEGIN linkcd:=True;New(q); q^.next:=NIL;q^.data:=n; IF head=NIL THEN 17 :=q ──── ELSE BEGIN p:=head; REPEAT r:=p; IF p^.data=n THEN linked:=False ELSE IF 18〈〉NIL THEN ──── p:=p^.ncxt UNTIL ( 19 ) OR NOT linkcd; ──── IF linked THEN 20 :=q ─── ELSE Dinked (q) END; append:=linked END;
1998年9月全国计算机等级考试二级笔试试卷 基础知识和Pascal语言程序设计 答案及评分标准
一. 选择题((1)~(40)题,每题1分;(41)~(50)题,每题2分,共60分) (1)B (2)B (3)D (4)D (5)B (6)A (7)B (8)C (9)D (10)A (11)D (12)C (13)A (14)B (15)D (16)C (17)B (18)A (19)A (20)A (21)B (22)D (23)A (24)B (25)C (26)C (27)A (28)A (29)B (30)D (31)D (32)B (33)D (34)D (35)A (36)B (37)B (38)B (39)B (40)B (41)D (42)C (43)C (44)D (45)C (46)C (47)C (48)D (49)A (50)D
二.填空题 (│ 1 │~ │ 20 │每空2分,共40分) (1)~(5)题中所有字母都允许大、小写或大小写混合 (1)┌──┐ │ 1 │ AUTOEXEC.BAT (2)┌──┐ │ 2 │ 外部(答外部命不扣分) (3)┌──┐ │ 3 │ COPY A:*.DAT PRN └──┘ (在COPY后面与A:*.DAT后面都至少要一具空格) (4)┌──┐ │ 4 │ REN XYZ\*.BAK*.FOR或RENAME XYZ\*.BAK*.FOR └──┘ (在REN或RENAME后面一XYZ\*.BAK后面都至少要有一个空格) (5)┌──┐ │ 5 │ ATTRIB + R WST.TXT └──┘ (在ATTRIB后面与 +R 后面都至少要有一个空格) 或ATTRIB WST.TXT +R (在ATTRIB后面与WST.TXT后面都至少要有一个空格) (6)┌──┐ │ 6 │ 0 │ 7 │ k │ 8 │ Ln(r)或Ln(r); (7)┌──┐ │ 9 │ 5 └──┘ │ 10 │ n │ 11 │ Read(a[i])或Readln(a[i]) └──┘ │ 12 │ s[k]+1或s[k]+1;或succ(s[k])或succ(s[k]); (8)┌──┐ │ 13 │ x1〈x2或x1〈=x2或not(x2〈x1)或not(x2〈=x1) │ 14 │ n或x2 div 2或 sqrt(x2)或n~x2 -1中的整数广 │ 15 │ (x1 MODi=0)AND(x2 MODi=0)或 └──┘ (x2 MODi=0)AND(x1 MODi=0)或 ((x1 MODi)=0)AND((X2 MODi)=0)或 ((x2 MODi)=0)AND((x1 MODi)=0) │ 16 │ yes或yes=True或not(yes=false)或yes〈〉false (9)┌──┐ │ 17 │ head │ 18 │ p^.next ┌──┐ │ 19 │ r^.next=nil或not(r^.next〈〉nil) │ 20 │ p^.next |