c語言中的運算子的與和與有什麼區別,用在什麼

2021-05-23 08:46:31 字數 5802 閱讀 1346

1樓:yesyes科

和|&和|是位運算。&&和||表示邏輯關係,&&和||表示式最終的值只可能是真(1)或者假(0),而位運算表示式的值不限於0和1 兩者在特定情況下的效果是相同的。操作方法如下:

1、首先這裡用到字元的ascii碼,a的ascii碼為65,之後用scanf函式進行輸入。if設定為巢狀語句,判斷輸入的字元是不是在a-z之間,系統比較的是二者的ascii碼,來輸入大寫字母g。

2、還是字母大小寫的轉換,利用邏輯運算子對第一個程式進行改寫。使用邏輯與&&運算子之後,**更易於理解,而且計算機處理的時候更容易。

3、將letter = letter - 『a' = 'a'改為了letter  += 'a' - 'a',**可讀性提高,開始執行,輸入一個【,可以看到,非字母字元的輸出達到了解決。

4、接下來要用五個新函式去完成這個程式,isalpha(),這個函式用來測試字元是否為字母,是返回true,isupper()和islower()用來測試字母是大寫還是小寫,最後兩個函式toupper和tolower分別是用來將字元轉換為大寫和小寫。

5、執行輸入g,就完成了。

2樓:匿名使用者

&和|是位運算;&&和||表示邏輯關係

&&和||表示式最終的值只可能是真(1)或者假(0)

而位運算表示式的值不限於0和1兩者在特定情況下的效果是相同的,但是不建議這麼做,會讓人產生困惑

3樓:匿名使用者

|,c語言中邏輯運算子(&&,||,!)和位運算子號(&,|,^)的區別

在c語言中,程式設計者經常混淆兩組運算子:(&&,||,!)和(&,|,^)。

第一組是邏輯運算子,它的運算元是布林型,而第二組則是位運算子,其運算元是位序列。在布林型運算元中,只有兩個數值,0或1。c語言規定,在邏輯運算中,所有的非0數值都看做1處理。

而位序列則可以是有無符號的字元型,整型,長短整型等。在位運算中,是相應的位之間進行邏輯運算。因此,從邏輯上講,位運算過程包含多個邏輯運算過程。

通常,位運算運算元選擇無符號型資料。

1 應用例項

#include

int main(int argc, char *argvs)執行結果是:

false: a && b is 0

true: a && s is 1

true: a && c is 1

true: s && c is 1

a & b is 0

a & s is 10

a & c is 1

s & c is 0

a & 0x110 is 10

4樓:匿名使用者

& |是位操作,一般操作在某個變數上

&& || 是邏輯判斷,並且和或者的意思,一般操作在表示式邏輯上的,如:

if ( a&& b ) 表示 a為真且b為真c= a&b ; //進行運算,得到一個新的結果

5樓:竹冽巖青

&是 按位與 比如a=0xf0(11110000b),b=0xcc(11001100),那麼a&b=0xc0(11000000b),意思就是每組二進位制位響應地做與運算

同理 | 是按位取或,a|b=0xfc(11111100b)意思就是每組二進位制位相應地做或運算。

&&和||就是判斷邏輯的與和或,比如(a==b)&&(c==d)意思就是,a等於b,並且c等於d時表示式為真,邏輯上的

c語言中,&和&&有什麼區別,|和||有什麼區別

6樓:天雨下凡

&和|是針對位的操作,&&與||是邏輯操作符

設有變數x和y,則x&y,是先把x與y轉換成二進位制,再對每一位進行&運算,都為1,則結果為1,否則為0,x|y也是先把x與y轉換成二進位制,再對每一位進行|運算,只要有一個為1,則結果為1,二個都為0,結果才為0

x&&y,如果x與y都為真(非0),則結果為1,否則為0,x||y,只要x與y中有一個為真(非0),則結果為1,只有兩都同時為0,結果才為0

7樓:my繆宇

&:是與的意

思&&:是且的意思

|:是或的意思

||:也叫或

&: 兩個數字位操作 and。或者取某個變數的地址,或宣告引用。

對 bit:(0 & x ) = 0; ( 1 & x ) = x;

&&:兩個 bool 值的「並且」。( false && x ) = false; (true && x)= x;

|:兩個數字 位操作 or。對 bit: ( 0 | x ) = x; ( 1 | x ) = 1;

||:兩個bool 值的「或」。( true || x ) = true; ( false || x ) = x;

邏輯運算與按位運算,不一樣的兩種運算。

按位運算是把整數的每個二進位制位與另一個整數對應的每個二進位制位進行運算,是整數到整數的運算。邏輯運算其實是布林值到布林值的運算,只不過在c當中,所有非零整數都理解true,所有0都理解為false。所以4 && 2 == 1,其實是4是true,2也是true,與的結果是true,所以是1。

而按位操作,4是0b0100, 2是0b0010,它們沒有重疊的二進位制位,所以結果是4 & 2 == 0

8樓:匿名使用者

&& 是條件判斷,返回結果只有1或0(即真或假)& 是與運算子,就像+-×÷一樣可以返回任意位數的結果假設x,y,z都是8位數

則x&&y=0;

x||y=1;

y&&z=1;

y||z=1;

x&y=0000 0000&1111 1110=0;

x|y=0000 0000|1111 1110=1111 1110;

9樓:他de生活

區別:1.運算子

性質不同。

&是一個位運算子。

&&是一個邏輯運算子。

2.作用不同。

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

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

3.用途限制。

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

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

10樓:匿名使用者

&要計算表示式1個小時表達

式2,而&&計算表示式1若此時表示式1是false則&&就不會再計算第二個表示式,而直接輸出&&運算的結果是false。同理||運算的第一個表示式是true則||運算會直接輸出邏輯結果而不在計算第二個表示式。

11樓:戀_心坊

&是位運算的與,每一位都要進行,&&是表示式的與,操作整個邏輯式,|(或)同理。

c語言中 & 和 && 的區別

12樓:他de生活

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

&是一個位運算子。

&&是一個邏輯運算子。

2.作用不同。

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

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

3.用途限制。

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

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

13樓:靠名真tm難起

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

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

14樓:第九暗騎士

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

「&」是位運算子。

與運算(&)

雙目運算。二個位都置位(等於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位是置位了

15樓:匿名使用者

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

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

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

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

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

16樓:匿名使用者

區別在於

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

a&&b

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

17樓:

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

c語言中邏輯運算子「&&、||、!」的用法是什麼?

18樓:百度使用者

&&,表示兩邊的條件成立才行,如

我愛你&&你愛我,同時成立的話就容易走到一起。

||,表示兩邊有一個條件成立就行,如

我不愛你||你不愛我,只要有一個不成立,就不可能走到一起!,表示相反,如

!男,就是非男,即表示女

c語言運算子 &和 &&的區別

19樓:匿名使用者

& 是位運算子,也就是二進位制計算

07h = 111b

fch = 11111100b

07h & fch = 100b = 4h&& 是邏輯運算子,0代表false,其他數值代表true(一般用1表示)

07h 不是0,所以為true

fch 不是0,所以為true

true && true 的結果為 true,用1表示,所以07h && fch = 1h

c語言中位移位運算子C語言中位移位運算子

位移運算子 符號 描述 左移 右移 位移運算子作用於其左側的變數,其右側的表示式的值就是移動的位數,運算結果就是移動後的變數結果。b a 2 就是a的值左移兩位並賦值為b。a本身的值並沒有改變。向左移位就是在低位補0,向右移位就是在高位上補0。右移時可以保持結果的符號位,也就是右移時,如果最高位為1...

c語言中邏輯運算子用法,C語言中邏輯運算子用法

1 邏輯運算子bai是根據du表示式的值來返zhi回真值或是假值dao。在c語言中沒有專版門的真值和假值,認定權非0為真值,0為假值。2 邏輯運算子運算規則 或 兩個條件中,只要有一個成立,則結果就成立 與 兩個條件中,兩個同時成立,則結果成立,否則不成立 非 取反之意,如果是真,結果是假,如果是假...

c語言運算子,C語言 運算子 是怎麼運算的

9除以5商1餘4 不是說小數最後位是餘數 餘數就是在整數的除法中,只有能整除與不能整除兩種情況。當不能整除時,就產生餘數,所以餘數問題在小學數學中非常重要。餘數有如下一些重要性質 a,b,c均為自然數 1 餘數小於除數。2 被除數 除數 商 餘數 除數 被除數 餘數 商 商 被除數 餘數 除數。3 ...