c語言中?和分別是什麼意思翱還有一

2021-03-07 21:50:31 字數 6069 閱讀 3554

1樓:江湖小菜

具體檢視運算

符。1. 算術運算子 :* - /

2.關係 運算 符: > < == != >= <=3. 邏輯運算子 :! && ||

4.位運算子:<< >> ~ | ^ &

5. 賦值運算子 :=及擴充套件賦值運算子

6.條件 運算 符:?:

7.逗號 運算 符:,

8. 指標運算子 :*和&

9.求位元組數 運算 符:sizeof

10. 強制型別轉換 運算子:(型別)

11.分量 運算 符:. ->

12. 下標 運算子:[ ]

13.其他:如 函式呼叫 運算 符:()

&和&&有區別,乙個是邏輯運算,乙個是指標運算要檢視具體用法弄就本書啃啃吧

2樓:

&=,表示將這個符號左邊的數和右邊的數做與運算,再把結果賦給左邊的數,例如:a &= b相當於

a = a&b。?:是問號表示式,例如 a>b?a:

b,意思就是如果a大於b,那麼這個表示式的值就是a,否則表示式的值為b。&和&&有區別的,前面乙個是按位與,後面乙個是邏輯與,例如:

1 & 2,這個表示式的值為0,1 && 2這個表示式的值為1

3樓:匿名使用者

&=應該和+= -=差不多吧

? :應該是三目運算子吧 例子:c=(a>b)?a:b 就是說 判斷a>b嗎 如果是c就賦值為a,否則就賦值為b。

乙個&表示的位與運算

兩個&表示的邏輯and

4樓:君子不刃

& 是按位與。

&& 是邏輯與。

------------------------------a &= b; 意思是: a = a&b;

a +=b; 意思是: a = a+b;

-------------------------------? : 是問號表示式。

a > b ? d : e 等價於下面這段**if(a > b)

else

5樓:匿名使用者

a &= b 等效於 a = a & b

?:是三目操作符

c語言中 & 和 && 的區別

6樓:他de生活

區別:1.運算子性質不同。

&是乙個位運算子。

&&是乙個邏輯運算子。

2.作用不同。

&是將兩個二進位制的數逐位相與,結果是相與之後的結果。

&&就是判斷兩個表示式的真假性,只有兩個表示式同時為真才為真,有乙個為假則為假,具有短路性質。

3.用途限制。

&除了是乙個位運算子,也是取位址符。

&&就是乙個單純的邏輯運算子,沒有任何其他含義。

7樓:靠名真tm難起

&和&&都是邏輯運算子,都是判斷兩邊同時真則為真,否則為假;但是&&當第乙個條件不成之後,後面的條件都不執行了,而&則還是繼續執行,直到整個條件語句執行完為止。

如&&例子中的i++>5被執行了,而i++<9並沒有被執行,這就是他們的差別。&例子中的i++>5和i++<9都被執行了。

8樓:第九暗騎士

「&&」(邏輯與)是邏輯運算子。 「邏輯與」相當於生活中說的「並且」,就是兩個條件都同時成立的情況下「邏輯與」的運算結果才為「真」。

「&」是位運算子。

與運算(&)

雙目運算。二個位都置位(等於1)時,結果等於1,其它的結果都等於0。

1 & 1 == 1

1 & 0 == 0

0 & 1 == 0

0 & 0 == 0

與運算的乙個用途是檢查指定位是否置位(等於1)。例如乙個byte裡有標識位,要檢查第4位是否置位,**如下:

byte b = 50;

if ( b & 0x10 )

cout < < "bit four is set " < < endl;

else

cout < < "bit four is clear " < < endl;

上述**可表示為:

00110010 - b

& 00010000 - & 0x10

----------------------------

00010000 - result

可以看到第4位是置位了

9樓:匿名使用者

這兩個運算子都是二進位制的按位操作符。

&: 二進位制「與」,如 1010 & 1011 = 1010,1010 & 1000 = 1000。都為1時,結果是1,否則是0

|: 二進位制「或」,如 1010 | 1011 = 1011,1010 | 1000 = 1010。有1時,結果是1,都是0時,結果為0。

