C語言中邏輯表示式是不是一定不能是

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

1樓:延霞月

在c語言中是可以的,

邏輯表示式的值是乙個邏輯值,即「true」或「flase」。c語言編譯系統在給出邏輯運算結果時,以數字1表示「真」,以數字0表示「假」,但在判斷乙個量是否為「真」時,以非0表示「真」,以0表示「假」。   可以將邏輯表示式的運算結果(0或1)賦給整型變數或字元型變數。

例如下列程式:

#include

void main()

int a=0,b=1;

if(a)

printf("邏輯表示式為0,返回「假」,所以不執行此語句\n");

if(b)

printf("label1:邏輯表示式為非0,返回「真」,所以執行此語句\n");

if(0)

printf("邏輯表示式為0,返回「假」,所以不執行此語句\n");

if(1)

printf("label2:邏輯表示式為非0,返回「真」,所以執行此語句\n");

執行結果:

見插圖if語句中的判斷條件必須是乙個邏輯表示式,此時乙個變數或者常量都可以作為乙個表示式,非0表示「真」,以0表示「假」。

2樓:匿名使用者

0在不同語境的表示式中代表的意義可以是不同的,樓主說的(a%c=0)&&(b%c=0)表示式,在這個語境中他代表的就是0本身的意義,只不過作為邏輯表示式的話應該是雙等號(a%c==0)&&(b%c==0),此時表示式的意義就是判定是否a能被c整除且b能被整除了

換在其它語境中,例如:

bool b;

if(b==0)

此時0的意義就是邏輯否了

所以可以說,在c語言中,0可以代表邏輯否,但並不是說0一定要是邏輯否

3樓:匿名使用者

不是!0可以做否的邏輯看

代表:指標為null。但沒有用null更易讀。

代表,整形數是0.

代表,否定的邏輯。

4樓:匿名使用者

可以啊,0就是邏輯否啊

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

5樓:匿名使用者

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

c語言邏輯表示式中,a的值為0,那麼a=0為真還是為假

6樓:煙火夜空

c語言邏輯:0為假,非0為真。

如果是 a=0,則結果為 假,

如果是 a==0,則結果為 真。

7樓:匿名使用者

a=0,為賦值表示式,把0賦予a,其值為0,恒為假。

8樓:你耳邊的呢喃

a=0是賦值語句,所以是假

9樓:無良世家

真。多看些書,書上都有例子。

c語言中邏輯運算子的規則是什麼

10樓:匿名使用者

1、邏輯運算子運算規則:

|| 或:比

如兩個條件中,只要有乙個成立,則結果就成立;

&&與:比如兩個條件中,兩個同時成立,則結果成立,否則不成立;

!非,就是取反之意,如果是真,結果是假,如果是假,結果是真。

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

11樓:匿名使用者

邏輯運算子把各個運算的變數(或常量)連線起來組成乙個邏輯表示式。

邏輯運算子有4個,它們分別是: !(邏輯非)、 ||(邏輯或)、&&(邏輯與) ^(異或)。在位運算裡面還有 &(位與)、|(位或)的運算。

什麼是邏輯運算--邏輯運算用來判斷一件事情是「對」的還是「錯」的,或者說是「成立」還是「不成立」,判斷的結果是二值的,即沒有「可能是」或者「可能不是」,這個「可能」的用法是乙個模糊概念,在計算機裡面進行的是二進位制運算,邏輯判斷的結果只有二個值,稱這二個值為「邏輯值」,用數的符號表示就是「1」和「0」。其中「1」表示該邏輯運算的結果是「成立」的,如果乙個邏輯表示式的結果為「0」,那麼這個邏輯表示式表達的內容「不成立「。

例 1:通常乙個教室有二個門,這二個門是併排的。要進教室從門a進可以,從門b進教室也行,用一句話來說是「要進教室去,可以從a門進『或者』從b門進」

用邏輯符號來表示這乙個過程--能否進教室用符號c表示,教室門分別為a和b。c的值為1表示可以進教室,為0 表示進不了教室。a和b的值為1時表示門是開的,為0表示門是關著的,列表如下:

說明 c a b 2個教室的門都關著,進不去教室 0 0 0 門b是開著的,可以進去 1 0 1 門a是開著的,可以進去 1 1 0 門a和b都是開著的,可以進去 1 1 1

把表中的過程寫成邏輯運算就是: c = a || b 這就是乙個邏輯表示式,它是乙個「或」運算的邏輯表示式。這個表示式要表達的是這個意思--如果要使得c為1,只要 a「或」b其中之一為 1即可以達到。

所以「||」運算稱為「或」運算。

思考--如果有乙個表示式 c = a || b || c 怎樣理解這個邏輯表示式?

例 2:假設乙個房間外面有乙個曬台,那麼這個房間就縱向開著二個門,要到曬台去,必須要過這二個門,很明顯這二個門必須都是開著的才行,否則只要其中乙個門關著就去不了曬台。列表如下:

說明 c a b 二個門都關著,去不了曬台 0 0 0 門a關著,去不了曬台 0 0 1 門b關著,去不了曬台 0 1 0 門a與門b都開著,可以去曬台 1 1 1

把表中的過程寫成邏輯表示式就是: c = a && b && c ,用一句話來描述這個表示式--如果要使得c為1,必須a『與』b都為1才行,否則其中任乙個為0,c就為0。所以「&&」運算子稱為「與」運算。

思考--如果有乙個表示式 c = a && b && c 怎樣理解這個邏輯表示式?

例 3:有乙個問題如下,有乙個晚會,對參加晚會的人有一定的條件限制,教師可以參加,學生當中只有年齡達到16歲以上的男生才能參加,怎樣用上面所講的邏輯運算來表達這樣的邏輯關係?

設能夠參加晚會為d,教師為a,男生為b,16歲以上為c,可以用下式來描述:

d = a || ( b && c ) /*這個表示式可以理解嗎,可以參照上面**用0、1來寫一下*/

例 4:下面是乙個程式,用到了if判斷語句(if是如果的意思)

#include

void main()

邏輯量和邏輯值

在邏輯表示式裡有參加邏輯運算的邏輯量及邏輯運算最後的結果(邏輯值),把這二個概念區分開來和記住它們是很重要的。

什麼是邏輯量--凡是參加邏輯運算的變數、常量都是邏輯量。

我們來仔細分析一下哪些是邏輯量,哪些是邏輯值。

要表達一件事情是否成立是這樣描述的:「如果他來了,這件事情一定能成功」。用程式語句描述就是 if(a!

=0)在這個語句裡用變數a來表示他來與不來這件事,變數的值為1說明他來了,為0就是不來。在c語言中,一般不寫成這樣(如果一定要寫成if(a!=0),別人一看你的程式就知道你是程式設計菜鳥),而是寫成 if(a)。

括號裡面的變數a就是邏輯量。當該邏輯量的邏輯值為1時,if表示式為真,這時可以執行if 後的的程式語句。當該邏輯量的邏輯值為0時,if表示式為假,就不能執行if後面的程式語句。

可以看出,if表示式能否成立是要看「邏輯量」最後的「邏值值」是否為1來判斷的。

什麼是邏輯值--邏輯量、邏輯表示式其最後的運算結果的值就是邏輯值。邏輯值只能是「0」和「1」這二個數。「1」表示邏輯真(成立);「0」表示邏輯假(不成立)。

一切非「0」的邏輯量其邏輯值都為真。正確理解這句話很重要。例:

if(-1),這一句可以這樣來分析--首先「-1」是乙個非「0」的邏輯量,它的邏輯值為「1」,那麼這個if語句就成為 if(1),這個if表示式成立。

思考:下面的式子中,哪個語句不被執行

int a=0,b=10; if(a) a+=10; if(b) if(b)a=0;

c語言中進行邏輯運算時要注意的問題:

例1:現在要判斷乙個變數的值是否在12到30之間,很自然想到了這樣乙個表示式:

scanf("%d",&a);

if(1212則為真,否則為假。設a的值為14,些時表

12樓:匿名使用者

達式結果為邏輯真,那麼整個表示式if(12這個新的表示式中的1是12,可以看到當變數a的值大於12的時候總有1<30,所以後面的<30這個關係表示式是多餘的了。另外假設a的值小於12也會出現這樣的情況。由些看來這樣寫法肯定是錯的。

正確的寫法應該是:

if((12

這樣不但編譯通過,執行結果也是對的了。

C語言代數關係,c語言中,關係表示式和邏輯表示式的值是什麼?

1 並 union 關係r與s具有相同的關係模式,即r與s的元數相同 結構相同 r與s的並是屬於r或者屬於s的元組構成的集合,記作r s,定義如下 r s 2 差 difference 關係r與s具有相同的關係模式,關係r與s的差是屬於r但不屬於s的元組構成的集合,記作r s,定義如下 r s 3 ...

c語言中表示式的值怎麼算,C語言中表示式的值怎麼算

墨汁諾 此式即等同於 4!3 2 4 1 5 1代表真,0代表非,則原式即 1 1 0 所以值為0。例如 12 5 2 只為這個是整數運算,結果只取整數部分。62 1 6 7 7 6 1 13 49 623.2 6 7 1 44.8 可以。逗號運算子,從左至右計算,取最後一個表示式的值作為整個語句的...

C語言中邏輯表示式中a 2,b 3 a ba

3後面應該是個逗號吧。意思就是把2賦給a,把3賦給b,然後判斷後面的 式子。a b,a b都大於0,大於0的都為真,邏輯與 為真,整個式子為真。肯定是真啊 a b 5 0 為真 a b 0 為真 兩個都為真 那麼與表示式 肯定也為真噻 如有疑問 歡迎追問 希望採納 我加了這麼一句printf d n...