📄 1998年9月二级笔试试题pascal.txt
字号:
1998年9月二级笔试试题PASCAL
基础知识和Pascal语言程序设计
一.选择题
(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)ABCXYZ B)ABCXYZ C)ABCXYZ
(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.FORCON 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.TXTC:XYZ.TZT
C)TYPE AB1.TXTC:\XYZ.TZT
D)AB1.TXT+C:\XYZ.TXTC:\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为整型变量且变量已赋值.下面程序段中能实现当ab)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 aBEGIN
k:=0;
PRPEAT
Writeln('*');
k:=k+2
UNTIL ka;
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 a0 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 (yEND;
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);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -