一、填空题:(每小题2分,共20分)
1. 在Turbo Pascal中,程序的三种基本结构是顺序结构、 和 。
2. A:=[1,2,3,4,5];B:=[2,4,6,8,10];A+B的值是 ,A*B的值是 。Pascal程序
是由 和 组成。 4. VAR color:(red, blue, green, black); pred(blue)= ;succ(green)= 。 5. 用户自定义的简单类型包括: 和 。
6. 表达式ROUND(3.745)*(6 MOD 4)+ABS(-3)的值为 。 7. 代数式esin(y)x的Pascal语言表达式____________________。 8. 设var p:^T;则p是指针变量,而 是类型为T的动态变量。 9. 设有说明:VAR a,b,c:integer; 则下面程序段的输出是 。
a:=5;b:=8;c:=1; WHILE (b-a>c) DO BEGIN
a:=b-a;b:=b-a; END;
writeln(b); 知程序中有以下函数说明:
FUNCTION F(x,y,z:integer):integer BEGIN
F:=3*x+4*y DIV z END;
则:执行语句k:= F(1,F(1,2,3),3)后k的值是 。
x2二、选择题(每小题2分,共30分)。
1.已知ch是字符变量,下列赋值语句中正确的是( )
A) ch:='7' B) ch:=7 C) ch:='-7' D) ch:=-'7'
2.Integer是( )
A) 保留字 B) 标准标识符 C) 用户定义的标识符 D) 类型定义
3.不能作为子界类型的基类型的是( )
A) 实数类型 B) 枚举类型 C) 字符类型 D) 布尔类型
4.下面是对PASCAL程序组成结构的四条描述,其中错误的是( )
A) PASCAL程序必须有程序首部
B) 程序的注释部分只能写在程序中一条语句的最后 C) 程序首部的参数部分可有可无
D) 一个完整的PASCAL程序的主程序只能有一个
5.要使语句IF a IN b THEN <语句>;无语法错误,a,b的类型应该是( )
A) a是集合类型,b的类型与a的基类型相同
B) b是集合类型,a的类型与b的基类型相同 C) a和b都是集合类型
D) a,b中的任何一个都可以是集合类型,另一个则是此集合的基类型
6.设a,b是整型变量且已赋值,函数首部为
FUNCTION func(VAR a:Integer):Integer;下面正确的函数调用是( ) A) b:=func(func(b) ) B) Writeln(func(a+b)) C) Writeln(Ord(func(b))) D) b:=func(Succ(func(b)))
7.下列中错误的PASCAL表达式是
A)10e6*3.7 B)17 DIV 3 C)18 DIV 3*4.0 D)4.018 DIV 3
8.PASCAL编译程序是( )
A) 把PASCAL源程序转换成可运行的EXE文件的程序 B) 把PASCAL源程序转换成等价的目标码的程序 C) 生成和修改一个PASCAL语言源程序的程序
D) 把PASCAL的目标码程序转换成可运行的EXE文件的程序
9.设x是实型变量,下列哪一个表达式能将x四舍五入后保留二位小数? ( )
A) Round(x) B) Round(x)/100.0 C) Round(x*100.0)/100.0 D) Trunc(x*100.0)/100.0
10.设有说明 TYPE t=(A,B,C,D);
VAR s:ARRAY(11..15) OF ARRAY[t] OF Integer;
则数组s中共有多少个元素( )
A) 4 B) 5 C) 9 D) 20
11.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 a2 OR NOT a3
12.下面正确的枚举类型或子界类型定义是( )
A) TYPE vowel=('a','e','i','o','u'); B) TYPE day=1..31 or 1..30 or 1..28; C) TYPE color=(red,blue,green); D) TYPE workdays=mon..fri;
workdays=(mon,tue,wed,thu,fri,sat,sun);
13.设有过程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是一个实际参数
14.有如下程序段
a:=0; {a,i为整型变量} FOR i:=1 TO 15 DO a:=a+i MOD 3; Writeln(a);
该程序段运行后输出的结果是( )
A) 90 B) 1 C) 15 D) 120
15.设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;
三、阅读程序并在程序后写出运行结果(每小题6分,共30分)。
1.有如下程序:
PROGRAM P31(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.
执行上面程序后的输出是
2.有如下程序:
PROGRAM P32(input,output); VAR a,b:Integer;
PROCEDURE p(VAR x:Integer;y:Integer); BEGIN
x:=x+y; END; BEGIN
a:=5;b:=10; p(a,b);
p(a,a MOD b); Writeln(a,',',b); END.
执行上面程序后的输出是
3.有如下程序:
PROGRAM p33(input,output); TYPE num=SET OF 1..100; VAR s:num; i:integer;
a:ARRAY[1..5] OF integer; BEGIN
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'); END.
执行上面程序后的输出是
4.有如下程序:
PROGRAM p34(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.
执行上面程序后的输出是
5.已知有过程:
PROGRAM P35(input,output);
CONST ch1='*'; ch2='+'; VAR i,j:integer; BEGIN
FOR i:=1 TO 5 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.
执行上面程序后输出的图形是:
四、编程题(每小题10分,共20分)。
1.编程输出下列图形(要求用循环语句实现)。
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
2. 编程计算L 。已知:
L = 8! + 6! × 7!
(要求将求n!定义成函数。)
一、填空题:(每小题2分,共20分)
1 2 3 4 5
循环结构 [1,2,3,4,5,6,8,10] 程序首部 red 枚举类型 选择结构 [2,4] 程序体 black 子界类型 6 7 8 9 10 11 Exp(x)*sqr(sin(y))*sqrt(x) P^ 3 9 二、选择题(每小题2分,共30分)。
1 6 A C 2 7 B D 3 8 A B 4 9 B C 5 10 B D