問簡單的c語言問題x5x是什麼意思

2021-03-19 18:18:51 字數 5936 閱讀 8388

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=xz?x:z:w在c語言中什麼意思?求解釋,詳細點的。。謝謝了!

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進行 &&計算

最後就可以得出結果了

x5在c語言中是什麼意思,計算機c語言x5是什麼意思

在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 其實...

洛克人x5x的裝甲問題,洛克人X6的裝甲和道具

飛行裝甲。左邊第一關 在跳下車不久天花板上有個缺口,得打通這關zero學得二段跳之後才能上去。左邊第二關 剛開始的時候你是在摩托車上,你在路上會看到一些白色的橢圓,全吃掉以後會在摩托車報廢的地方開啟個口。左邊第三關 你在打完小boss以後你會到氣光炮的那個地方,往上走你會看到天花板有個缺口,那個有氣...

問非常簡單的C語言問題

第一個是初始化,第二個是錯誤的 下面兩種都是準確的 1 int a 2 int p a 2 int a 2 int p p a 第一個是定義時候初始化,第二個是賦值操作 你可以把int 看做是一個新型別 cccc在看看下面兩種情況 int a 2 或者int a a 2 這樣定義你要不懂就沒辦法了 ...