1樓:cissy小琳琳
、|查手冊上的優先順序,5種運算&&、+、||、==、/的優先順序哪個在前,優先順序高的先計算。
除法回最高,所以先算2/c,因答為是整型,2/c的結果是0。
其次是加法,b+c結果為9。
然後是&&,a&&b+c,即6&&9,即1。
然後是||(&&比||優先順序高),a&&b+c||b,即1||b,即1(這裡發生了邏輯短路,不需要知道b是多少就能算出表示式的值為1)。
最後是==。1==0的結果為0。
老實說我覺得這題沒什麼意思,c的一大缺陷就是優先順序的級別太多,誰也記不住,真正實踐寫**的時候還是要加上足夠多的括號。
2樓:匿名使用者
答案得0
. 若a=5,b=6,c=7,d=8,則表示式d=a/2&&b==c||!a的值為
3樓:金色潛鳥
按運算子 優先順序 賦值表示式可寫成:
d= ( ((a/2) && (b==c)) || !a )按次序: a/2 得 2; b==c 得 0; 2 && 0 得 0。
!a 得 0。
0 || 0 得 0。 0 賦給 d 。 d 得 0表示式 的值 為 0
4樓:匿名使用者
從左至右掃描
先計算a/2,結果為5/2,即1
再判斷b==c,結果為假,即0
然後判斷(a/2)&&(b==c),即1&&0,結果為假,即0然後a=5,非0,為真,則!a為假,即0
再判斷[(a/2)&&(b==c)]||(!a),即0||0,結果為假,即0
最後賦值d為0
5樓:哇塞這人真帥
根據運算子優先次序
可以得到d=[(a/2)&&(b==c)]||(!a)從左至右掃描
先計算a/2,結果為5/2,即1
再判斷b==c,結果為假,即0
然後判斷(a/2)&&(b==c),即1&&0,結果為假,即0然後a=5,非0,為真,則!a為假,即0
再判斷[(a/2)&&(b==c)]||(!a),即0||0,結果為假,即0
最後賦值d為0
建議再熟悉熟悉運算子優先次序
6樓:匿名使用者
d=a/2&&b==c||!a 相當於 d=((a/2)&&((b==c)||!a)),
也就是你先計算b==c,結果為0,
而!a結果也為0,所以(b==c)||!a結果為0所以d肯定為0的。
7樓:
udent supervisor at the
c語言問題,若a=b,b=4,c=2,則表示式(a-b)+c-1&&b+c/2值為?大神們幫幫忙
8樓:淚兮
加減乘除的優先順序就不用說了,邏輯運算的優先順序要低於算術運算版 所以上面的表示式權相當於(a-b+c-1)&&(b+c/2) a-b+c-1=1,b+c/2=5在邏輯運算中相當於真1,整個運算的結果就是1&&1==1求採納
c語言問題,若a=b,b=4,c=2,則表示式(a-b)+c-1&&b+c/2值為?如題 謝謝了
9樓:無節操ao的
加減抄乘除的優先順序就不用說了,邏輯
襲運bai算的優先順序要低於du
算術運算 所以上面的表示式相當
zhi於(a-b+c-1)dao&&(b+c/2) a-b+c-1=1,b+c/2=5在邏輯運算中相當於真1,整個運算的結果就是1&&1==1求採納
設a3,b4,c5,則邏輯表示式abcb
先執行a b c再1 b c 順序是對的 這是看優先順序 優先順序先後順序為 a b c b c就是a b c b c 邏輯與 是邏輯運算子,語句 a b c b c 的意思是 a的值為真且b c的值為真且b c的值為真 該語句最後的值為0。c語言 當a 5,b 4,c 2時,表示式a b b c的...
若a3,b2,c1則關係表示式abc的值
對了a b 為true 也就是1 1 c值為真 若a 3,b 2,c 1則關係表示式 a b c 的值為真 vara,b,c,d integer f boolean begin a 3 b 2 c 1if a b then d 1 if d c then f true else f false en...
設int a 5,b 6,表示式a ba
結果為bai7。條件表示式 du為 表 zhi達式1?表示式2 表示式3。先求解dao表示式內1,若其值為真 非容0 則將表示式2的值作為整個表示式的取值,否則 表示式1的值為0 將表示式3的值作為整個表示式的取值。先判斷 a b 是否為真,a表達的值為6,b 表達的值為6,兩者相等,為真。則將表示...