自学考试《高级语言程序设计》习题.docx
《自学考试《高级语言程序设计》习题.docx》由会员分享,可在线阅读,更多相关《自学考试《高级语言程序设计》习题.docx(9页珍藏版)》请在冰豆网上搜索。
![自学考试《高级语言程序设计》习题.docx](https://file1.bdocx.com/fileroot1/2023-4/19/a31f84e4-5188-4b3f-9bed-513ea68dad38/a31f84e4-5188-4b3f-9bed-513ea68dad381.gif)
自学考试《高级语言程序设计》习题
2010年自学考试《高级语言程序设计》习题
一、是非题(下列各题,你认为正确的,请在题干的括号内打“√”,错的打“×”。
每题1分,共10分)
1、实型是有序类型。
A.正确
B.不正确
2、保留字具有特定含义,不能挪作它用。
A.正确
B.不正确
3、true A.正确
B.不正确
4、exp可作用户标识。
A.正确
B.不正确
5、PASCAL源程序中一行只能写一个语句。
A.正确
B.不正确
6、PASCAL源程序中每个变量都必须说明。
A.正确
B.不正确
7、2.0E3.0是一个合法的实型常数。
A.正确
B.不正确
8、trunc(5.95)之值为5.0.
A.正确
B.不正确
9、函数的类型只能是有序类型。
A.正确
B.不正确
10、当形参为值参数方式时,对应的实参不能是变量。
A.正确
B.不正确
二、单选题(在本题的每一小题的备选答案中,只有一个答案是正确的,请把你认为正确答案的题号,填入题干的括号内。
多选不给分。
每题2分,共10分)
1.设i1,i2的整型变量,r1,r2是实型变量,下列哪一个语句是错误的( )
A.i1:
=i2DIVi1;
B.r1:
=i1DIVi2/i2;
C.r1:
=i1/r2;
D.i2:
=i1/i2;
2.设ch为字符变量,下列哪一个语句是正确的( )
A.ch:
=‘-3’;
B.ch:
=-ch;
C.ch:
=ch;
D.ch:
=‘R’+‘T’;
3.下列哪一个可用作用户自定久标识符( )
A.LABEL
B.A(i)
C.A+name
D.boolean
4.设a为123.4,执行write(a:
5:
2)后输出为( )
A.123.40
B.123.4
C.23.4
D.极错
5.在CASE语句中,下列哪一类常量不能用作选择因子( )
A.实型
B.整型
C.布尔型
D.枚举型
三、填空题(每空2分,共20分)
1、chr(8+ord(‘1’)之值为____________.
2、子程序调用时,对应变量参数方式形参传递的是实参的___________.
3、语句标号之大小必须为1到___________________的无符号整数。
4、succ(9)+ord(true)+5.0之值为__________________.
5、国际上用得最广泛的字符集叫____________________字符集。
6、代数式A≥B≥C对应的PASCAL表达式为______________________.
7、PASCAL的数据类型分为简单类型、构造类型和____________________.
8、代数式e|x|+3对应的PASCAL表达式为_____________________.
9、局部变量在____________________时才必须分配内存单元。
10、TEXT型变量是具有_____________________类型元素的文件。
四、选择填空题(本题中的每个小题,已分别给出相应的求解和程序。
但程序中空出若干个括弧,每个括弧中的4个备选答案。
请把你认为正确的答案题号填入题后相应的位置。
每空3分,共30分)
问题:
求2~1000之间的所有素数,并存入文件ff中。
程序:
PROGRAMprime(ff);
VAR
ff:
FILEOFinteger;
i,j:
integer;
b:
boolean;
BEGIN
( ① );
FORi:
=2TO1000DO
BEGIN
( ② );
FORj:
=2TOi-1DO
IFiMODj=0
THEN( ③ );
IFbTHENwrite(ff,i)
END
END.
1.你选择( )
A.reset(ff)
B.writeln(ff)
C.rewrite(ff)
D.new(ff)
2.你选择( )
A.b:
=false
B.b:
=true
C.b:
=‘false’
D.b:
=‘true’
3.你选择( )
A.b:
=false
B.b:
=true
C.b:
=‘false’
D.b:
=‘true’
问题:
构造一链表,并按与输入相同的次序输出该链表中的数据。
程序:
PROGRAMfifolist(input,output);
TYPE
pointer=↑cooperate;
cooperate=RECORD
next:
pointer;
data:
integer
END;
VAR
p1,p2,p3:
pointer;
BEGIN
( ④ );
P3:
=P1
read(p1↑。
data);
WHILENOTeofDO
BEGIN
( ⑤ );
read(p2↑。
data);
( ⑥ );
p3:
=p2
END;
P2↑。
next:
=NIL;
WHILEP1NILDO
GEGIN
write(p1↑。
data);
( ⑦ );
END;
END.
4.你选择( )
A.P1:
=NIL
B.P2:
=NIL
C.NEW(P1)
D.new(p2)
5.你选择( )
A.P1:
=NIL
B.P2:
=NIL
C.new(P1)
D.new(P2)
6.你选择( )
A.p3↑。
next:
=P2
B.P3↑。
next:
=NIL
C.P3↑。
next:
=P2↑。
next
D.p3↑。
next:
=p3
7.你选择( )
A.↑。
next:
=P1
B.P1:
=P1↑。
next
C.P1=P2.next
D.P1↑。
next:
P2↑。
next
问题:
统计并输出输入字串标点符号‘·’,‘,’,‘:
’和‘;’出现的总次数,直至出现字符‘?
’为止。
程序:
PROGRAMcounter(input,output);
TYPE
tp=SETOFchar‘
VAR
P:
tp;
ch:
chart;count:
integer;
BEGIN
( ⑧ );
p:
[‘·’,‘,’,‘:
’,‘:
’];
REPEAT
read(ch);
IF( ⑨ );
THENcount:
=count+1
UNTIL( ⑩ );
writeln(count)
END.
8.你选择( )
A.count:
=0
B.count:
=1
C.ch:
=‘ ’
D.count:
=-1
9.你选择( )
A.ch=P
B.ch<=P
C.chINp
D.ch>=P
10.你选择( )
A.ch:
=‘?
’
B.ch=‘?
’
C.ch< >‘?
’
D.ch>‘?
’
五、编写程序题(每题10分,共30分)
1、编一程序,计算并输出
S=1-x+x2/2-x3/3+…+(-1)nxn/n(n=1,2…)。
其中x,n由终端输入。
(x为实型,n为整型)
2、编一程序,输入二维整数数组A5×5所有元素之值,寻找并输出该数组中最大元素之值(设只有一个)及其位置(行号和列号)。
3、编一程序,从终端输入两个英文句子,每句均以句号结束,输出此两句子中都出现的所有大字英文字