x 在c語言中是什麼意思,c語言中,! x 什麼意思?

時間 2021-05-07 20:01:12

1樓:八哥說科技

!(--x)在c語言中的意思是:對變數x先進行自減,再對變數x的值取邏輯非,如果x為0,表示式為真,非0表示式為假。

" !0" 這個邏輯表示式的值為1(判斷的這個數為0,成立,則其表示式的值為1)," !1" 這個邏輯表示式的值為0(判斷的這個數非0,不成立,則其表示式的值為0)。

「--」是自減運算子,含義是對變數先減1後取值。

在計算機裡面進行的是二進位制運算,邏輯判斷的結果只有二個值,稱這二個值為「邏輯值」,用數的符號表示就是「1」和「0」。其中「1」表示該邏輯運算的結果是「成立」的,如果一個邏輯運算式的結果為「0」,那麼這個邏輯運算式表達的內容「不成立「。

2樓:彭聽然

while(x)意思是說x非零情況下繼續執行,那while(!x)就是說x是0的情況下繼續執行,--x是說在用x參與運算前做x=x-1的操作。把上面的組合一下就是while(!

(--x)),懂了嗎?

3樓:匿名使用者

這個是c語言中唯一的三目運算子。

string1 ?a : b

意思是說:當string語句判斷是真的時候,該語句使用結果a,否則是用結果b。

4樓:匿名使用者

(!x++||y--)

這個邏輯大概就是

x等於0或者y不等於0最後表示式結果為1

++和--是後做的

還有如果x為0,y就不--了

5樓:匿名使用者

這個是一個條件語句的簡寫

就相對於:

if aa

belse

c如果aa為真,則執行b,否則執行c

6樓:超絕至精

1、c語言中=!是兩個運算子擺放在一起,「=」是賦值運算子,「!」邏輯非運算子;

2、邏輯操作符一般將其運算元視為條件表示式,返回結果為bool型別;

3、首先對其運算元求值,若結果為0,則條件為假(false),否則為真(true);

4、優先順序上「!」先於「=」;所有比如有下面的式子,int i;i=!5;

5、這個理解為:根據運算子優先順序,!先於=;首先5作為!的運算元,求值!5的結果是bool型的false。

6、然後false隱士轉換成int型,即0;所以i裡面的值是整形0。

擴充套件資料:

c語言運算

1、c語言的運算非常靈活,功能十分豐富,運算種類遠多於其它程式設計語言。

2、在表示式方面較其它程式語言更為簡潔,如自加、自減、逗號運算和三目運算使表示式更為簡單;

3、但初學者往往會覺的這種表示式難讀,關鍵原因就是對運算子和運算順序理解不透不全

特有特點

1、c語言是一個有結構化程式設計、具有變數作用域(variable scope)以及遞迴功能的過程式語言。

2、c語言傳遞引數均是以值傳遞(pass by value),另外也可以傳遞指標(a pointer passed by value)。

3、不同的變數型別可以用結構體(struct)組合在一起。

4、只有32個保留字(reserved keywords),使變數、函式命名有更多彈性。

5、部份的變數型別可以轉換,例如整型和字元型變數。

6、通過指標(pointer),c語言可以容易的對儲存器進行低階控制。

7、預編譯處理(preprocessor)讓c語言的編譯更具有彈性。

7樓:單曲13區

| 是位或運算,

例如:9|5可寫算式如下:

00001001

|00000101

00001101 (十進位制為13)可見9|5=13\ 相當於連線符號,表示下一行是上一行的繼續

8樓:

~是位運算子,在二進位制中是按位取反的意思,也就是0變成1,1變成0.

例如:二進位制數:a = 1010 1111那麼, ~a = 0101 0000所以: b = ~a 就表示:0101 0000 了。

9樓:匿名使用者

一樓回答的是正解,它和+=、-=的用法類似。

其實:a=10;

b=3;

a%=b;//等價於a=a%b其實現在a就是1

10樓:匿名使用者