c語言是一門通用計算機程式語言,應用廣泛。c語言的設計目標是提供一種能以簡易的方式編譯、處理低階儲存器、產生少量的機器碼以及不需要任何執行環境支援便能執行的程式語言。

儘管c語言提供了許多低階處理的功能,但仍然保持著良好跨平台的特性,以乙個標準規格寫出的c語言程式可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(微控制器或稱mcu)以及超級電腦等作業平台。

10樓:匿名使用者

區別在於

a&b按位與& 總會計算兩個表示式的值

a&&b

而邏輯與&&,如果第乙個表示式為假,後面乙個表示式就不會計算了;

11樓:

&一般用作位址符號,如定義陣列a,&a就是指向陣列的第乙個數的位址,&&是邏輯與的意思

c語言l裡 &&與&的區別?還有x=(y=4,z=16,k=32)什麼意思啊?x=(y==z)呢

12樓:匿名使用者

&& 是與運算,例:if(x==1 && y==1) 當x,y都等於1時執行括號內語句。

&是取位址的意思,例:scanf("%d",&a); 輸入乙個整數a,存放到a對應的記憶體位址

x=(y=4,z=16,k=32)和 x=(y==z) 我沒見過,一般你也用不到

13樓:

5&&4&&3&9 = 1(真) & 作雙目運算是「位與」,比&&邏輯與優先順序高

x=(y=4,z=16,k=32)給y賦值4 , z賦值16,k賦值32,然後所最後這個32(當時在暫存器中)賦給x

x=(y==z) 把y與z是否相等的邏輯值賦給x 值只會是 0或1 即假或真

3&9 結果為11,換成c中的邏輯值就是真(c中所有非零值為真,零值為假)

14樓:匿名使用者

&&是邏輯運算與運算,&是位運算的與。&的運算級高於&&,所以先進行&運算,也就是3&9

3的二進位制為00000011(int型)9的二進位制為:00001001,所以3&9=1,所以5&&4&&3&9=5&&4&&1=1(真)

x=(y=4,z=16,k=32)是逗號表示式,結果x=4;

x=(y==z),如果y==z成立,則x=1,否則x=0

c語言程式設計中=和==;&和&& 用法和意義上有什麼區別?

15樓:匿名使用者

您好!= 與 ==

『=』為賦值運算子,例如

a = b //將b的值賦給a

『==』為判斷語句中使用的符號,例如

if(a == b) //判斷a與b是否相等,如果相等,if條件成立,進入if下的語句

& 與 &&

『&』為位運算子,『&&』為邏輯運算子

例如c1 = 0x10 &  0x11 //按位相交,1&1=1,1&0=0,則c1的值為0x10

c2 = 0x10 && 0x11 //邏輯上,除0x00以外的都視為1,所以0x10和0x11都是邏輯1,則c2值為1

望採納!

16樓:匿名使用者

=:賦值運算子,將符號右邊的值賦給左邊的變數。

==:關係運算子,就是用來比大小的,返回值為1或0,1為真即符號兩邊相等;0為假即符號兩邊不相等。

&:按位與,二進位制由01組成,乙個0或1都表示一位,按位與就是把每乙個01都進行與運算。比如01001011&11010010=11011011

&&:邏輯與,與邏輯或、邏輯非共同構成邏輯關係。如:if(a>1&&a<10)表示a大於1且a小於10,即a在1到10之間。

=與==有很明顯的區別,很容易看得出來,這裡不多說,但按位與和邏輯與的區別並不明顯。

按我的理解,按位與主要針對的是二進位製數每位之間的與操作,比如上面解釋中舉的例子。但有時不都用二進位制表示按位與操作,如2&3,其實它暗地裡有乙個轉換的過程,就是把2和3都轉換成了0010和0011,得到的結果也不是布林值,而是2(0010)。而邏輯與是真與假的與操作,還是上面的例子,假如a=5,那麼a>1為真,a<10為真,根據邏輯與的運算規則,真與真的結果為真。

17樓:匿名使用者

前面乙個是位運算、後面乙個是邏輯運算,,,,,,,,,完全不一樣的

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

