本系列資料由"思達(dá)網(wǎng)校" 授權(quán)發(fā)布,任何網(wǎng)站不得轉(zhuǎn)載,否則追究法律責(zé)任。
●若正規(guī)表達(dá)式r=(a|b|c)(0|1)*,則L(r)中有(1)個元素。
[供選擇的答案]
(1)A.12 B.
●已知文法G(E)
E→T|E+T
T→F|T *F
F→(E)|i
句型(T *F+i)的語法樹中短語有(2),素短語(3),其中最左素短語是(4)。
[供選擇的答案]
(2)A、2個 B、3個 C、4個 D、5個
(3)A、1個 B、2個 C、3個 D、4個
(4)A、 (T*F+i) B、T*F+i C、T*F D、i
● 在下面的程序中,若實參a與形參x以引用調(diào)用(call by reference)的方式傳遞信息,則輸出結(jié)果為(5);若實參a與形參x以值調(diào)用(callbyvalue)的方式傳遞信息,那么輸出結(jié)果為(6)。
Mainprogram
|
Procedure addone(x)
|
[供選擇的答案]
(5) A.1 B.
(6) A.1 B.
●若正規(guī)表達(dá)式r=(a|b|c)(0|1)*,則L(r)中有(1)個元素。
[供選擇的答案]
(1)A.12 B.
[參考答案]
(1)D
[試題分析]
在本題中要求的根據(jù)正規(guī)表達(dá)式,確定其正規(guī)集合的元素個數(shù)。這里關(guān)鍵是理解閉包的概念。因為式中有(0|1)*,因此可以表示任意長度的0串或者1串。選D。
●已知文法G(E)
E→T|E+T
T→F|T *F
F→(E)|i
句型(T *F+i)的語法樹中短語有(2),素短語(3),其中最左素短語是(4)。
[供選擇的答案]
(2)A、2個 B、3個 C、4個 D、5個
(3)A、1個 B、2個 C、3個 D、4個
(4)A、 (T*F+i) B、T*F+i C、T*F D、i
[參考答案]
(2)C (3)B (4)C
[試題分析]
短語、直接短語、最左直接短語(句柄)、素短語、最左素短語以及推導(dǎo)、最左(最右)推導(dǎo)都是文法中最基本的概念。它們的定義相對比較抽象,因此我們可以借助語法推導(dǎo)樹來理解。
首先根據(jù)本題提供的文法和句型得到語法推導(dǎo)樹如下:
所謂素短語是指這樣一個短語,它至少含有一個終結(jié)符,并且除它自身之外不再含任何更小的素短語。最左素短語則指處于句型最左邊的那個素短語。因此本題中的素短語是i、T*F,共兩個,選B。而最左素短語是T*F,選C。
對于這類型的題,還可能涉及到兩個概念:最左推導(dǎo)和最右推導(dǎo)。最左推導(dǎo)是指任何一步推導(dǎo)過程σ→β,都是對σ中的最左非終結(jié)符進(jìn)行替換。因此,在語法樹中也很容易看出,如果語法樹中的只有最左的非終結(jié)符結(jié)點(包括各級結(jié)點)具有其子樹,則它就是最左推導(dǎo)。最右推導(dǎo)與之類似,最右推導(dǎo)也稱規(guī)范推導(dǎo)。
● 在下面的程序中,若實參a與形參x以引用調(diào)用(call by reference)的方式傳遞信息,則輸出結(jié)果為(5);若實參a與形參x以值調(diào)用(callbyvalue)的方式傳遞信息,那么輸出結(jié)果為(6)。
Mainprogram
|
Procedure addone(x)
|
[供選擇的答案]
(5) A.1 B.
(6) A.1 B.
[參考答案]
(5)D (6)A
[試題分析]
本題考察的是函數(shù)調(diào)用中實參和形參的交換過程,C語言中通過傳值的方式將實參傳給形參,主調(diào)函數(shù)與被調(diào)用的函數(shù)之間傳遞數(shù)據(jù)的方式有兩種,即被調(diào)用的函數(shù)返回值給主調(diào)函數(shù)和通過參數(shù)返回數(shù)據(jù)。也就是傳值調(diào)用和引用調(diào)用兩種。
在本題中,Mainprogram是主調(diào)函數(shù),addone是被調(diào)用的函數(shù),第一次是引用調(diào)用,對a的修改是針對實際參數(shù)的修改,具體過程如下:
a:=x+1;//x是指向a的,所以本式中a=2;x=1;
x:=x+2;//x被改變,x與相同,x=x+2=2+2=4
因為x是指向a的,所以a是4;
第二次調(diào)用的是值調(diào)用,具體過程如下:
a:=1; //a=1;
a:=x+1;//在addone中a=2,在Mainprogram中a=1;
x:=x+2; //改變了x的值并不能改變a的值
所以a=1
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |