C語言程式設計中和和用法和意義上有什麼區別

2021-03-19 18:35:47 字數 5935 閱讀 5185

1樓:匿名使用者

您好!= 與 ==

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

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

望採納!

2樓:匿名使用者

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

==:關係運算子,就是用來比大小的,返回值為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為真,根據邏輯與的運算規則,真與真的結果為真。

3樓:匿名使用者

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

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

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

4樓:匿名使用者

= 是賦值

運算子, 把=號右邊的值賦值給左邊的變數

==是邏輯運算子,判斷 ==兩邊的資料是否相等,表示式返回 true或flase

& 是按位與

&& 是邏輯與 兩者都使表示式結果返回true或false ,只是演算法不一樣。

5樓:

x=? 設x=?

if(x==0) 條件語句,x是否等於0

&x 讀取x變數在電腦記憶體中的地址

if(x==0&&y==0) 條件語句,兩條件是否同時成立

6樓:我不知道

=是賦值,==是判斷兩邊數是否相等。

&,&&都是與,不過後者常用和規範。

7樓:匿名使用者

=是賦值 ==是判斷兩個基本型別變數的內容是否相等

&是按位與操作 &&連線兩個布林表示式,也是與

c語言中 & 和 && 的區別

8樓:他de生活

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

&是一個位運算子。

&&是一個邏輯運算子。

2.作用不同。

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

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

3.用途限制。

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

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

9樓:靠名真tm難起

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

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

10樓:第九暗騎士

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

「&」是位運算子。

與運算(&)

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

11樓:匿名使用者

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

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

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

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

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

12樓:匿名使用者

區別在於

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

a&&b

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

13樓:

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

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

14樓: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,就完成了。

15樓:匿名使用者

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

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

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

16樓:匿名使用者

|,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

17樓:匿名使用者

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

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

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

18樓:竹冽巖青

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

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

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

關於c語言中 || 和 &&的用法

19樓:匿名使用者

|&& 和 || 都是邏輯表示式裡常用的,一般用法是 if(表示式1 || 表示式2) 或者 if(表示式1 && 表示式2)

|| 表示 或 滿足其中一個,整個表示式就為真,就滿足if判定的條件

例如 if(1 || 0) std::cout <<"hello!\n"; 輸出為hello

&& 表示 且 if括號內的表示式都為真 才能滿足if判定的條件 才會執行if{}裡的語句

不清楚請追問

20樓:誰敢橫刀立馬

|表||是邏輯或,例子如下

//表示式1||表示式2

//如果表示式1是true或者表示式2是true,整條式子的結果就是true,否則是false

int a=0;

bool z=(a>0||a==0);

//這個例子中條件a==0,所以整條表示式的結果是true,如果表示式1的結果是true,

//那結果也是true

&&是邏輯與,例子如下:

//表示式1&&表示式2

//這個操作符要求兩邊的表示式都是true整條表示式才是true,如下

int a=0,b=0;

bool z=(a==0&&b==0);

//這個例子中兩邊的表示式都是true,所以最後的結果是true,如果有一邊的表示式不是true,,結果就是false

關於C語言中中的規則,關於C語言中和的用法

如果你的函式裡用的是指標形式,那麼在你的函式呼叫的時候就要用 形式了,具體你參考譚浩強的c語言書,裡面有更全的解釋,不好,還望採納 關於c語言中 和 的用法 和 都是邏輯表示式裡常用的,一般用法是 if 表示式1 表示式2 或者 if 表示式1 表示式2 表示 或 滿足其中一個,整個表示式就為真,就...

c語言程式設計求12320的和,C語言程式設計求12320的和

求1 2 3 20 最好是用迴圈做,用遞迴法,程式的資源開銷大,效率低,運算時間將更長!include int fact int i else void main printf result d sum main 答案如下 include main printf d sum 用c語言程式設計求出1 ...

C語言?C plus plus,《C程式設計》和C primer plus哪個更適合新手學習C語言?

同志 想學和學會 很容易 你的心態很好 怕什麼 我的一個同事 初中畢業不一樣的很牛x嘛 我教你 英語你沒必要刻苦的去研究 基本兩段程式理解下來就ok了 主要的就是邏輯 層次觀要弄好 特別在c裡面 程式鑲嵌很重要 要知道哪一環有什麼功能 他呼叫了什麼功能 最好在設計的時候多動手畫些 程式流程圖 這樣有...