16.設(shè)整型變量m,n,a,b,c,d均為1,執(zhí)行“( m=a》b)&&(n=a》b)“后m,n的值是( )
A.0,0
B.0,l
C.1,0
D.1,l
【解析】表達(dá)式(m=a 》b)&&(n=a 》b)是一個邏輯表達(dá)式,它的計算過程是先計算邏輯與的左分量(m=a》b,其中又是先計算a》b。因a》b不成立,結(jié)果為0,將0賦給變量m,最后邏輯與的左分量結(jié)果為0。由于邏輯運(yùn)算采用特別的優(yōu)化計算規(guī)則,當(dāng)邏輯與的左分量結(jié)果為0時,不再計算邏輯與的右分量,而直接以0為邏輯與的結(jié)果。所以,上述表達(dá)式計算使m的值變?yōu)?,而n的值沒有變,依舊為l。所以解答是B。
【參考答案】B
17. 設(shè)有代碼“int a=3;”,則執(zhí)行了語句“a+=a-= a*a;”后,變量a的值是( )
A.3
B. 0
C. 9
D. -12
【解析】由于賦值運(yùn)算符的結(jié)合性自右至左,語句“a+=a-=a*a;”的執(zhí)行是先計算a*a,得到值 9,再計算 a-=a*a,使 a的值為-6,接著計算 a+=a,使 a的值為-12。所以解答是D。
【參考答案】D
18.在以下一組運(yùn)算符中,優(yōu)先級最高的運(yùn)算符是( )
A.《=
B.=
C.%
D.&&
【解析】常規(guī)運(yùn)算符的優(yōu)先級自高到低的排列順序是算術(shù)運(yùn)算符、移位運(yùn)算符、關(guān)系運(yùn)算符。按位運(yùn)算符、邏輯運(yùn)算符、條件運(yùn)算符、賦值運(yùn)算符、逗號運(yùn)算符。所以問題所給的四個運(yùn)算符按優(yōu)先級自高到低的排列順序是%,《=,&&,=。所以解答是C。
【參考答案】C
19.設(shè)整型變量i的值為3,則計算表達(dá)式i---i后表達(dá)式的值為( )
A.0
B.l
C.2
D.表達(dá)式出錯
【解析】有些運(yùn)算符只有一個字符,也有許多運(yùn)算符由兩個字符組成。特別是有些字符既可是單個字符的運(yùn)算符,又能組成雙字符的運(yùn)算符。編譯系統(tǒng)在識別源程序時,通常是盡量多地讀八字符,能組成多字符單詞的先盡量組成多字符單詞。所以表達(dá)式i---i,被編譯器理解為(i--)-i。另外,當(dāng)表達(dá)式中某變量有后綴自增和自減運(yùn)算時,先按變量的原值計算表達(dá)式,然后再對變量進(jìn)行自增和自減運(yùn)算。同樣地,當(dāng)表達(dá)式中某變量有前綴自增和自減運(yùn)算時,先對變量進(jìn)行自增和自減運(yùn)算,然后再按變量的新值計算表達(dá)式。按這個約定,求表達(dá)式(i--)-i是計算i-i的值為0,然后再對i作自減運(yùn)算。這樣,表達(dá)式(i--)-i的值為0。所以解答是A。
【參考答案】A
相關(guān)推薦:北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |