19.設(shè)整型變量i的值為3,則計(jì)算表達(dá)式i---i后表達(dá)式的值為( )
A.0
B.l
C.2
D.表達(dá)式出錯(cuò)
【解析】有些運(yùn)算符只有一個(gè)字符,也有許多運(yùn)算符由兩個(gè)字符組成。特別是有些字符既可是單個(gè)字符的運(yùn)算符,又能組成雙字符的運(yùn)算符。編譯系統(tǒng)在識(shí)別源程序時(shí),通常是盡量多地讀八字符,能組成多字符單詞的先盡量組成多字符單詞。所以表達(dá)式i---i,被編譯器理解為(i--)-i。另外,當(dāng)表達(dá)式中某變量有后綴自增和自減運(yùn)算時(shí),先按變量的原值計(jì)算表達(dá)式,然后再對(duì)變量進(jìn)行自增和自減運(yùn)算。同樣地,當(dāng)表達(dá)式中某變量有前綴自增和自減運(yùn)算時(shí),先對(duì)變量進(jìn)行自增和自減運(yùn)算,然后再按變量的新值計(jì)算表達(dá)式。按這個(gè)約定,求表達(dá)式(i--)-i是計(jì)算i-i的值為0,然后再對(duì)i作自減運(yùn)算。這樣,表達(dá)式(i--)-i的值為0。所以解答是A。
【參考答案】A
20.設(shè)整型變量 a、b、c均為2,表達(dá)式 a+++b+++c++ 的結(jié)果是( )
A.6
B.9
C.8
D.表達(dá)式出錯(cuò)
【解析】與上一小題解答的理由相同,表達(dá)式a+++b+++c++被系統(tǒng)理解成:((a++)+(b++))+c++)。表達(dá)式“變量++”的值是變量的原來(lái)值,所以在變量a、b.c均為2的前題下,執(zhí)行上述表達(dá)式,得到結(jié)果為6。所以解答是A。
【參考答案】A
21.若已定義 x和 y為double類型,則表達(dá)式: x=l, y=x+3/2結(jié)果是( )
A.l
B.2
C.2.0
D.2.5
【解析】由于變量x和y都是double類型,表達(dá)式 x=l, y=x+3/2是先計(jì)算 x=1,由于 1是整型的,x是double類型的,該計(jì)算先將整數(shù)1轉(zhuǎn)換成double類型的1.0,并將1.0賦給變量x。計(jì)算 y=X+3/2是先求 3/2的值,因是兩整數(shù)相除,結(jié)果是整型值 1,然后在計(jì)算 X+1時(shí),也先將 1轉(zhuǎn)換成 1.0,然后求得 X+l的值為2.0,最后將該值賦給變量 y,并得到整個(gè)表達(dá)式的值為2.0.所以解答是C。
【參考答案】C
相關(guān)推薦:計(jì)算機(jī)軟考程序員備考:程序設(shè)計(jì)知識(shí)點(diǎn)匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |