C語言關於邏輯值的問題有加分,c語言中,關係表示式和邏輯表示式的值是什麼?

時間 2021-10-14 21:22:52

1樓:

首先對你的苦惱表示理解和同情。一句話,二值世界中只有0和非0兩個概念,如何再有1????1的引入只是編譯器實現和人類的習慣。

c語言標準規定“0為假,非0為真”,這是毫無疑問的。但是“非0”並不是一個具體的值,大多編譯器都把“非0”實現為1,照顧人類習慣,但引起了很多誤會。

第一題:a毫無疑問

第二題:k>=k是成立的,為真,但是標準沒有規定真就一定是1,只是大部分實現為1而已,故此題出得不好。

“邏輯表示式若為真,值為1,假值為0” 說法不對。

所以c語言沒有bool型變數,手動定義bool變數會帶來很多麻煩,如:

令false=0,true=1,則 !true=false,但是!false不一定等於true,因為標準並未規定true等於1.

2樓:c嘎嘎牌香菸

c認為非0既為真。其它語言並非一定如此。非0,你可以認為它是除0以外的任何值。

且計算機認為0的正負有別,負0的2進製表示為:10000000。正0的2進製表示為:00000000,c並不一定這麼認為。你可個動手試驗一下負0是否為真。

由微軟定義的bool型資料有三種可能true、false、error。也就是說bool型資料可能是非真也非假,而是error。

bool型資料則必然是“真”“假”的其中一個。

bool型由typedef int bool得來,在windef.h中定義。sizeof(bool)與sizeof(int)相等。(注意:sizeof(int)並非一定等於4)

bool型別不知道怎麼來的,只知道它只佔1bit,既一位。表數範圍非0既1。

如果bool型的確認方法是“取最高位”那麼負0應該為真。

條件表示式與邏輯表達示的運算結果都是bool型資料。

如:int a = 100;

則:printf("a=%d, !a=%d, a&&a=%d, a||a=%d", a, !a, a&&a, a||a);

執行結果:100, 0, 1, 1

另有兩點值得注意

1、輸出結果。當表達示的值為true並不一定輸出“1”。視編譯器而定。有時true表示的是"true";

2、關於&&和||這兩個運算子

int a = 0, b = 1;

if(a && b++)

printf("%d", b);

輸出結果為:1

//這是不是出乎意料?明明b++應該是2才對為什麼輸出了1?

//下面說明&&運算是咋回事

if(a && b++)相當於

if(a==true)

}看到了嗎?當a為假時b++並未被執行,也就是說當&&左邊的表示式為假時不再執行&&右側的表示式,而是直接認為這個&&表示式的值為假。

||運算也存在同樣的問題。

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

3樓:噓

c語言中,關係表來達式和源邏輯表示式的值是0或bai1。

邏輯表示式的值是du一個邏輯值

zhi,即"true"或"false"。c言語編譯體系在給出dao邏輯運算效果時,以數字1示意"真",以數字0示意"假",但在推斷一個量是不是為"真"時,以0示意"假",以非0示意"真"。

因為浮點數在計算機中不能異常正確地示意,所以,推斷兩個浮點數是不是相同時,一般不運用關聯運算子"即是"(==),而是應用區間推斷方法來完成。

4樓:匿名使用者

關係表示式和邏輯表示式的值 是布林型:真或假(true or false),即0或1,但c語言沒有布林型別,以0為假,非0即真

5樓:煙火夜空

是邏輯量“真”和“假”,即是 “非0”與“0”;

關係表示式,含內有關係運算容符的表示式,而關係運算子有:>、>=、<、<=、==、!=;

邏輯表示式,含有邏輯運算子的表示式,而邏輯運算子有:&&、||;

無論是 關係表示式、還是邏輯表示式,其運算結果都只有“真”和“假”兩個邏輯量,也稱布林量。

6樓:千鋒教育

邏輯表達copy式是指運算子為或||、與&&、非!的表示式。返回值為0或1,0表示

false,非0表示true. 例如!0返回1,0&&1返回0,0||1返回1。

關係表示式是指運算子為<,<=,>,>=,==,!=的表示式。返回值同樣為0或1,例如a!=b,a>=0等。

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

7樓:知足

關係表示式和邏輯表示式的值是布林型:真或假(true or false),即0或1,但c語言沒有布林型別,以0為假,非0即真。

邏輯運算又稱布林運算。布林用數學方法研究邏輯問題,成功地建立了邏輯演算。他用等式表示判斷,把推理看作等式的變換。

這種變換的有效性不依賴人們對符號的解釋,只依賴於符號的組合規律 。這一邏輯理論人們常稱它為布林代數。

20世紀30年代,邏輯代數在電路系統上獲得應用,隨後,由於電子技術與計算機的發展,出現各種複雜的大系統,它們的變換規律也遵守布林所揭示的規律。

簡介1、c語言中的邏輯表示式

用邏輯運算子將關係表示式或邏輯量連線起來的有意義的式子稱為邏輯表示式。邏輯表示式的值是一個邏輯值,即"true"或"false"。c語言編譯系統在給出邏輯運算結果時,以數字1表示"真",以數字0表示"假",但在判斷一個量是否為"真"時,以0表示"假",以非0表示"真"。

2、可以將邏輯表示式的運算結果(0或1)賦給整型變數或字元型變數。

注意由於浮點數在計算機中不能非常準確地表示,所以,判斷兩個浮點數是否相同時,通常不使用關係運算子"等於"(==),而是利用區間判斷方法來實現。

c語言中的邏輯值“真”是用什麼表示的,邏輯值“假”是用什麼表示的?

8樓:會飛的小兔子

c語言中的邏輯值“真”是用t表示(true,真) 值,邏輯值“假”是用 f(false,假)。

在程式語言中表示 t(true,真) 值和 f(false,假)值的資料型別叫做布林型別,在 c 語言中通常用 int 型別來表示,非 0 表示 t,0 表示 f。

布林邏輯是寫程式的基本功之一,程式中的很多錯誤都可以歸因於邏輯錯誤。以下是一些布林代數的基本定理,為了簡潔易讀,t 和 f 用 1 和 0 表示,|| 用 + 號表示,x、y、z 的值可能是 0 也可能是 1 。

擴充套件資料

常用的邏輯運算子還有 “||”表示“或者”,對於表示式 a||b,“a 或者 b 成立”就為真,也就是說 a 和 b 只要有任意一個成立,a||b 就為真。

比如,a=5,表示式 a>0 || a<-1 的結果為真,因為 5>0,即使 5<-1 不成立,整個表示式也為真。還有“!”表示“反”,對於表示式 !

a,a 為真時,!a 為假;a為假時,!a 為真。

9樓:多少個什麼

邏輯值只有兩個值,即true(真)和false(假),在c語言中true用1表示,false用0表示。

需要注意的是,在c語言中並沒有邏輯資料型別,在需要儲存邏輯值時,可以用整型型別儲存。例如:

int x=10,y=20;

int c = (x>y);//x>y此表示式為假,則整個表示式的值為0,即c變數的值為0;

printf(“c=%d\n”,c);//結果:c=0

10樓:足壇風行者

在c語言中非0的數代表邏輯值“真”,一般用用數字1表示(也可以用其他值),0表示邏輯值“假”,只能用數字0表示。

在c語言標準(c89)沒有定義布林型別,所以c語言判斷真假時以0為假,非0為真。

最新的c語言標準(c99)解決了布林型別的問題。c99提供了_bool 型,所以布林型別可以宣告為 _bool flag。_bool依然仍是整數型別,但與一般整型不同的是,_bool變數只能賦值為0或1,非0的值都會被儲存為1。

c99還提供了一個標頭檔案 定義了bool代表_bool,true代表1,false代表0。只要匯入 stdbool.h ,就能非常方便的操作布林型別了。

例如:bool flag = false;

擴充套件資料1、邏輯真和假按位與進行"與"運算。運算規則:

0&0=0;

0&1=0;

1&0=0;

1&1=1;

2、邏輯真和假按位進行"或"運算。運算規則:

0|0=0;

0|1=1;

1|0=1;

1|1=1;

11樓:匿名使用者

c語言中有定義true用1表示,用0表示false

在實際運算中非0值是真,0值為假

12樓:岔路程式緣

在c語言中,邏輯值“真”用數字1表示,邏輯值“假”是用數字0表示。

還有,在c語言中,任何非0數字都能夠被系統解釋為“邏輯真”。

13樓:匿名使用者

數字:0為假,一切非0值都是“真”

bool型別:true為真,false為假(其實內在和數字是一個概念)

14樓:物理公司的

c語言中的邏輯值“真”是用,非0表示

邏輯假,用0表示

15樓:匿名使用者

c 語言沒有預設的邏輯值。

如果想要邏輯型別,方法是使用

#include

在以c為代表的多數電腦語言中, 0 為邏輯假,非0值均視為邏輯真((bool)(1)==(bool)(-1)==true)

16樓:衛班科技

一般情況下 非零 為真

可以用 邏輯運算子來表示邏輯值的真假

邏輯運算子

邏輯與&& 條件二邊為真 則值 為真

邏輯或|| 條件二邊有一邊為真 則值 為真

邏輯非! 條件為真 則值 為假

! 條件為假 則值 為真

17樓:匿名使用者

從最初版本來說,除了“0”都是真,不管正負數。

18樓:

“真”用1表示,“假”用0表示。

19樓:匿名使用者

bool 型別用 true 或者false

如果用其他型別, 一般 0 為假, 非零為真

20樓:匿名使用者

c語言沒有邏輯表達值,高階語言有,true false

21樓:匿名使用者

在c語言標準(c89)沒有定義布林型別,所以c語言判斷真假時以0為假,非0為真。

22樓:

我也是c語言的愛好者這題選b

23樓:匿名使用者

值0表示假,非0表示真

24樓:匿名使用者

邏輯值“假”:0

邏輯值“真”:非0 (一般用-1)

25樓:匿名使用者

零表示假,

非零表示真。

26樓:匿名使用者

0和非0 分別代表假和真

27樓:123拒絕者

“真”就是非零的數,“假”就是零

關於c語言小問題

28樓:匿名使用者

在c語言中邏輯“真”bai的du定義是:非0即為真。

在a中\0'不被編譯zhi器認,dao報錯,再說也回沒有使用“答'”的轉譯字元;

在b中,0為假;

在c中0'不被編譯器認,報錯;

在d中null在編譯時認為是假。

所以本題應該是沒有答案的。不過如果c中的“'”為何運算還不被確定,在c語言中應該沒有這個運算。

這題要是勉強的話只可以選擇d。

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

關於c語言的問題,關於C語言的問題

鷹弈 1 有定義 int n 0,p n,q p 則以下選項中,正確的賦值語句是 d a.p 1 b.q 2 c.q p d.p 5 解 p為一級指標,其中p為指標的地址,q為二級指標,其中 q為指標的地址,只能給變數或指標變數賦值,不能給地址賦值,所謂地址,就是由acs碼構成,簡單的說,就是每個人...

有些關於C語言的問題,C語言報錯的問題?

1 以下選項中屬於c語言的資料型別是 a.複合型 b.雙精度型 c.邏輯型 d.集合型 b正確2 以下說法中正確的是 a.c語言程式總是從第一個的函式開始執行 b.在c語言程式中,要呼叫的函式必須在main 函式中定義 c.c語言程式總是從main 函式開始執行 d.c語言程式中的main 函式必須...