PASCAL语言复习题FXT351112.docx
《PASCAL语言复习题FXT351112.docx》由会员分享,可在线阅读,更多相关《PASCAL语言复习题FXT351112.docx(23页珍藏版)》请在冰豆网上搜索。
PASCAL语言复习题FXT351112
《Pascal》复习题
一、选择题
1、设有如下的过程说明
PROCEDUREwri;
BEGIN
Writeln(‘Welcometousepascal!
!
!
’);
End;
则下面有关过程wri的叙述中正确的是____D_____
A)过程说明有错,因为没有形式参数
B)过程说明有错,因未说明过程的类型
C)过程说明有错,因为在过程体内没有给过程名赋值的语句
D)过程说明正确
(2章赋值语句)
2、已知变量ch是字符型变量,下面PASCAL赋值语句正确的是___D_____
A)ch:
=’abcd’;
B)ch:
=chr(ord(succ(‘c’)+1));
C)ch:
=ord(‘b’)+ord(‘a’);
D)ch:
=pred(succ(succ(‘f’)));
(2章赋值语句)
3、判断以下叙述,其中正确的是___A_______
A)在pascal程序中所用到的变量必须先说明后使用
B)在pascal程序中,允许使用的最小值是-maxint
C)在pascal程序中,分号是语句的一部分,在每个语句中不能省略
D)在pascal程序中,符号常数的值可根据需要随时修改
(1,2章基本知识)
4、以下不符合pascal规定的字符常量是___B_________
A)‘2’
B)‘pascal’
C)’’’’
D)‘a’
(2章标准数据类型)
5、以下属非法的pascal用户自定义标识是_____A____
A)CONST
B)FORMAT
C)MAX
D)NEXT
(1章保留字)
6、下面循环语句仅执行一次的是_____A_____
A)I:
=0;B)I:
=0;
Repeatwhile(I<3)do
I:
=I+1;I:
=I+1;
Writeln(i)writeln(i);
UntilI<3
C)forI:
=0downto3doD)I:
=0
I:
=I+1;while(I>0)or(I<3)do
Writeln(i);I:
=I+1;
writeln(i);
(4章循环结构)
7、下面函数首部或过程首部合法的是__B_______
A)functionsum;
B)procedurenext;
C)functions(VARs:
real):
integer;
D)proceduref(a,b:
real):
char;
(5章函数与过程)
8、以下叙述不正确的是____D__________
A)Pascal提供了一些标准函数和过程,用户使用时可直接调用,无需定义
B)使用标准函数sin时,每调用一次都能得到唯一的一个值
C)标准函数只能出现在表达式中,不能以一个调用语句的形式单独调用
D)调用标准函数或标准过程均能通过一个函数名或过程名带回一个结果
(5章函数与过程)
9、设有过程首部proceduref(VARx:
integer;y:
real);
若a,b为整型变量,c为实型变量,则合法的过程调用语句是____D_____
A)f(2,3)
B)f(2,3.0)
C)f(a+b,c)
D)f(b,2)
(4章过程调用语法)
10、每个pascal程序都必须包括___D_____
A)常量说明
B)类型定义
C)变量说明
D)程序首部
(1章基本知识)
11、已知实型变量r的值为32.635,若要求按32.635的形式输出,应使用的写语句是___B__
A)writeln(r);
B)writeln(r:
6:
3);
C)write(r:
5:
3);
D)writeln(r:
5);
(2章write语句)
12、以下标准数据类型中,____D______不能用读语句赋值
A)整型
B)实型
C)字符型
D)布尔型
(2章基本类型)
13、以下程序段共执行_____C______次循环
I:
=0.5;
WhileI<2.5do
Begin
I:
=I+0.5;
End;
A)1
B)3
C)4
D)5
(4章for语句)
14、以下pascal程序输出结果是____C______
programtea(output);
VARi,j:
integer;
Begin
Fori:
=1to4do
Begin
Forj:
=4-ito1do
Write(‘*’);
Writeln
end
end.
A)***B)*C)*D)**
*******
****
(4章for语句,多重循环)
15、下面循环语句能构成有限次循环的是____A_______
A)I:
=5;
repeat
i:
=i+1;
untilI>0
B)I:
=1;
Repeat
Writeln(i);
UntilI>1
C)I:
=5;
While(I>0)do
I:
=I+1;
Writeln(i);
D)I:
=1;
WhileI<>0do
I:
=I+2;
Writeln;
(4章for,while,repeat循环语句)
16、设a和b为同一类型枚举变量,以下语句合法的是:
__A_______
A)a:
=b;
B)read(a,b);
C)a:
=ord(b);
D)writeln(a,b);
(6章枚举类型)
17.结构化程序的主要优点是(C)
A)程序体积小,节省内存空间
B)程序效率高,节省运行时间
C)程序结构清晰,可读性高,易维护与修改,可靠性高
D)容易实现巧妙的算法
(1章概述)
18.下列for循环的次数是(A)
a:
=true;b:
=false;
forI:
=atobdo
write(i);
A)0B)1C)AD)B
(4章for语句)
19.COS500+e-X的正确表达式为()
A)cos(50.0)+exp(-x)
B)cos(pi*50.0/180)+exp(-x)
C)cos(3.1416*50.0/180)+exp(-x)
D)cos(50.0)+1.0/exp(-x)
(2章表达式)
20.一个完整的pascal程序由程序首部,说明部分及执行部分组成,其说明部分的次序为(C)
A)常量说明,类型说明,变量说明,标号说明,过程说明
B)标号说明,类型说明,变量说明,常量说明,过程说明
C)标号说明,常量说明,类型说明,变量说明,过程说明
D)类型说明,变量说明,标号说明,过程说明,常量说明
(1章概述)
21、下列表达式中正确的是
A)8/2MOD2B)NOT(1=0)AND(3<>2)C)'a'+2D)2+False
22、不能作为FOR语句循环控制变量的是下列哪种类型变量(C)
A)整型B)布尔型C)实型D)字符型
23、对函数的定义和递归调用正确的描述是
A)函数可以嵌套定义,也可以递归调用。
B)函数可以嵌套定义,但不能递归调用。
C)函数不能嵌套定义,但可以递归调用。
D)函数不能嵌套定义,也不能递归调用。
24、下列过程中,其功能是创建并打开一个文件的是(A)
A)Assign B)Reset C)Rewrite D)Write
25、程序段:
FORi:
=1TO5DO
FORj:
=2TOiDO
Writeln(‘A');
输出字符A的个数是(B)
A)5 B)10 C)15 D)20
26、下面关于FOR循环不正确的叙述是(D)
A)在循环体中不能改变循环控制变量的值
B)在执行过程中初值和终值不会改变
C)分为递增型和递减型两种
D)循环控制变量不必在程序的说明部分说明
27、枚举类型只能进行两种运算,即赋值运算和__C___。
A)算术运算 B)逻辑运算 C)关系运算 D)字符运算
28、枚举类型的值是有序号的,序号从__A___开始,自左到右,从小到大排列。
A)0 B)1 C)-1 D)自由定义
29、已知整型变量i,j的值为1,2;布尔型变量m,n的值为true,false,那么表达式NOT(i>j)ANDfalse0R(m=n)的值为__D___。
A)0 B)1 C)true D)false
30、在循环语句FOR语句中,采用保留字To,则循环变量初值必须__D___终值。
A)大于 B)小于 C)大于等于 D)小于等于
31.Pascal程序中无序类型是指(A)
A)实型
B)字符型
C)整型
D)布尔型
(2章基本类型)
32.有一单向链表,已知P,Q两接点,删除P接点的操作是(A)
head…….
QP
A)Q^.next:
=P^.next;B)q^.next^.next:
=next;
Dispose(p);dispose(p);
C)q^.next:
=p;D)p:
=q^.next;
P^.next:
=nil;q^:
=p^.next;
Dispose(P);p^.next:
=q^.next;
Dispose(p);
(11章链表删除)
33.Pascal语言中四级运算符的先后次序为(A)
A)notB)*/divmod
*/divmodand+-
+-ornotandor
关系运算符关系运算符
C)*/D)*/notdiv
Divmodnotmodandor
+-orand+-
关系运算符关系运算符
(1章运算符)
34、已知有说明(A)
CONSTa=1;b=2;c=3;d=4;
VARw,x,y,:
Integer;
执行语句
x:
=a;x:
=c;y:
=a+2;Z:
=b;w:
=d-a+b;
后,其值相等的变量是
A)x,yB)x,zC)x,wD)y,z
35、数学表达式Sin(60o)的正确PASCAL表达式是(C)
A)Sin(60)B)Sin(3.14159*60)
C)Sin(3,14159*60/180.0)D)Sin(60*3.14159/360.0)
36、下面语句中,可以使布尔型变量L的值为真的是(C):
A)L:
=TB)L:
=‘T’
C)L:
=TRUED)L:
=‘TRUE’
37、如果输入的数据是2,3,4,则下面程序的输出应为(C):
PROGRAMSAM(INPUT,OUTPUT);
VARi,x,y:
integer;
BEGIN
FORi:
=1TO3DO
BEGIN
Read(x);y:
=sqr(x)
END;
Writeln(‘x=’,x,‘y=’,y)
END.
A)x=2y=4x=3y=9x=4y=16
B)x=4y=16x=4y=16x=4y=16
C)x=4y=16
D)x=2y=4x=2y=4x=2y=4
38、分析下面的PASCAL程序,给出正确的运行结果(A)
PROGRAMmx(input,output);
VAR
R,s,t:
integer;
PROCEDUREchange(a,b:
integer);
VAR
T:
integer;
BEGIN
A:
=3*a; B:
=2*b; T:
=a+b;
End;
BEGIN
R:
=2;s:
=4;t:
=6;
Change(r,s);
Writeln(‘r=’,r,’s=’,s,’t=’,t)
End.
A)r=2s=4t=6
B)r=2s=4t=14
C)r=6s=8t=6
D)r=6s=8t=14
39、对于PASCAL语言的记录类型,其开域语句用保留字(D)
A)RECORDB)CASEC)WHILED)WITH
40、判断以下叙述,其中正确的是(A)
A)在pascal程序中所用到的变量必须先说明后使用
B)在pascal程序中,允许使用的最小值是-maxint
C)在pascal程序中,分号是语句的一部分,在每个语句中不能省略
D)在pascal程序中,符号常数的值可根据需要随时修改
41、下面循环语句仅执行一次的是(A)
A)I:
=0;B)I:
=0;
Repeatwhile(I<3)do
I:
=I+1;I:
=I+1;
Writeln(i)writeln(i);
UntilI<3
D)forI:
=0downto3doD)I:
=0
I:
=I+1;while(I>0)or(I<3)do
Writeln(i);I:
=I+1;
writeln(i);
42、设有过程首部proceduref(VARx:
integer;y:
real);
若a,b为整型变量,c为实型变量,则合法的过程调用语句是(D)
A)f(2,3)B)f(2,3.0)C)f(a+b,c)D)f(b,2)
43、以下标准数据类型中,(D)不能用读语句赋值
A)整型B)实型C)字符型D)布尔型
44、下面循环语句能构成有限次循环的是(A)
A)I:
=5;
repeat
i:
=i+1;
untilI>0
E)I:
=1;
Repeat
Writeln(i);
UntilI>1
F)I:
=5;
While(I>0)do
I:
=I+1;
Writeln(i);
G)I:
=1;
WhileI<>0do
I:
=I+2;
Writeln;
45.下列for循环的次数是(A)
a:
=true;b:
=false;
forI:
=atobdo
write(i);
A)0B)1C)AD)B
46.有一单向链表,已知P,Q两接点,删除P接点的操作是(A)
head…….
QP
A)Q^.next:
=P^.next;B)q^.next^.next:
=next;
Dispose(p);dispose(p);
C)q^.next:
=p;D)p:
=q^.next;
P^.next:
=nil;q^:
=p^.next;
Dispose(P);p^.next:
=q^.next;
Dispose(p);
47、以下各组运算中运算优先级最低的一组是(C)
A)+,-,ORB)*,/C)>=,<>,IND)DIV,MOD,AND
48、下列属PASCAL合法常数的是(A)
A)102 B)1O.0 C)35,000,000 D)1/2
49、一个文件的基类型不可以是(A)
A)文件B)数组C)实数D)记录数组
50、下列过程中,其功能是创建并打开一个文件的是(A)
A)Assign B)Reset C)Rewrite D)Write
16、枚举类型只能进行两种运算,即赋值运算和(C)。
A)算术运算 B)逻辑运算 C)关系运算 D)字符运算
51、枚举类型的值是有序号的,序号从(A)开始,自左到右,从小到大排列。
A)0 B)1 C)-1 D)自由定义
52、下面Pascal循环语句执行的循环次数是(C)_。
X:
=2;
y:
=50;
WHILEy>=xD0
x:
=x+x;
A)0 B)4 C)5 D)6
53、下列程序段执行后,D的值应是(C)。
A:
=FALSE;B:
=TRUE; C:
=FALLSE; D:
=20;
IFATHEND:
=D-10
ELSEIFNOTB
THENIFN0TC
THENX:
=15
ELSEX:
=25;
A)10 B)15 C)20 D)25
54、在Pascal程序中,过程参数有值参数、变量参数两种方式,其中变量参数传递(A)
A)实参的地址 B)实参的值 C)变参的地址D)变参的值
55、循环语句FORC:
=‘X’DOWNTO‘Z’DOwriteln;的循环次数是( A ):
A)0B)1C)2D)3
56、分析下面的一组语句,其中N为整型变量,这组语句执行的结果将输出字符串Good( D )个
n:
=0;
repeat
writeln(‘Good’);
n:
=n+2;
untiln=5
A)0B)3C)5D)无限
57、对于PASCAL语言的记录类型,其开域语句用保留字( D )
A)RECORDB)CASEC)WHILED)WITH
58、已知变量ch是字符型变量,下面PASCAL赋值语句正确的是( D )
A)ch:
=’abcd’;B)ch:
=chr(ord(succ(‘c’)+1));
C)ch:
=ord(‘b’)+ord(‘a’)D)ch:
=pred(succ(succ(‘f’)));
59、以下属非法的pascal用户自定义标识是( A )
A)CONSTB)FORMATC)MAXD)NEXT
60、下面函数首部或过程首部合法的是( B )
E)functionsum;
F)procedurenext;
G)functions(VARs:
real):
integer;
H)proceduref(a,b:
real):
char;
61、设有过程首部proceduref(VARx:
integer;y:
real);
若a,b为整型变量,c为实型变量,则合法的过程调用语句是( D )
A)f(2,3)B)f(2,3.0)C)f(a+b,c)D)f(b,2)
62、以下标准数据类型中,( D )不能用读语句赋值
A)整型B)实型C)字符型D)布尔型
63、设a和b为同一类型枚举变量,以下语句合法的是:
( A )
A)a:
=b;B)read(a,b);C)a:
=ord(b);D)writeln(a,b);
64.COS500+e-X的正确表达式为( C )
E)cos(50.0)+exp(-x)
F)cos(pi*50.0/180)+exp(-x)
G)cos(3.1416*50.0/180)+exp(-x)
cos(50.0)+1.0/exp(-x)
二、填空题
1、在下列程序中,当输入一个定数N后,能输出所有不超过N的、其平方由左右对称(1位数也认为是左右对称)的数字组成的数。
例如:
若输入23,则应输出:
1,2,3,11,22,因为它们的平方依次是:
1,4,9,121,484,都是左右对称的数字组成的数。
PROGRAMPALINDROME(INPUT,OUTPUT);
CONST MAX=1000;
VAR M,N,I,J,S:
INTEGER;
D:
ARRAY[0..MAX] OFINTEGER;
BEGIN
READlN(N);
FOR M:
=1TON D0
BEGIN
_________________;
{把组成数S每位数字存放于数组D中}
J:
=0;
WHILES>0 D0
BEGIN
J:
=J+1;
D[J]:
=SMOD10;
_________________;
END;
{判断组成数S的数字是否左右对称}
I:
=1;
WHILE(D[I]=D[J])AND(1BEGIN
I:
=I+1;
J:
=J-1;
END;
{若对称则输出}
IF I>=J THENWRITELN(_________________);
END;
END.
答案:
(1)S=M*M;
(2)S=SDIVl0;(3)M。
2、函数F判断整数A是否为素数。
FUNCTION F(A:
INTEGER):
B00LEAN;
VAR
K:
INTEGER;
FLAG:
B00LEAN;
BEDIN
FLAG:
=__________
K:
=2;
WHILE(K<=ADIV2)AND__________DO
IFAMODK=0THEN
_____________
ELSE
K:
=K+1;
F:
=FLAG;
END;
答案为:
(1)FAlSE;
(2)FAlSE;(3)TRUE。
3、设有以下程序:
PROGRAMT3(INPUT,0UTPUT);
VAR
N:
INTEGER;
PR0CEDUREP(……);
BEGIN
A:
=A-B;
B:
=B*A;
END;
BEGIN
N:
=8;
P(N,N);
WRITELN(N:
3);
END.
若过程首部的形式参数部分(……)分别为以下四种形式,则该程序执行后输出结果是:
(1)(A,B:
INTEGER)输出结果是________
(2)(AINTEGER;VARB:
INTEGER)输出结果是________
(3)(VARA:
INTEGER;B:
INTEGER)输出结果是________
(4)(VARA:
INTEGER;VARB:
INTEGER)的输出结果是________。
答案:
(1)8;
(2)128;(3)16;(4)256。
4、假设有一种进制,其单位为12,下列程序段将十进制整数N化为12进制。
请填写完全。
I:
=0;
REPEAT
I:
=I+1;
NUM[I]:
=N_________12;
N:
=N_________12;
UNTILN=0;
FORJ:
=IDOWNTO1DO
WRITE(NUM[J]);
WRITELN;
参考答案:
(1)MOD,
(2)DIV。
三、简答题(需要自己在理解的基础上总结)
(1)比较函数与过程的区别?
(5章p92p99)
例如:
函数由F