1樓:光霖
先判斷x是否小於5.如果是小於,那麼再判斷之後的表示式:看非x是否為1. 反之,如果x>=5,那麼此時已經為假。不執行之後的語句 。
舉個例子:x=4 首先滿足x<5,再判斷之後的語句,!x=0.所以即為1&&0,答案變為0.
c語言:!(x+y)+z-1 && y+z/2 跪求高手解答 不勝感激。 謝謝!!
2樓:我是果瘋
算數運算子優先於邏輯運算子。
先算(x+y),再算(x+y)-z,再算(x+y)-z-1。
若(x+y)-z-1的結果為非零數,則!(x+y)-z-1的值為0。
(x+y)-z-1的值為0,則!(x+y)-z-1的值為1。
先算z/2,再算y+z/2。
若y+z/2的值為0,那麼整個表示式的值為0。
若左邊(x+y)-z-1的結果為1 ,y+z/2的結果非零值,那麼整個表示式的結果為1。
其他情況,&&左右兩邊出現一個零,則整個表示式的結果為0。
3樓:匿名使用者
這個語句大部分是用在if()裡面當作條件表示式的,因為c語言沒有真正意義的bool型別,而是定義了 0 為 false, 非 0 為true,所以條件表示式可以是算術表示式
先計算 (x+y) 再取 非 (這裡注意,任何非零的值取非,結果是0, 但是 0 取非,值為1,這是c語言定義的), 值再 +z -1 , 結果如果為零,則不 執行 && 後面的 y+z/2, 因為 0&&任意值 都是 0 即為 false,只有在 && 前面為 true的時候才會去執行 && 後面的語句
這裡考查的是 運算子的優先順序,以及 && 的細節,如果是考試中的話可能會出現 x++ && x++ 或者 x++ || x++ 然後問x的值 之類問題
4樓:匿名使用者
參考人家的,這種題知道運算優先順序就萬事ok了
1級優先順序 左結合
() 圓括號
下標運算子
-> 指向結構體成員運算子
. 結構體成員運算子
2級優先順序 右結合
! 邏輯非運算子
~ 按位取反運算子
++ 字首增量運算子
-- 字首增量運算子
+ 正號運算子
- 負號運算子
(型別) 型別轉換運算子
* 指標運算子
& 地址與運算子
sizeof 長度運算子
3級優先順序 左結合
* 乘法運算子
/ 除法運算子
% 取餘運算子
4級優先順序 左結合
+ 加法運算子
- 減法運算子
5級優先順序 左結合
<< 左移運算子
>> 右移運算子
6級優先順序 左結合
<、<=、>、>= 關係運算子
7級優先順序 左結合
== 等於運算子
!= 不等於運算子
8級優先順序 左結合
& 按位與運算子
9級優先順序 左結合
^ 按位異或運算子
10級優先順序 左結合
| 按位或運算子
11級優先順序 左結合
&& 邏輯與運算子
12級優先順序 左結合
|| 邏輯或運算子
13級優先順序 右結合
? : 條件運算子
14級優先順序 右結合
= += -= *= /= %= &= ^= |= <<= >>= 全為賦值運算子
15級優先順序 左結合
, 逗號運算子
優先順序從上到下依次遞減,最上面具有最高的優先順序,逗號操作符具有最低的優先順序。
所有的優先順序中,只有三個優先順序是從右至左結合的,它們是單目運算子、條件運算子、賦值運算子。其它的都是從左至右結合。
具有最高優先順序的其實並不算是真正的運算子,它們算是一類特殊的操作。()是與函式相關,與陣列相關,而->及.是取結構成員。
其次是單目運算子,所有的單目運算子具有相同的優先順序,因此在我認為的 真正的運算子中它們具有最高的優先順序,又由於它們都是從右至左結合的,因此*p++與*(p++)等效是毫無疑問的。
另外在c語言裡 沒有前置後置之分 因為++ -- 是右結合所以 右側優先運算 表現為 "後置優先順序比較高" 的假象 前置和後置的區分是因為運算子過載而後加入c++的
接下來是算術運算子,*、/、%的優先順序當然比+、-高了。
移位運算子緊隨其後。
其次的關係運算子中,< <= > >=要比 == !=高一個級別,不大好理解。
所有的邏輯操作符都具有不同的優先順序(單目運算子出外,!和~)
邏輯位操作符的"與"比"或"高,而"異或"則在它們之間。
跟在其後的&&比||高。
接下來的是條件運算子,賦值運算子及逗號運算子。
在c語言中,只有4個運算子規定了運算方向,它們是&&、| |、條件運算子及賦值運算子。
&&、| |都是先計算左邊表示式的值,當左邊表示式的值能確定整個表示式的值時,就不再計算右邊表示式的值。如 a = 0 && b; &&運算子的左邊位0,則右邊表示式b就不再判斷。
在條件運算子中。如a?b:c;先判斷a的值,再根據a的值對b或c之中的一個進行求值。
賦值表示式則規定先對右邊的表示式求值,因此使 a = b = c = 6;成為可能。
5樓:匿名使用者
x,y,z,的數值是多少啊。
6樓:匿名使用者
!(((x + y )+ z - 1)&& (y + (z / 2)))
m=x
7樓:匿名使用者
加括號後就清楚了
m=(xz?x:z):w).
意思是if(xz)
else
}else
希望採納!
8樓:陳龔
其實這是一個條件表示式的複合句最後再賦值~條件表示式其一般形式是x>y?x:w 其意思是x與y比較大小,若x>y成立,則這個表示式的值為x,反之為w。
本題中,相當於是把第一個?後的x用x>z?x:z來代替而已!
不知道明白沒~
9樓:手機使用者
拆開來就是這樣:
a=x>z?x:z;
m=x 急問c語言中 y[j++]=x[i];x[i]=-1; 是什麼意思啊?好多的機考填空題中都有這句 什麼意思呢 謝謝大家了 10樓:匿名使用者 for(i=j=p;iav) 就是 如果x[i]比平均數av大 那麼就先放到陣列y裡面(從前往後的放)並將x[i]的值設為-1 for(i=0;i組裡面比平均屬大的放到y裡並且是左面,現在將x陣列裡比平均數小的放入y右邊 (注應該是y[j++]而不是j[j++]) for(i=0;i 11樓:匿名使用者 y[j++]=x[i];x[i]=-1;相當於y[j]=x[i];x[i]=-1;j++主要就是這個y[j++]這裡的j++先取當前j的值,然後在運算後對j加上1 所以效果就和上面的一樣 12樓:constantly素言 x[i]=-1是把大於平均數的陣列都記為-1,目的是區分開那些不大於平均數的陣列 這樣的話 如果x[i]!=-1 那麼就是小於平均數的那些 這樣再做一個迴圈就把他們都賦值給y陣列了 請問在c語言中"→"是什麼意思?幹什麼用的?謝謝! 13樓: 在通過結構變數名稱指定結構分量時,使用的連結符號是圓點:student.name 當通過結構指標(即一個結構儲存區的地址)指定該結構分量時,就是用→例如:ps→name → 輸入時使用一個減號和一個大於號組成的。 14樓:匿名使用者 沒有這個符號吧。只有->這個,是在結構體共用體類中用到的 15樓:圖圖她爸爸 這個箭頭是指標的意思。 c語言中 if(a||b&&c) ......... 什麼意思啊?謝謝。。 16樓: ||1&&表示邏輯與運算; 2||表示邏輯或運算; 3&&運算優先順序高於||運算; 4 舉例: (3>2)||(1>2)&&(3>4) =true||false&&false =true||false =true------------1 17樓: 若a=1並且b=2(執行該步操作後,b的值加1為3)。 邏輯運算子是根據表示式的值來返回真值或是假值。其實在c語言中沒有所謂的真值和假值,只是認為非0為真值,0為假值。 符號 功能 && 邏輯與 || 邏輯或 ! 邏輯非 當表示式進行&&運算時,只要有一個為假,總的表示式就為假,只有當所有都為真時,總的式子才為真。當表示式進行||運算時,只要有一個為真,總的值就為真,只有當所有的都為假時,總的式子才為假。邏輯非(! )運算是把相應的變數資料轉換為相應的真/假值。若原先為假,則邏輯非以後為真,若原先為真,則邏輯非以後為假。 還有一點很重要,當一個邏輯表示式的後一部分的取值不會影響整個表示式的值時,後一部分就不會進行運算了。例如: a=2,b=1; a||b-1; 因為a=2,為真值,所以不管b-1是不是真值,總的表示式一定為真值,這時後面的表示式就不會再計算了。 這是一類特殊的運算子,自增運算子++和自減運算子--對變數的操作結果是增加1和減少1。例如: --couter; couter--; ++amount; amount++; 看這些例子裡,運算子在前面還是在後面對本身的影響都是一樣的,都是加1或者減1,但是當把他們作為其他表示式的一部分,兩者就有區別了。運算子放在變數前面,那麼在運算之前,變數先完成自增或自減運算;如果運算子放在後面,那麼自增自減運算是在變數參加表示式的運算後再運算。這樣講可能不太清楚,看下面的例子: num1=4; num2=8; a=++num1; b=num2++; a =++num1;這總的來看是一個賦值,把++num1的值賦給a,因為自增運算子在變數的前面,所以num1先自增加1變為5,然後賦值給a,最終a也為5。b=num2++;這是把num2++的值賦給b,因為自增運算子在變數的後面,所以先把num2賦值給b,b應該為8,然後num2自增加1變為 9。 那麼如果出現這樣的情況我們怎麼處理呢? c=num1+++num2; 到底是c=(num1++)+num2;還是c=num1+(++num2);這要根據編譯器來決定,不同的編譯器可能有不同的結果。所以我們在以後的程式設計當中,應該儘量避免出現上面複雜的情況。 18樓:有錢買不起房子 如果表示式a是真 或者 表示式b和表示式c都是真,將執行後面語句。 ||是邏輯運算子或 ,&&是邏輯運算子與 在c語言裡,0代表假,非0代表真。例如a=3,b=0,c=4,那麼a||b&&c 3||0&&4 將是1 是真 19樓:匿名使用者 a或b且c 因為「且」的優先順序比「或」的高,所以先判斷 b且c,然後結果跟a「或」 另外c語言中非零為真,0為假。 「或」 "且" "非" 這種邏輯運算具體怎麼算不用多說了吧…… 20樓:匿名使用者 || 和&&優先順序一樣,所以按照從左到右的順序來算 先算a||b 得出結果 與 c進行 &&計算 最後就可以得出結果了 在c語言中,表示式x 5等價於x x 5 即將x 5的值再賦值給變數x。下面舉例說明其具體的用法 int x 4 x 5 等價於x x 5 4 5 9,即該表示式執行完後x的值變為9 printf d x 輸出9 計算機c語言x 5是什麼意思 x 5 等同於 x x 5 就是將x 5的值賦給x 其實... 飛行裝甲。左邊第一關 在跳下車不久天花板上有個缺口,得打通這關zero學得二段跳之後才能上去。左邊第二關 剛開始的時候你是在摩托車上,你在路上會看到一些白色的橢圓,全吃掉以後會在摩托車報廢的地方開啟個口。左邊第三關 你在打完小boss以後你會到氣光炮的那個地方,往上走你會看到天花板有個缺口,那個有氣... 第一個是初始化,第二個是錯誤的 下面兩種都是準確的 1 int a 2 int p a 2 int a 2 int p p a 第一個是定義時候初始化,第二個是賦值操作 你可以把int 看做是一個新型別 cccc在看看下面兩種情況 int a 2 或者int a a 2 這樣定義你要不懂就沒辦法了 ...x5在c語言中是什麼意思,計算機c語言x5是什麼意思
洛克人x5x的裝甲問題,洛克人X6的裝甲和道具
問非常簡單的C語言問題