C語言中的一句邏輯表示式 ab a 0這句話是什麼意思

時間 2021-10-17 05:02:00

1樓:無憂網事

首先:你的表示式a==0||b%a=0 肯定是錯的。

在c語言中(以你的這個表示式為例啊),%(求餘)優先順序最高,其次是關係運算子==(相等),再就是邏輯運算子||(邏輯或),最後是=(賦值)。

但是c語言不允許向表示式賦值,所以b%a=0是錯誤的。

如果是 a==0||b%a==0 ,相當於(a==0)||(b%a==0),這樣的話,表示式的意思是「a為零,或者b能被a整除」。

b%a==0:b除以a的餘數為0。%是兩數相除,取餘數,只能用於整型資料。

2樓:匿名使用者

這個語句等價於(a==0||b%a)=0

其中括號裡運算結果為常數,常數不能賦值,所以編譯報錯

3樓:匿名使用者

lz肯定打錯了吧,怎麼會是b%a=0呢,怎麼回事賦值號,賦值號的左邊不是左值啊,肯定沒法編譯的

4樓:不講武德美杜莎

a==0||b%a=0

=優先順序最低 最後考慮

||或前面 判斷 a 是否等於0後面 判斷b%a 是否等於0

a==0||b%a整體的結果是0或者是1 然後0或者1被賦值為0你這語句有錯誤的,賦值運算的做操作書必須是左值 a==0||b%a是邏輯0或者1不能作為左值

5樓:匿名使用者

a等於0或者b除以a的餘數等於0 應該是要表達這個意識 。。但是表示式寫錯了應該是a==0||b%a==0

6樓:

a=0或者b除a餘數為0(即可被a整除)

c語言中,邏輯表示式(a!=0)||(b!=0)可以表示a、b不能同時為零嗎?

7樓:匿名使用者

能。當判定a!=0時便不再執行接下來的b!=0的語句,而a=0時才會對b進行判斷。只要一個不為0這語句便是『真』

在c語言中b=a<<2;是什麼意思?

8樓:大野瘦子

在c語言中,b=a<<2代表將a移位後的值賦值給b。

例如:100的二進位制表示為1100100,100左移2位後,後面加2個零1100100<<2 =110010000 =400,

可以看出,a<因為在二進位制數後面新增一個0就相當該數乘以2,2個零即2的2次方等於4。

9樓:

(a%b)是數學模運算,意思是取(a/b)的餘數。a除以b的結果有兩部分,一個是商,一個是餘數,就跟我們做除法一樣。計算機一般作整數除法a/b只能得到商,餘數就用a%b得到,它是0到b-1中的一個值。

如果a/b能整除,a%b就是0。

!(a%b)是邏輯運算,只有a%b是0時為真(就當是1吧),a%b不為0時為假(就當是0吧)。

int a=30,b=8,a/b商為3,餘6,所以a%b=6,!(a%b)為假,列印結果是0。

10樓:聽不清啊

這就是要判斷:

b是不是「小於或等於a」。

它只有兩種可能,「是」或「不是」(通常用0或1表示)。

11樓:

a<<2 表示a 左移兩位,數值上相當於a的十進位制數乘以4 ,在把他的值賦給b

a<>n 數值上相當於a的十進位制數除以2的n次方

12樓:飄零的狐狸

就是一個判斷

判斷b是不是小於等於a

如果是 值:非0

如果不是 值:0

13樓:匿名使用者

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

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

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

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

14樓:無聊所以無畏

++i在用於表示式中是先自加再參與運算,而i++先參與元算再自加比如說a*++i>b

就等價於i=i+1;a*i>b;

而a*i++>b

就等價於i=i+1;a*i>b;

15樓:匿名使用者

c變數對2取餘,然後取反。

如:c=3,則c%2=1,取反則等於0。

如:c=4,則c%2=0,取反則等於1。

明白了嗎?

16樓:秋楓

*b=&a這種寫法只有在定義時這麼寫才對

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

17樓:育知同創教育

||在c語言中是指『或』的意思 其判斷是有一個為真 結果就為真

18樓:匿名使用者

%=是取模 賦值 運算子,a%=4的意思就是a=a%4 ,%是取模運算子,

這2者差別在於%只進行計算並且運算順序為從左到右。而%=則進行計算和賦值但是%=卻沒有運算順序,因為它是先將a%=4拆成a=a%4後再進行計算,所以你覺得它該如何設定一個計算順序呢?

所以對於4%4%3 我們知道是先進行4%4,得出結果後再把4%4的結果進行%3的操作

但是我們卻無法確保a%=b%=4是如何操作的,所以不應當這樣寫**,也許他在一個作業系統上是先進行b%=4 然後再進行a%=b, 而在另一個系統上也許就先a%=b然後再用a%=4,或者就是a%=b然後進行b%=4,所以這串**應當是不可取的

19樓:懶洋洋紫研

%=是雙目運算子,它的結合方向是自右至左.b%=4表示b=b%4(%左右兩邊均為整型資料),這個題先求b=b%4,然後再求a=a%

20樓:匿名使用者

>的優先順序大於!= ,所以他們的計算過程為:(a>b)然後!=c,a>b結果一般為bool值,為0或1,之後你就明白了吧。

21樓:陳鰲來了

a%=b%=4

等價於:b=b%4;

a=a%b;

22樓:匿名使用者

左移2位

把b轉換為二進位制,然後向左移兩位

比如5:00000101,左移兩位為00010100

23樓:匿名使用者

a<<2表示其二進位制左移2位,也就是4a把4a賦給b

24樓:匿名使用者

相當於

c語言裡這句話表示的是什麼意思if(a==b&&b==c&&c==0)

25樓:

if(a==b&&b==c&&c==0)

break;

意思是判斷a、b、c三個數是否為0.如果全為0就跳出計算。因為a+b=0=c,a+c=0=b,b+c=0=a。不滿足下面的判斷

