高級語言程序設計考前沖刺模擬題(附答案)
一、是非題(下列各題,你認為正確的,請在題干的括號內打“√”,錯的打“×”。每題1分,共10分)
1、實型是有序類型。
A.正確
B.不正確
2、保留字具有特定含義,不能挪作它用。
A.正確
B.不正確
3、true<false之值為false.
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中。
程序:
PROGRAM prime(ff);
VAR
ff:FILE OF integer;
i,j:integer;
b:boolean;
BEGIN
( ① );
FOR i:=2 TO 1000 DO
BEGIN
( ② );
FOR j:=2TO i-1 DO
IF i MOD j=0
THEN( ③ );
IF b THEN write (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’
問題:構造一鏈表,并按與輸入相同的次序輸出該鏈表中的數據。
程序:
PROGRAM fifolist(input,output);
TYPE
pointer=↑cooperate;
cooperate=RECORD
next:pointer;
data:integer
END;
VAR
p1,p2,p3:pointer;
BEGIN
( ④ );
P3:=P1
read(p1↑。data);
WHILE NOT eof DO
BEGIN
( ⑤ );
read(p2↑。data);
( ⑥ );
p3:=p2
END;
P2↑。next:=NIL;
WHILE P1 NIL DO
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
問題:統計并輸出輸入字串標點符號‘。’,‘,’,‘:’和‘;’出現的總次數,直至出現字符‘?’為止。
程序:
PROGRAM counter(input,output);
TYPE
tp=SET OF char
VAR
P:tp;
ch:chart;count:integer;
BEGIN
( ⑧ );
p:[‘。’,‘,’,‘:’,‘:’];
REPEAT
read(ch);
IF( ⑨ );
THEN count:=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.ch IN p
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、編一程序,從終端輸入兩個英文句子,每句均以句號結束,輸出此兩句子中都出現的所有大字英文字母。