c語言中什麼意思 1.模運算,即求餘數。表示式 a % b 就是計算 a 除以 b 得出的餘數。例如: 4 % 3 的結果是 1 2.轉義符,比如在scanf()和

11樓:匿名使用者

是關係運算子. 表示:判斷是否相等的。

如:if(a==b) /*判斷a與b是否相等,如相等則為真*/

12樓:匿名使用者

這是兩個運算子擺放在一起而已

「=」是賦值運算子

「!」邏輯非運算子,邏輯操作符一般將其運算元視為條件表示式,返回結果為bool型別:首先對其運算元求值,若結果為0,則條件為假(false),否則為真(true)

優先順序上「!」先於「=」

所有比如有下面的式子

int i;

i=!5;

這個要怎麼理解呢?

1.根據運算子優先順序,!先於=

2.首先5作為!的運算元,求值!5的結果是bool型的false3.然後false隱士轉換成int型,即04.所以i裡面的值是整形0

13樓:

int x=3,y=6,z;

z=x^y<<2;

這個答案應該是27,《為左移運算子,優先順序比^高,所以y左移兩位相等於4,再和x做異或運算得27.

y<<2==11000

x=00011

異或==11011化成十進位制便等於27

c語言中,!(--x)什麼意思? 30

14樓:浮生梔

c語言運算子,括號裡面(---x)表示x的值減去1,相當於「x」變為「x-1」,括號外面「!」表示取反(非0數變為0,0變為1)。

除了常見的三大類,算術運算子、關係運算子與邏輯運算子之外,還有一些用於完成特殊任務的運算子,比如位運算子。

擴充套件資料

優先順序,c語言中,運算子的運算優先順序共分為15 級。1 級最高,15 級最低。 在表示式中,優先順序較高的先於優先順序較低的進行運算。

而在一個運算量兩側的運算子 優先順序相同時,則按運算子的結合性所規定的結合方向處理。

結合性:c語言中各運算子的結合性分為兩種,即左結合性(自左至右)和右結合性(自右至左)。例如算術運算子的結合性是自左至右,即先左後右。

如有表示式x-y+z 則y 應先與「-」號結合,執行x-y 運算,然後再執行+z 的運算。這種自左至右的結合 方向就稱為「左結合性」。

而自右至左的結合方向稱為「右結合性」。最典型的右結合 性運算子是賦值運算子。如x=y=z,由於「=」的右結合性,應先執行y=z 再執行x=(y=z)運算。

c語言運算子中有不少為右結合性,應注意區別,以避免理解錯誤。

優先順序從上到下依次遞減,最上面具有最高的優先順序,逗號操作符具有最低的優先順序。所有的優先順序中,只有三個優先順序是從右至左結合的,它們是單目運算子、條件運算子、賦值運算子。其它的都是從左至右結合。

具有最高優先順序的其實並不算是真正的運算子,它們算是一類特殊的操作。()是與函式相關,與陣列相關,而->及.是取結構成員。

其次是單目運算子,所有的單目運算子具有相同的優先順序,因此在我認為的 真正的運算子中它們具有最高的優先順序,又由於它們都是從右至左結合的,因此*p++與*(p++)等效是毫無疑問的。

另外在c語言裡,沒有前置後置之分,因為++ -- 是右結合所以右側優先運算,表現為 "運算元後置優先順序比較高" 的假象,前置和後置的區分是因為運算子過載而後加入c++的

接下來是算術運算子,*、/、%的優先順序當然比+、-高了。

15樓:該使用者未註冊

在c語言

中,~x代表的意思是按位取反的意思。

將x按位取反

比如x = 10101010b。

那麼~x = 01010101b。

還要注意,在c語言中,還有邏輯取反符號「!」,「!x」的返回值只有0和1兩種。如果x為0,則!x=1。如果x不等於0.則!x的返回值為0。

擴充套件資料:c語言關鍵字。

signed    宣告有符號型別變數

unsigned  宣告無符號型別變數

struct    宣告結構體變數

