龍書 理論練習題(一)

2021-06-26 07:35:14 字數 1480 閱讀 4000

文法1:

e→ e+t | t    t→

t*f | f     f→

id文法2:e

→ t+e | t    t→

f*t | f     f→

id 文法3:e

→ e*t | t    t→

t+f | f     f→

id

三個文法均包括兩個運算+和*,但在結合性和優先順序的處理上有所不同:

文法1左結合,先*後+

文法2右結合,先*後+

文法3左結合,先+後*

編譯器將高階語言編寫的源程式翻譯成等價的,用

低階語言

編寫的目標程式,直譯器則是執行源程式,只是將源程式轉換成一次執行的

中間**

,並不生成目標程式。

4.編譯器相對於直譯器的優點是什麼?直譯器相對於編譯器的優點是什麼?

由於編譯器生成的目標程式將多次執行,故編譯過程中優化工作非常重要,產生的目標程式比解釋執行更為高效。

由於直譯器是逐句執行,故其錯誤診斷效果好於編譯器。

5.下面關於解釋程式的說法正確的是:

①.解釋程式解決了編譯程式不能解決的問題。 ‚

②.basic語言編寫的程式採用的執行方式是解釋執行。 ƒ

③.解釋語言的特點是執行程式時不產生目標**。

a.‚

①②     b. ②③

c.③① ƒ

d.③

b. basic 執行是解釋型即解釋便執行

6.描述一種語言的文法是:

a.唯一的      b.不唯一的    c.個數有限的   d.不能確定b

7.下面哪些不是語法分析器的任務。

①分析單詞是怎樣構成的 ‚

②分析單詞串是如何構成語句和說明的 ƒ

③分析語句和說明是如何構成程式的 „

④分析程式的結構

cc    

‚bcbc

ƒbcbcc

„bbbcc

cc bbbcc

a、  

z→abba→

aa|ab→

bb|b

b、   z→

abba

→aa|ab→

abb|b

c、   z→

aba→aab|a

d、   z→

aaba

→ab|aab|ε

d

c練習題 龍旗控股

龍旗控股 1 windows nt下的32位機執行環境下 char str welcome to 51 cc int array char p str int n int func int a 請計算 strlen str sizeof str sizeof array sizeof p sizeo...

Java練習題(一)

1.使用者輸入乙個整數,請輸出該整數的階乘 例如 5 120 class factorial system.out.printf d 階乘的結果為 d num,total 2.輸出99乘法表 class multiplication system.out.println for int i 1 i ...

練習題c (一)

1.計算字串最後乙個單詞的長度,單詞以空格隔開。include include using namespace std int main 2.計算最少出列多少位同學,使得剩下的同學排成合唱隊形 說明 n位同學站成一排,老師要請其中的 n k 位同學出列,使得剩下的k位同學排成合唱隊形。合唱隊形是指這...