主题:[原创]PASCAL语言笔试试题(留言加分)HOT!!!
PASCAL语言笔试试题
一、单选题(每小题2分,共60分)
1、在结构化程序设计中所说的程序的三种基本结构是指( )。
A) 主函数、函数、过程 B) 顺序、选择、循环
C) 程序首部、说明部分、语句部分 D) WHILE、REPEAT、FOR
2、以下各组运算中运算优先级最低的一组是( )。
A) +,-,or B) *, / C) div, mod, and D) >=, in
3、数学表达式sin(60o)的正确PASCAL表达式是 ( )。
A) sin(60) B) sin(3.14159*60)
C) sin(3.14159*60/180) D) sin(60*3.14159/360)
4、下列表达式中正确的是 ( )。
A) 8/2 mod 2 B) not(1=0) and (32) C) 'a'+2 D) 2+false
5、当n为任意正奇数时,值总为true的表达式是( )。
A) n mod 2=0 B) n div 2=1 C) n-(n div 2)=1 D) n-trunc(n/2)*2=1
6、表达式Pred(Chr(Ord('A ')+4))的值是 ( )。
A) 'C ' B) 'D ' C) 69 D) 70
7、下列表达式值为5的是( )。
A) pred(8 div 2) B) abs(round(23/4))
C) succ(trunc(22/(26 mod 7))) D) ((8 mod 5)*3+1) div 3
8、下面变量说明中错误的是( )。
A) var s:set of char; B) var s:set of integer;
C) var s:set of 1..100; D) var s:set of (sun,mon,tue,wed,thu,fri,sat);
9、不能作为FOR语句循环控制变量的是下列哪种类型变量( )。
A) 整型 B) 布尔型 C) 实型 D) 字符型
10、至少被执行一次的循环语句是( )。
A) FOR语句 B) REPEAT-UNTIL语句
C) WHILE语句 D) FOR、REPEAT-UNTIL和WHILE语句
11、下面关于FOR循环不正确的叙述是( )。
A)在循环体中不能改变循环控制变量的值
B)在执行过程中初值和终值不会改变
C) 分为递增型和递减型两种
D) 循环控制变量不必在程序的说明部分说明
12、设m,n均为整数类型变量,且两者的数值均不大于1000。下面语句
m:=m+n; n:=m-n; m:=m-n; 执行后,产生的结果是( )。
A)m,n的值保持不变 B)m,n的值进行了交换
C)m,n的值均为原来M的值 D)m,n的值均为原来N的值
13、一个文件文件的基类型不可以是( )。
A) 文件 B) 数组 C) 实数 D) 记录数组
14、下列过程中,其功能是创建并打开一个文件的是 ( )。
A) Assign B) Reset C) Rewrite D) Write
15、已知有说明
const a=1; b=2; c=3; d=4;
var w,x,y,z:integer;
执行语句 x:=a; x:=c; y:=a+2; z:=b; w:=d-a+b; 后,其值相等的变量是( )。
A) x,y B) x,z C) x,w D) y,z
16、程序段: for i:=1 TO 5 do
for j:=2 TO i do writeln(‘A’);
输出字符A的个数是( )。
A) 10 B) 15 C) 20 D) 25
17、设数组a和变量i,j,k,m,n,均已说明,且各自赋值如下
i=1; j=2; k=3; m=4; for n:=1 to 9 do a[n]:=n;
下面数组元素的值等于3的是 ( )。
A) a[i*j] B) a[m div j] C) a[a[j+k-2]] D) a[a[k-i]+3]
18、有下面程序段:
a:=false; b:=false; c:=false; x:=15;
if a then x:=x-10
else if b then x:= x-5
else if c then x:=20 else x:=25;
假设所有变量均已说明,程序运行后x的值是( )。
A) 25 B) 20 C) 15 D)5
19、程序段
i:=1;
REPEAT
n:=i*i; i:=i+1;
UNTIL n>i
中循环体执行的次数是( )。
A)1 B)2 C)3 D)4
20、设有如下定义
type set=(male,female);
var x,y:set;
则下列合法的语句是( )。
A) read(y,x) B) write(x,y) C) x:=y D) x:=succ(female)
21、以下表达式结论正确的是 ( )
A) [sun,fri]*[mon,tue] 的值为 [sun,fri,mon,tre]
B) x in [i,j,k,m] 等价于 (x=i) or (x=j) or (x=k) or (x=m)
C) [sun,sat]-[mon,tue] 的值为 [sat,mon,tue]
D) [mon]-[mon,tue] 的值为 [tue]
22、有下列程序段
for i:=1 to 10 do
case i mod 4 of
0: ch[i]:=’a’;
1: ch[i]:=’b’;
2: ch[i]:=’c’;
3: ch[i]:=’d’
end;
for i:=10 downto 1 do write(ch[i]:1); writeln;
运行后输出结果是( )。
A)abcdabcdab B) bcdabcddcb C) cbadcbadcb D) dcbadcbadc
23、有下面程序
VAR a:array[1..2,1..3]of integer;
i,j:Integer;
BEGIN
for i:=1 to 2 do for j:=1 to 3 do read(a[i,j]);
readln;
for i:=1 to 3 do for j:=1 to 2 do write(a[j,i]:3);
writeln
END.
此程序执行时若从键盘输入1 2 3 4 5 6,则输出是( )。
A) 1 2 3 4 5 6 B) 1 4 2 5 3 6
C) 4 5 6 1 2 3 D) 5 3 6 1 4 5
24、下列符合Pascal语法规则的过程或函数是( )。
A)FUNCTION f(x:integer):integer; B) PROCEDURE p(var x:integer):integer;
VAR y:Integer; VAR y:Integer;
BEGIN BEGIN
y:=3*x+2; x:=y+1;
f:=y writeln(x)
END; END;
C) PROCEDURE p(x:integer); D) FUNCTION f(x:integer);
BEGIN BEGIN
p: =x+10 f:=x+10
END; END;
25、有如下程序
VAR a:array[1..3] of integer;
i,j:integer;
BEGIN
for i:=1 to 3 do a[i]:=i;
i:=1; j:=3;
repeat
a[i]:=a[j]+l; i:=i+l; j:=j-1;
until i>3;
for i:=1 to 3 do write(a[i]:5);
END.
该程序的运行结果是( )。
A) 4 3 2 B) 2 3 4 C) 4 5 3 D) 4 3 5
26、设有下列函数说明
FUNCTION func(n:integer):integer;
begin
if n=0 then func:=0
else if n=1 then func:=2
else func:=func(n-1)+func(n-2)
END;
表达式func(5)的值是( )。
A) 6 B) 8 C) 10 D)12
一、单选题(每小题2分,共60分)
1、在结构化程序设计中所说的程序的三种基本结构是指( )。
A) 主函数、函数、过程 B) 顺序、选择、循环
C) 程序首部、说明部分、语句部分 D) WHILE、REPEAT、FOR
2、以下各组运算中运算优先级最低的一组是( )。
A) +,-,or B) *, / C) div, mod, and D) >=, in
3、数学表达式sin(60o)的正确PASCAL表达式是 ( )。
A) sin(60) B) sin(3.14159*60)
C) sin(3.14159*60/180) D) sin(60*3.14159/360)
4、下列表达式中正确的是 ( )。
A) 8/2 mod 2 B) not(1=0) and (32) C) 'a'+2 D) 2+false
5、当n为任意正奇数时,值总为true的表达式是( )。
A) n mod 2=0 B) n div 2=1 C) n-(n div 2)=1 D) n-trunc(n/2)*2=1
6、表达式Pred(Chr(Ord('A ')+4))的值是 ( )。
A) 'C ' B) 'D ' C) 69 D) 70
7、下列表达式值为5的是( )。
A) pred(8 div 2) B) abs(round(23/4))
C) succ(trunc(22/(26 mod 7))) D) ((8 mod 5)*3+1) div 3
8、下面变量说明中错误的是( )。
A) var s:set of char; B) var s:set of integer;
C) var s:set of 1..100; D) var s:set of (sun,mon,tue,wed,thu,fri,sat);
9、不能作为FOR语句循环控制变量的是下列哪种类型变量( )。
A) 整型 B) 布尔型 C) 实型 D) 字符型
10、至少被执行一次的循环语句是( )。
A) FOR语句 B) REPEAT-UNTIL语句
C) WHILE语句 D) FOR、REPEAT-UNTIL和WHILE语句
11、下面关于FOR循环不正确的叙述是( )。
A)在循环体中不能改变循环控制变量的值
B)在执行过程中初值和终值不会改变
C) 分为递增型和递减型两种
D) 循环控制变量不必在程序的说明部分说明
12、设m,n均为整数类型变量,且两者的数值均不大于1000。下面语句
m:=m+n; n:=m-n; m:=m-n; 执行后,产生的结果是( )。
A)m,n的值保持不变 B)m,n的值进行了交换
C)m,n的值均为原来M的值 D)m,n的值均为原来N的值
13、一个文件文件的基类型不可以是( )。
A) 文件 B) 数组 C) 实数 D) 记录数组
14、下列过程中,其功能是创建并打开一个文件的是 ( )。
A) Assign B) Reset C) Rewrite D) Write
15、已知有说明
const a=1; b=2; c=3; d=4;
var w,x,y,z:integer;
执行语句 x:=a; x:=c; y:=a+2; z:=b; w:=d-a+b; 后,其值相等的变量是( )。
A) x,y B) x,z C) x,w D) y,z
16、程序段: for i:=1 TO 5 do
for j:=2 TO i do writeln(‘A’);
输出字符A的个数是( )。
A) 10 B) 15 C) 20 D) 25
17、设数组a和变量i,j,k,m,n,均已说明,且各自赋值如下
i=1; j=2; k=3; m=4; for n:=1 to 9 do a[n]:=n;
下面数组元素的值等于3的是 ( )。
A) a[i*j] B) a[m div j] C) a[a[j+k-2]] D) a[a[k-i]+3]
18、有下面程序段:
a:=false; b:=false; c:=false; x:=15;
if a then x:=x-10
else if b then x:= x-5
else if c then x:=20 else x:=25;
假设所有变量均已说明,程序运行后x的值是( )。
A) 25 B) 20 C) 15 D)5
19、程序段
i:=1;
REPEAT
n:=i*i; i:=i+1;
UNTIL n>i
中循环体执行的次数是( )。
A)1 B)2 C)3 D)4
20、设有如下定义
type set=(male,female);
var x,y:set;
则下列合法的语句是( )。
A) read(y,x) B) write(x,y) C) x:=y D) x:=succ(female)
21、以下表达式结论正确的是 ( )
A) [sun,fri]*[mon,tue] 的值为 [sun,fri,mon,tre]
B) x in [i,j,k,m] 等价于 (x=i) or (x=j) or (x=k) or (x=m)
C) [sun,sat]-[mon,tue] 的值为 [sat,mon,tue]
D) [mon]-[mon,tue] 的值为 [tue]
22、有下列程序段
for i:=1 to 10 do
case i mod 4 of
0: ch[i]:=’a’;
1: ch[i]:=’b’;
2: ch[i]:=’c’;
3: ch[i]:=’d’
end;
for i:=10 downto 1 do write(ch[i]:1); writeln;
运行后输出结果是( )。
A)abcdabcdab B) bcdabcddcb C) cbadcbadcb D) dcbadcbadc
23、有下面程序
VAR a:array[1..2,1..3]of integer;
i,j:Integer;
BEGIN
for i:=1 to 2 do for j:=1 to 3 do read(a[i,j]);
readln;
for i:=1 to 3 do for j:=1 to 2 do write(a[j,i]:3);
writeln
END.
此程序执行时若从键盘输入1 2 3 4 5 6,则输出是( )。
A) 1 2 3 4 5 6 B) 1 4 2 5 3 6
C) 4 5 6 1 2 3 D) 5 3 6 1 4 5
24、下列符合Pascal语法规则的过程或函数是( )。
A)FUNCTION f(x:integer):integer; B) PROCEDURE p(var x:integer):integer;
VAR y:Integer; VAR y:Integer;
BEGIN BEGIN
y:=3*x+2; x:=y+1;
f:=y writeln(x)
END; END;
C) PROCEDURE p(x:integer); D) FUNCTION f(x:integer);
BEGIN BEGIN
p: =x+10 f:=x+10
END; END;
25、有如下程序
VAR a:array[1..3] of integer;
i,j:integer;
BEGIN
for i:=1 to 3 do a[i]:=i;
i:=1; j:=3;
repeat
a[i]:=a[j]+l; i:=i+l; j:=j-1;
until i>3;
for i:=1 to 3 do write(a[i]:5);
END.
该程序的运行结果是( )。
A) 4 3 2 B) 2 3 4 C) 4 5 3 D) 4 3 5
26、设有下列函数说明
FUNCTION func(n:integer):integer;
begin
if n=0 then func:=0
else if n=1 then func:=2
else func:=func(n-1)+func(n-2)
END;
表达式func(5)的值是( )。
A) 6 B) 8 C) 10 D)12