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