union     宣告聯合型別

enum      宣告列舉型別

switch    用於開關語句

case      開關語句分支

default   開關語句中的「其他」分支auto      宣告自動變數,預設時編譯器預設為此const     宣告只讀變數

static    宣告靜態變數

register  宣告暫存器變數

16樓:回看電視的豬

!(--x)的值是邏輯值,如果執行到這句之前x==1,則此式值為true,否則值為false。然後執行此語句之後x變為x-1。

參照c99規定,非零整數作為邏輯值時為true,整數零作為邏輯值為false。

和!(x-1)不一樣,應該和!(x-1);x--;一樣。

17樓:匿名使用者

(!x++||y--)

這個邏輯大概就是

x等於0或者y不等於0最後表示式結果為1

++和--是後做的

還有如果x為0,y就不--了

18樓:匿名使用者

這個是c語言中唯一的三目運算子。

string1 ?a : b

意思是說:當string語句判斷是真的時候,該語句使用結果a,否則是用結果b。

19樓:匿名使用者

int x = 2;

int y;

y = !(--x);//使用x前先自減1y = !(1);//非真為假

y = 0;

20樓:潛伏的藍色幽默

在(--x)語句執行之前,x自減1

就是說int x=2,y;

y=1-(--x);//之後y=0,x=1

21樓:匿名使用者

這個是一個條件語句的簡寫

就相對於:

if aa

belse

c如果aa為真,則執行b,否則執行c

22樓:匿名使用者

例如 x=2;

首先 --x得到了1.然後 !1就是非1,就變成0嘞

23樓:匿名使用者

x的值先減1,再進行取反。如果非零則式子為0,0則非零

24樓:匿名使用者

等同於:

--x;

然後對x取反;(0取反為1, 非0取反為1)

25樓:空對空導彈

3這裡不是數字3,表示真,同非0的值都一樣。||表示或,就是符號前後兩種情況任意一種成立,結構就是成立的。所以3‖b=1

26樓:匿名使用者

或的意思。

3‖b表示3為真或者b為真。3>0,所以一定為真,所以就不用計算b是否為真了。

(3‖b)的值就是真(非0),即1

27樓:磨夜人

首先對!的理解是:

c語言裡面沒有bool(布林)型別

c++裡面才引入bool型別

c語言裡面用數值0表示假,非0整數表示真,1.所以當(--x)為正或負時都為真,而加上!號就是取反為假(0);

2.當(--x)為0時為假,加上!號取反為真(1);

--x就是x減1的意思,詳細的得看「操作符過載」如果要了解--x和x--的區別再自己去發帖或學習吧,學紮實點不是壞處

2.當(--x)等於0時,為假,加上!號取反為真(1);

而--x是

在C語言中是什麼意思,C語言中 c 是什麼意思?

勢如雲 這是c語言的邏輯運算子 異或 這個 講的非常詳細,我摘抄了一些,詳細的你看以看看。有很例子,好懂!邏輯運算子把各個運算的變數 或常量 連線起來組成一個邏輯表示式。邏輯運算子有4個,它們分別是 邏輯非 邏輯或 邏輯與 異或 在位運算裡面還有 位與 位或 的運算。什麼是邏輯運算 邏輯運算用來判斷...

c語言中extern是什麼意思,在C語言中標頭檔案的extern是什麼意思呢?

extern 宣告的函式是在外部定義的函式例項,最常見的就是通過extern定義在win32 dll定義的非託管函式。 取經人取經 就是全域性變數的意思,在建立工程的情況下,其他檔案也可以呼叫這個變數。 陳振龍 用了extern,就表示這個變數是全域性的和動態的,不存在使用哪一個的問題.比如3號檔案...

label在c語言中是什麼意思,在C語言中loop是什麼意思?

四舍 入 標籤的意思,一般用在goto語句中。比如 lable 001就是一個標籤 void main int a 0 int b printf hello lable 001 printf hello,lable 001 n a if a 5 goto lable 001 printf hello...