c語言中 *b=&a什麼意思 *b和&a分別是什麼含義啊?

18樓:秋楓

*b=&a這種寫法只有在定義時這麼寫才對,例如 int *b;*b=&a;是錯誤的,正確的是int a=1;int *b=&a;意思是說定義乙個指標b,b裡存的是a這個變數的位址。如果定義好了乙個這真b,那麼*b就指b這個變數裡存的位址裡的值(有點繞口,慢慢理解),&為取位址符,&a就是a這個變數的位址。

19樓:匿名使用者

說明b是乙個指標變數,其定義應該是這樣:int *b,a;

*是取值運算子,*b就是取b指向儲存空間的值;

&是取位址運算子,&a表示取變數a的位址。

*運算子後面應該跟指標;而&後面應該跟變數名(或陣列元素,或結構體變數.成員名)。

20樓:餡嘍嘍嘍

(a>b)?a:b

表示如果a>b為真,則取

問號後邊的第乙個值,這裡是a

如果a>b不為真,則取問號後邊的第二個值,這裡是b

《表示式1>?《表示式2>:《表示式3>; "?

"運算子的含義是: 先求表示式1的值, 如果為真, 則執行表示式2,並返回表示式2的結果 ; 如果表示式1的值為假, 則執行表示式3 ,並返回表示式3的結果。

若a-b非零值(即a-b邏輯值為1)則輸出a值;若a-b為零值(即a-b邏輯值為0),則輸出b值。

/  代表的是 除法。如果 a 和 b 都是整數,不是 float 等這種浮點數,所以結果只保留整數,所以  a/b 算出來是整數。

另外,% 代表的是取餘數,即: 5%3 等於 1 餘 2,結果就是 2

21樓:黑夜巫女

b是乙個指標變數,*b = &a是b裡存的是變數a的位址

c語言中 *b=&a什麼意思? *b和&a分別是什麼含義啊?

22樓:餡嘍嘍嘍

(a>b)?a:b

表示如果a>b為真,則取問號後邊的第乙個值,這裡是a

如果a>b不為真,則取問號後邊的第二個值,這裡是b

《表示式1>?《表示式2>:《表示式3>; "?

"運算子的含義是: 先求表示式1的值, 如果為真, 則執行表示式2,並返回表示式2的結果 ; 如果表示式1的值為假, 則執行表示式3 ,並返回表示式3的結果。

若a-b非零值(即a-b邏輯值為1)則輸出a值;若a-b為零值(即a-b邏輯值為0),則輸出b值。

/  代表的是 除法。如果 a 和 b 都是整數,不是 float 等這種浮點數,所以結果只保留整數,所以  a/b 算出來是整數。

另外,% 代表的是取餘數,即: 5%3 等於 1 餘 2,結果就是 2

c語言中 和 的區別,c語言中「 」號是什麼意思?

c語言中 與 的區別如下 是否為單行註釋。是用於多種語言的單行註釋語句。是註釋語句,不限制行數,在 和 之間的即為註釋。實用性的區別。是用於多種語言的單行註釋語句,適用方便快捷,但是實用性不如多行註釋。是註釋語句,不限制行數,在 和 之間的即為註釋,實用性大,但是符號鍵盤敲打麻煩。程式編譯時,不對註...

請問c語言中和的意思,C語言中 和 符號是什麼意思?

是邏輯與.a b 只有當a和b都為真時,結果為真.否則為假.a b是邏輯或,當a和b都為假時,結果為假.否則為真.int a 1,b 2,c 3,d 4 c a b 1 2 1 d a b 1 2 1 c語言在進行邏輯與和或運算的特殊性 a b 如果a為0,則上述表示式的值為0,這時不進行b的運算 ...

c語言中的關鍵字分別是什麼意思,C語言中的32個關鍵字分別是什麼意思

1.資料型別關鍵字 12個 1 char 宣告字元型變數或函式 2 double 宣告雙精度變數或函式 3 enum 宣告列舉型別 4 float 宣告浮點型變數或函式 5 int 宣告整型變數或函式 6 long 宣告長整型變數或函式 7 short 宣告短整型變數或函式 8 signed 宣告有...