if(a+b

另外,輸入三邊為0,有跳出迴圈的意思,可以用作程式結束的輸入,不然程式就會一直等待你輸入三條邊長。

滿意請採納,謝謝。

c語言中 if(a||b&&c) ......... 什麼意思啊?謝謝。。

26樓:

||1&&表示邏輯與運算;

2||表示邏輯或運算;

3&&運算優先順序高於||運算;

4 舉例:

(3>2)||(1>2)&&(3>4)

=true||false&&false

=true||false

=true------------1

27樓:

若a=1並且b=2(執行該步操作後,b的值加1為3)。

邏輯運算子是根據表示式的值來返回真值或是假值。其實在c語言中沒有所謂的真值和假值,只是認為非0為真值,0為假值。

符號 功能

&& 邏輯與

|| 邏輯或

! 邏輯非

當表示式進行&&運算時,只要有一個為假,總的表示式就為假,只有當所有都為真時,總的式子才為真。當表示式進行||運算時,只要有一個為真,總的值就為真,只有當所有的都為假時,總的式子才為假。邏輯非(!

)運算是把相應的變數資料轉換為相應的真/假值。若原先為假,則邏輯非以後為真,若原先為真,則邏輯非以後為假。

還有一點很重要,當一個邏輯表示式的後一部分的取值不會影響整個表示式的值時,後一部分就不會進行運算了。例如:

a=2,b=1;

a||b-1;

因為a=2,為真值,所以不管b-1是不是真值,總的表示式一定為真值,這時後面的表示式就不會再計算了。

這是一類特殊的運算子,自增運算子++和自減運算子--對變數的操作結果是增加1和減少1。例如:

--couter;

couter--;

++amount;

amount++;

看這些例子裡,運算子在前面還是在後面對本身的影響都是一樣的,都是加1或者減1,但是當把他們作為其他表示式的一部分,兩者就有區別了。運算子放在變數前面,那麼在運算之前,變數先完成自增或自減運算;如果運算子放在後面,那麼自增自減運算是在變數參加表示式的運算後再運算。這樣講可能不太清楚,看下面的例子:

num1=4;

num2=8;

a=++num1;

b=num2++;

a =++num1;這總的來看是一個賦值,把++num1的值賦給a,因為自增運算子在變數的前面,所以num1先自增加1變為5,然後賦值給a,最終a也為5。b=num2++;這是把num2++的值賦給b,因為自增運算子在變數的後面,所以先把num2賦值給b,b應該為8,然後num2自增加1變為 9。

那麼如果出現這樣的情況我們怎麼處理呢?

c=num1+++num2;

到底是c=(num1++)+num2;還是c=num1+(++num2);這要根據編譯器來決定,不同的編譯器可能有不同的結果。所以我們在以後的程式設計當中,應該儘量避免出現上面複雜的情況。

28樓:有錢買不起房子

如果表示式a是真 或者 表示式b和表示式c都是真,將執行後面語句。

||是邏輯運算子或 ,&&是邏輯運算子與

在c語言裡,0代表假,非0代表真。例如a=3,b=0,c=4,那麼a||b&&c 3||0&&4 將是1 是真

29樓:匿名使用者

a或b且c

因為「且」的優先順序比「或」的高,所以先判斷 b且c,然後結果跟a「或」

另外c語言中非零為真,0為假。

「或」 "且" "非" 這種邏輯運算具體怎麼算不用多說了吧……

30樓:匿名使用者

|| 和&&優先順序一樣,所以按照從左到右的順序來算

先算a||b 得出結果 與 c進行 &&計算

最後就可以得出結果了

c語言中c=a

31樓:匿名使用者

其中:a「

條件表示式」;而「c= 「 是賦值表示式,那麼因為在c語言中,條件表示式的優先順序排名13 高於賦值表示式的優先順序14,因此這個語句的意思就是:當a小於b時,c=a;而當a大於或者等於b時,c=b;再翻譯過來就是說這個語句執行完得到的效果就是c的值是取得a,b倆者當中較小的那個。

32樓:司徒長青釋姬

x=(x,b,c);就是把變數c的值賦給變數x

(x,b,c)是逗號表示式,值是最右邊的值,即c的值。

33樓:匿名使用者

判斷a是否小於b,是的話 把a賦給c

否的話把b賦給c

這裡注意賦值運算子的優先順序低於關係運算子。

呵呵 ,我也是初學者 大家一起學習

34樓:智障啊紙張

c語言中c=a的意思是c=a。

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

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

關於C語言邏輯表示式X ay b II

x a y b ii0 1.include stdio.h include math.h void main 這是一個雙目運算子 判斷到 符號,後面的為0,所以還要再判斷 前面部分。如果後面的為1,則不需要再判斷了。然後首先判斷了x a a賦值給x是否成功,成功為1,然後 x a 即 1為0,0與任...

C語言中的逗號表示式,c語言中逗號指的是什麼意思?

淡依美沙楚 x a b b c 是一個逗號表示式,整個表示式的值為最後一個式子的值,但是逗號表示式要從左向右計算,這個等價於 x 2 4 b c 6,4 6 6,10 即表示式值為10 把10賦值給y 則y的值就是10 裴水藍賓木 逗號表示式,按從左到右順序進行,先計算a 3 5,再計算a 4,然後...

c語言表示式0的邏輯值是什麼,c語言,表示式( x 0)的邏輯值是什麼?

x 0,的優先順序高,所以相當於 x 0。題目沒說x是什麼型別,暫且當成整型吧。c的邏輯運算中,把0當做false,非0當做true。表示式進一步解釋為 x false。於是 x 的結果就是,如果x是0,則 x 是true 否則 x 是false。所以,如果x是0,x false的結果是false ...