34. 表達式 (39) 對應的逆波蘭式是“ab+-c/d-”。
(39) A.a-b-c/d
B.-(a+b)/c-d
C.-a+b/c-d
D.(a+b)/(-c-d)
參考答案:(39)B。
解析:一個表達式可用一棵二叉樹表示,其中的葉子節(jié)點表示操作數(shù),內(nèi)部節(jié)點表示操作符或中間結(jié)果,根節(jié)點表示整個表達式的值。對此二叉樹分別進行前序、中序和后序遍歷恰好為表達式的前綴表示(波蘭式)、中綴表示和后綴表示(逆波蘭式)。其中,表達式的前綴和后綴表示均可以將表達式中的括號省去而不影響計算次序和結(jié)果。
表達式的逆波蘭表示也就是后綴表示,它將運算符號寫在運算對象的后面,并指明其前面的操作數(shù)或中間結(jié)果所要執(zhí)行的運算。對后綴表達式從左到右求值,則每當掃描到一個運算符號時,其操作數(shù)是最近剛得到的。因此“ab+-c/d-”表示先將a與b相加,然后進行一元“-”運算,結(jié)果除以c,除運算的商再與d相減,即對應的表達式為“-(a+b)/c-d”。
35. 軟件開發(fā)工具VB、PB和Delphi是可視化的。這些工具是一種 (40) 程序語言。
(40) A.邏輯式
B.命令式
C.函數(shù)式
D.事件驅(qū)動
參考答案:(40)D。
解析:事件驅(qū)動(Event Driven)是指系統(tǒng)根據(jù)發(fā)生的事件發(fā)送消息給相應的程序,程序根據(jù)事件和當前狀態(tài),決定要做的事情。如果不發(fā)生事件,計算機的控制權(quán)并不是在正在執(zhí)行的程序手里,這時程序并不占用CPU資源。面向?qū)ο蠛涂梢暬绦蛟O計方法采用了事件驅(qū)動機制,所以程序設計方法發(fā)生了很大的改變。事件驅(qū)動給程序設計帶來了極大的靈活性。同時,它可以在不采用分時系統(tǒng)的前提下實現(xiàn)多進程。
可視化程序設計(Visual Programming)運用面向?qū)ο蟪绦蛟O計的概念,通過圖形化及可視途徑,構(gòu)建應用程序。它使程序設計更為簡單和容易。軟件開發(fā)工具Visual Basic、PB和Delphi提供了可視化的集成開發(fā)環(huán)境,運用代表通用于程序的圖標,通過圖形操作,構(gòu)建基于圖形用戶界面(GUI)的應用程序,是一種以事件驅(qū)動的程序語言。
36.在下列代碼中,錯誤的C代碼是(41)
(41)A. #definePI3.14159
B. #include"stdio.h";
C. if(2);
D. for(;;)if(1)break;
參考答案:(41)B。
解析:A是正確的宏定義。B的文件包含預處理命令行不可以有多余的分號字符。C是if語句,雖沒有任何意義,但就句法來說是正確的。D是for語句,其成分語句是if語句,從for語句來說,是一個無窮循環(huán)的控制結(jié)構(gòu),但它的成分語句因條件成立,執(zhí)行break語句,立即退出循環(huán)。同樣雖也是一條沒有任何意義的語句,但從句法規(guī)則來說,也是正確的。正確解答是B。
37.設有以下定義,則執(zhí)行語句"z=2*(N+Y(5+1));"后,z的值為(42)
#defineN3
#defineY(n)((N+l)*n)
(42)A. 出錯
B. 42
C. 48
D. 54
參考答案:(42)C。
解析:在新的宏定義中,可以使用前面已定義的宏名。另外,宏調(diào)用是這樣被替換展開的,分別用宏調(diào)用中的實在參數(shù)字符序列替換定定義字符序列中對應所有出現(xiàn)的形式參數(shù)。而宏定義字符序列中的不是形式參數(shù)的其他字符則保留。這樣形成的字符序列,即為宏調(diào)用的展開替換結(jié)果。所以代碼"z=2*(N+Y(5+1));"被替換成:
z=2*(3+((3+1)*5+1));
執(zhí)行該代碼,將使Z的值為48。解答為C。
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |