⑴ c語言"NULL","true","false"的值都是多少
NULL=0
FALSE=0
TRUE記得是-1,但是如果用於if語句中,任何非0值都是true。但是TRUE一個宏,無法覆蓋所有情況。所以切記不要寫出TRUE==(表達式)這樣的判斷,因為這樣的判斷往往都是錯誤的
舉例來說,intbitmask=0x0010000;
if(~bitmask)//這是true的
if(TRUE==~bitmask)//雖然你想要達到的目的和上面一樣,但是實際這會是false。
⑵ C語言中,如何表示「真」還是「假」系統如何判斷一個量的「真」和「假」
C語言編譯系統在表示邏輯運算結果時,以數值1代表「真」,以0代表「假」。 比如:a、b的值分別是0、4,則a||b的值為1,a&&b的值為0。
但在判斷一個量是否為「真」時,以0代表「假」,以非0代表「真」。比如:a=4,因為a的值為非0,被認作「真」,所以對它進行「非」運算!a=0 。
其實語句是否執行由用戶的代碼(即判斷條件)決定的,而系統只用0和非0進行判斷,當用戶認為此句可執行,系統判斷為「真」,反之亦然 。
比如:while(ch!='#'){語句序列;}
ch!='#'為判斷條件
假如ch='A',這可執行大括弧中語句序列(系統判斷為「真」)
當ch='#',不可執行大括弧中的語句序列(系統判斷為「假」)
(2)c語言變數true擴展閱讀
C語言的運算符主要用於構成表達式,同一個符號在不同的表達式中,其作用並不一致。下面按計算的優先順序,分別說明不同作用的表達式。需要特別指出,在C語言標准中,並沒有結合性的說法。
相同優先順序運算符,從左至右依次運算。注意後綴運算優先順序高於前綴。因此++i++應解釋為++(i++)。
而與或非的運算優先順序都不一樣,因此a && b || b && c解釋為(a && b) || (b && c)合理使用優先順序可以極大簡化表達式。
基本表達式(Primary expressions),主要是用於運算符之間,做為運算數。標識,常量,字元串文字量,優先順序提升表達式最優先執行。優先順序提升表達式是指圓括弧包圍的表達式,如「( expression )」