C語言邏輯運算和冒號排序

2025-03-31 09:05:25 字數 5143 閱讀 5118

1樓:逆亂天地

4的知數二進位數是 00000100

6的二畝猛逗進位數是 00000110

8的二進位數是 00001000

是按位與 |是按位或 &&為邏輯與,||為邏輯或。

邏輯運算非零為1,所以:

4&&8=1&1=1,同理:

氣泡排序:#include

#define n 10

void main();

for(i=0;inum[j+1]){

t=num[j];

num[j]=num[j+1];

num[j+1]=t;

for(i=0;iprintf("%d ",num[i]);

printf("");

收下迅賣吧。

2樓:帳號已登出

你參考著二進位,做一下與和或的運算就明白了。

按位與運算,只有都是1,才為1、

按位或運算,只有都是0,虧缺才是0、

所以4&8=

等於0等於4&和||是邏輯運算,其值只有1和0.

運算,只有兩個數都不為0時,才等於1

運算,只要兩個數其中襪空旦乙個不為0,告擾就等於1

3樓:栩箭

|,這不是邏輯運算, 是位運算。 雖然它每位都是做的邏輯運算。襪迅。

另告旅此外, 氣泡排序鎮芹常見, 冒號是指?

c語言邏輯運算子順序

4樓:網友

邏輯運算子有三種,分別為&&(與運算)||或運算)!(非運算),三者的優先順序順序為!>&

ps.1、與運算子(&&和或運算子(||均為雙目運算子。具有左結合性。非運算子(!)為單目運算子,具有右結合性。

2、「&和「||優先順序低於關係運算子,「!優先順序高於算術運算子。

5樓:網友

ls,貌似&&的優先順序比||大 = 賦值語句結合性 自右相左。

a=b=c=1;等價於 c = 1;b = c; a = b;

首先宣告 ||和&&運算子均屬於短路運算子;

什麼是短路運算子舉個簡單例子。

若 a = 1; a||a++;執行後結果是什麼,變數a值為多少?

邏輯或對第一項a進行判斷是否為0,若不為零則返回值為1;且不在進行後面的a++運算,這就是短路運算子的特性,這樣一來,a的值還是1沒有改變,同理 a =0; 0&&a++;的執行結果為a=0;

舉個形象點的例子:

a=1 a就是真。

b=0 b就是假。

a||a-- 真||a++,既然已經有真的了就沒必要再判斷a--是否為真 1||a++;肯定是真的;

同理 b&&b++ 假&&b--既然已經有假的了就沒有必要判斷b++真假,同時b++也就不會被執行。

a||+b&&+c;這個語句根據算數運算子的優先順序關係 &&的優先順序比||大 『可以這樣理解』

所以先執行對++a||+b 和 ++c進行邏輯與(&&運算,並先判斷++a||+b是否為假若假則不進行++c;在判斷 ++a||+b 是否為真的過程中,進行了++a和++b的||(邏輯或)運算,在邏輯或運算中先判斷++a是否為零,這個過程中相當於 先a=a+1;再if (a!=0) 因為前面a=1,再執行++a,a這時等於2所以在if (a!=0) 成立則,不會執行++b;

所以執行結果為a =2 ,b=c=1;

再程式執行++a||+b&&+c;這條語句的過程中只有a變數的值發生改變,而不是樓下說的那樣。

在執行「++a||+b&&+c;」語句之前完成自加運算」 這是錯的·

上述方法只是為了幫助你理解這個++a||+b&&+c;語句的意思。

若我寫個a=b=c=1; +a||+b&&+c||+a||+b&&+c||+a||+b&&+c;你說該怎麼理解?

挨個分析優先順序,?

那不得瘋了。

所以那樣也沒必要++a||+b&&+c||+a||+b&&+c||+a||+b&&+c;只要由左到右依次執行這樣來判斷就好了就是(++a )語句1|| b&&+c||+a||+b&&+c||+a||+b&&+c)語句2

+a)==2!=0所以嘛,語句2就不執行了 這樣判斷也符合 該語句的執行順序。

6樓:網友

a=b=c=1; +a||+b&&+c; 問語句執行順序?

解答:樓上 a19715指出了「賦值語句結合性 自右向左」是正確的,所以a=b=c=1;的執行順序是:

c=1;b=1;

a=1;樓上 翰海蒼狼 指出的 ++a||+b&&+c;語句的執行順序也是對的,我多囉嗦解釋一下啊。

首先,++出現在a之前,表示在執行「++a||+b&&+c;」語句之前完成自加運算,所以要先執行自加。同理,b和c也是先完成自加運算。這部分解釋可以表述為:

a;//即執行a=a+1;

b;//即執行b=b+1;

c;//即執行c=c+1;

接下來,引用 a19715的一句話「&&的優先順序比||高」,不是貌似,的確是的哦,所以。

b&&c被執行。注意,此時的b和c已經完成了自加運算。

a||(b&&c)最後被執行。

完畢。樓主明白啦不?@_

c語言邏輯運算子有哪些,及運算先後順序?

7樓:網友

為|邏輯運算有三種,與或非。

1 邏輯與運算,符號為&&,形式為a&&b;

2 邏輯或運算,符號為||,形式為a||b;

3 邏輯非運算,符號為!,形式為!a。

當邏輯運算寫在一起的時候,邏輯非!運算優先順序最高,其次為邏輯與&&,最低為邏輯或||。

即先計算非,再計算與,最後計算或。

同類運算時,運算順序為從左到右。

8樓:網友

c語言邏輯運算子有 !(非) >與) >或)

9樓:凌筱泠

按先後順序:!邏輯非運算子、&&邏輯與運算子、||邏輯或運算子、

c語言中運算子優先順序排序

10樓:網友

c語言中運算子優先順序排序如下:

分為優先順序15級:

1、圓括號【()下標運算子【】、分量運算子的指向結構體成員運算子【->結構體成員運算子【.】

2、邏輯非運算子【!】按位取反運算子【~】自增自減運算子【++負號運算子【-】型別轉換運算子【(型別)】、指標運算子和取位址運算子【*】長度運算子【sizeof】;

3、乘法運算子【*】除法運算子【/】、取餘運算子【%】

4、加法運算子【+】減法運算子【-】

5、左移動運算子【《右移動運算子【>>

6、關係運算子【< =】【 = 】;

7、等於運算子【==】、不等於運算子【!=】;

8、按位與運算子【&】

9、按位異或運算子【^】

10、按位或運算子【|】

11、邏輯與運算子【&&

12、邏輯或運算子【||

13、條件運算子【?:

14、賦值運算子【=】【/=】【*=】【%=】【+=】【-=】【<=】【>=】【&=】【^=】【|=】;

15、逗號運算子【,】

11樓:一停恍惚

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

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

c語言提供三種邏輯運算子,按優先順序高低它們分別是 , , 。

12樓:尋找好運

二樓的答案才是對的。邏輯運算子的級別高低規定是:!,//

c語言問題 c語言邏輯運算中三個運算子!,&&,|| 哪個最優先?然後怎麼個優先順序

13樓:sydney在路上

!邏輯反,&&邏輯與,||邏輯或,優先順序:1.! 2&& 3||

c語言的邏輯運算和按位運算怎麼區分?

14樓:會飛的小兔子

1、作用的不同。

、|是邏輯運算子,用於從左到右求表示式的真值。假設x=1;y=2;那麼x&&y=1;x||y=1。

|是位運算子,是對x,y進行位運算,x,y取值如上,那麼有x&y=0;(x的二進位表示為00,y的二進位表示為10)。

2、判斷這個表示式的真或假的不同。

和|既是邏輯運算子也是位運算子,而&&和||只是邏輯運算子。

當&與&&同為邏輯運算子時,它們都用於連線兩個boolean型別的表示式,當&和&&的兩端表示式同時為真時,表示式的結果為真,只要有一端為假,那麼表示式結果為假。

例:3>5&3>2;3>5&&3>2;

當|和||的兩端表示式同時為假時,表示式的結果為假,只要有一端為真,那麼表示式結果為真。

3、計算方式不同。

當使用&運算子:計算機在判斷表示式的值的時候,先判斷3>5的值為假,然後再判斷3>2的結果為真,於是最後的結果是假&真為假;

但是當我們使用&&運算子的時候:計算機先判斷3>5的值為假,此時表示式的結果一定為假,所以計算機就不再往下判斷了,判定表示式結果為假。

15樓:網友

:|邏輯與:&&按位與:&

邏輯或:||按位或:|

邏輯運算是指表示式返回值的運算,這裡的值只有真與假;按位運算是指數值轉換為二進位後的位運算,每位是0或1

真 邏輯與 真 結果為真。

真 邏輯與 假 結果為假。

1 按位與 1 結果為1

1 按位與 0 結果為0

16樓:福建省寧德市

可以按照符號的不同來區分,c語言中邏輯運算子和按位運算子的符號是不一樣的。

c語言中提供了三種邏輯運算子:&&與運算), 或運算), 非運算)

與運算子(&&和或運算子(||均為雙目運算子。具有左結合性。非運算子(!)為單目運算子,具有右結合性。

c語言提供了六種位運算子:

按位與 按位或 按位異或 取反 左移 右移。

17樓:

邏輯運算,用邏輯操作符,按位運算,就是操作0和1

18樓:

邏輯運算使用的是邏輯運算子,通常是雙個符號的,而按位運算則是按位運算子,通常是單個符號的。

c語言中邏輯運算子是什麼,C語言中邏輯運算子用法是什麼?

與 有0則0.0表示假,1表示真 或 有1則1.0表示假,1表示真 非 真變假,假變真 c語言中邏輯運算子用法是什麼?1 邏輯運算子是根據表示式的值來返回真值或是假值。在c語言中沒有專門的真值和假值,認定非0為真值,0為假值。2 邏輯運算子運算規則 或 兩個條件中,只要有乙個成立,則結果就成立 與 ...

C語言邏輯運算,邏輯量是什麼?和邏輯表示式有什麼區別

在邏輯表示式裡有參加邏輯運算的邏輯量及邏輯運算最後的結果 邏輯值 把這二個概念區分開來和記住它們是很重要的。什麼是邏輯量 凡是參加邏輯運算的變數 常量都是邏輯量。我們來仔細分析一下哪些是邏輯量,哪些是邏輯值。要表達一件事情是否成立是這樣描述的 如果他來了,這件事情一定能成功 用程式語句描述就是 if...

c語言邏輯運算子優先順序,C語言的運算子的優先順序邏輯運算子條件運算子賦值運算子關係運算子算術運算子。它們之間的優先順序

4 3 復 5 2 由於 的優先順序高於 和 所以先計制算bai 5 在c中,的操作物件只有du0和1,如果zhi括號裡不為空,不為0或 0 則任dao何東西都被認為是1 所以 5 就等價於 1 也就是0 於是就變成了4 3 0 2.又由於 的級別較低,所以會判斷 4 3 和 0 2 前者為1,也後...