13.設(shè)變量 m,n,a,b,c,d均為以執(zhí)行(m=a==)||(n=c==d)后,m,n的值是( )
A.0,0
B.0,1
C.l,0
D.1,1
【解析】計(jì)算(m=a==b)||(n=c==d)的過程是先計(jì)算邏輯或的左運(yùn)算分量(m=a==b)的值,由于賦位運(yùn)算符的優(yōu)先級比關(guān)系運(yùn)算符==的優(yōu)先級低,又先計(jì)算 a==b。因 a,b均為0后,所以比較結(jié)果值為1。將1賦給變量m,使變量m的值變?yōu)? 。同時這個賦值運(yùn)算的結(jié)果也是1,這樣邏輯運(yùn)算的左運(yùn)算分量的值為1。由于邏輯或運(yùn)算的左運(yùn)算分量值為1,按照C語言對邏輯或運(yùn)算優(yōu)化計(jì)算的規(guī)定,不再計(jì)算邏輯或的右運(yùn)算分量,而直接得到邏輯或運(yùn)算的結(jié)果為1 。由于邏輯或的右運(yùn)算分量不曾計(jì)算過,所以變量n的值也不為變化。這樣,上述表達(dá)式計(jì)算后,變量m的情為1,變量n的值為0。所以解答是C。
【參考答案】C
14.設(shè)a為5,執(zhí)行下列計(jì)算后,b的值不為2的是( )
A. b=a/2
B. b=6-(--a)
C. b=a%2
D. b=a<3?3:2
【解析】因兩個整型數(shù)據(jù)相除,結(jié)果是整數(shù),當(dāng)a的值為5時,計(jì)算表達(dá)式b=a/2后,使b的值為2。計(jì)算表達(dá)式b=6-(--a)是先計(jì)算子表達(dá)式(--a)的,先讓a的值減1變成4,并以減1后的a為子表達(dá)式的結(jié)果,所以子表達(dá)式的結(jié)果為4,最后使b的值為2。在計(jì)算表達(dá)式b= a%2時,求余運(yùn)算a%2的結(jié)果為1,最后使變量b的值為1。計(jì)算表達(dá)式b=a<3?3:2時,先計(jì)算條件表達(dá)式a<3?3:2,以2為結(jié)果,最后也使變量b的值為人所以解答是C。
【參考答案】C
15.執(zhí)行語句“x=(a=3,b=a--);”后,X,a,b的值依次為( )
A.3,3,2
B.2,3,2
C.3,2,3
D.2,3,3
【解析】計(jì)算表達(dá)式x=(a=3,b=a--)時,先計(jì)算賦值號右端圓括號內(nèi)的逗號表達(dá)式。遠(yuǎn)號表達(dá)式要求各子表達(dá)式順序計(jì)算,并以最后予表達(dá)式的值為整個逗號表達(dá)式的結(jié)果。所以該表達(dá)式計(jì)算時,先讓變量a的值為3,a--的值是a當(dāng)時的值,以該值為結(jié)果賦給變量b,并以該值為遠(yuǎn)號表達(dá)式的值賦給變量x,然后a的值被減少1。所以計(jì)算該表達(dá)式后,使變量x,a,b的值依次為3,2,3。所以解答是C。
【參考答案】C
相關(guān)推薦:計(jì)算機(jī)軟考程序員備考:程序設(shè)計(jì)知識點(diǎn)匯總北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |