1樓:
兩者區別不大,“x==0”是個判斷語句,很顯然,“x==0”成立,這個語句就為真,結果為true;
而“!x”呢,如果“x==0”,那麼“!x”就為真,結果為true,反之,這位假,就是false(!
x為0);所以,兩者都是x為0則判斷為真,沒什麼本質區別的,如果lz非要區別的話,可以這樣認為,“x==0”是直接將x與0比較的,真假立判;而“!x”先判斷x是否為0,那麼就可以得出(!x)是否為0,可以這樣分解:
if(x==0) 則((!x)!=0) return true;if(x!
=0) 則((!x)==0) return false;這裡其實就是boolean與int的一點聯絡,lz知道,false與0等同,true與1等同,而在二進位制記憶體中,false是全0的,不全0就是true,這就是!x(x是非boolean型吧)可以作為判斷(即結果是boolean型)的原因了。
解釋這麼多,希望對lz有幫助,
lz別忘記給分!!!
2樓:匿名使用者
效果是一樣的,不過第一種不易出錯,移植性較強
3樓:匿名使用者
第一個是數值等於0,第二個是條件句,就是不滿足條件x,執行下面的語句
4樓:朝朝戰士邦
貌似效果是一樣的誒...本質麼..咳咳..不好說的樣子..
5樓:慕浩波
x==0 是判斷語句
!x 是取非語句
if 是判斷語句
c語言 if(x==0) if (x=0) 有什麼不同
6樓:
首先弄清楚==和=的區別。==是判斷是否等於,if(x==0)就是說如果x等於0,;=是賦值,if(x=0),先把0賦值給x,那麼此時就相當於if(0),0為假,1為真。沒了
7樓:匿名使用者
if(x==0)是條件語句,即x是否等於0;if(x=0)確切的說是個錯誤語句,因為x=0是一個賦值語句,即把0賦給x,而if語句這裡需要一個條件語句
8樓:匿名使用者
x==0是進行判斷
x=0是賦值語句等價於if(0)
一般寫if(x=0)的都是犯錯了
少寫個=號
9樓:
if(x=0)
這個是把x賦值為0再判斷,這個if永遠不會成立if(x==0)這個是判斷x是不是等於0的if(00&&x<1)這個才是判斷x是不是在0和1之間的
10樓:匿名使用者
if(x==0) 是判斷語句,如果x=0則為真,否則為假
if (x=0)是先執行x=0,再來判斷,沒去試過,可以肯定不是等同於if(0)就是等同於if(1)
11樓:嘻嘻t溦
首先,兩個語法上都是對的。
if()裡面可以放判斷語句,也可以放陳述句。
如果你知道x==0,x=0是陳述句,那麼就只說陳述句的區別,看例子最直觀。
if(x=0) 相當於x = 0和if(x)兩個語句,x會被賦值為0——>if(x)就變成了if(0);
小夥伴就會推測if(x=1)是不是就是if(1)——你的猜測是對的。
同樣if(x=1)相當於x = 1和if(x)——>if(x)變成if(1);
12樓:匿名使用者
沒法比較,“=”是賦值,“!=”是不等於,“==”這個是等於的判斷。
問題中前邊是x除以7的餘數賦值成0,不能這樣寫,沒有意義,會報錯吧。if後面的“()”裡應該是個條件啊,判斷啊之類的。
應該是問的if(x%7==0)和if(x%7!=0)的區別吧。前邊是當x除以7的餘數是0的時候(x是7的整倍數),條件成立,執行if後面{}裡的語句;後面的是當x除以7的餘數不為0的時候(x不是7的整倍數),條件成立,執行if後面{}裡的語句;
在c語言裡,if (x)等價於if (x!=0)、if (!x)等價於if (x==0)嗎?
13樓:匿名使用者
在c語言裡,if (x)等價於if (x!=0)、if (!x)等價於if (x==0)。
判斷的時候,x非零則為真,也就是x!=0就是x為真,x等於0,就是x為假。
if中需要的是個邏輯運算,真、假。如果是真執行if中包含的**,否則執行程式,在c語言中0為“假”,非0為“真”。
擴充套件資料
當前階段,在程式設計領域中,c語言的運用非常之多,它兼顧了高階語言和組合語言的優點,相較於其它程式語言具有較大優勢。
計算機系統設計以及應用程式編寫是c語言應用的兩大領域。同時,c語言的普適較強,在許多計算機作業系統中都能夠得到適用,且效率顯著。
14樓:匿名使用者
是的呦,其實if()裡面的判斷是邏輯判斷,0為假,非0為真!
15樓:匿名使用者
等價的。判斷的時候,x非零則為真。 也就是x!=0就是x為真。
x等於0,就是x為假。
16樓:
if中需要的是個邏輯運算,真,假。如果是真執行if中包含的**,否者執行下面的。
在c語言中0為“假”,非0為“真”。
if(x):1)如果x不等於0(非0),那麼if(x)就是”真“,所以if(x!=0)就是“真”。
2)如果x等於0(0),那麼if(x)就是“假”,if(x!=0)也就是”假“的,因為x明明等於0
if(!x):1)如果x等於0(0),非運算(!
)一下,可以簡單理解為取反(0取反為非0),那麼if(!x)就是不等於0了,那麼就是”真“了,if(x==0)也是“真”,因為x先前假設為0。
2)如果x不等於0(非0),那麼if(!x),就是等於0,也就是“假”,那麼if(x==0)也為”假“,因為先前假設x不等於0,可是現在==0,所以為假。
**********以上為考慮的思維
關鍵就是:0為“假”,非0為“真”。
by the way:if(x!=0)中的感嘆號為”不“的意思,x不等於0.而if(!x)中的x是將x的值”取反“,0變非0,非0變0
c語言中if(!x)和if(x) 的等價結構是什麼
17樓:匿名使用者
if(!x)等價於
if(x==0||x=='\0');
if(x)等價於
if(x!=0||!x==0)。
如果布林表示式為 true,則 if 語句內的**塊將被執行。如果布林表示式為 false,則 if 語句結束後的第一組**(閉括號後)將被執行。
“!”:(邏輯非)邏輯運算子。“邏輯非”就是指本來值的反值。
例如:" !0" 這個邏輯表示式的值為1.(判斷的這個數為0,成立,則其表示式的值為1)
" !1" 這個邏輯表示式的值為0.(判斷的這個數非0,不成立,則其表示式的值為0)
c 語言把任何非零和非空的值假定為 true,把零或 null 假定為 false。
18樓:匿名使用者
if語句為判斷語句,其功能為,如果括號內的表示式為真,則執行,否則不執行。
所以無論括號內為何種表示式,最終都是用按照邏輯運算表示式取值的。也就是結果為0,則按假處理,否則按真處理。
於是可以得到
if(x) 也就是當x非0則真,否則為假。等效於if(x != 0)。
類似的,if(!x)也就是當x為0則真,否則為假。等效於 if(x == 0)。
19樓:
if(!x)等價於if(x == 0)
if(x)等價於if (x !=0)
在c語言中if(x=0)與if(x==0)的區別 if(0
20樓:匿名使用者
if(x=0)
這個是把x賦值為0再判斷,這個if永遠不會成立if(x==0)這個是判斷x是不是等於0的if(專0表示式是先讓0和屬x比較
00&&x<1)這個才是判斷x是不是在0和1之間的
21樓:血_翼狼
if(x=0) 和 if(0 22樓:匿名使用者 1、=和==的區別:=是賦值符號,==比較符號; 2、if(00&&x<1)表示數學中的0 在c語言中,與if(x==0) 等價的表示式寫法是什麼? 23樓:匿名使用者 if(!x) //但是不提倡這種寫法。首先不宜閱讀,其次別人會以為x是一個bool型變數。 24樓:寧小哥的分享 與if(x==0) 只有 1 if(!x) //這個是不好的風格 2 if(0==x) //這樣寫的習慣,可以防止x=0這樣的筆誤3 x==0 ? :{}; //這個適合有else的時候用不能用while,while是個迴圈,就算迴圈內修改了x的值,只執行了一次,或者x! =0執行零次,本質上還是有區別 25樓: do````` `````` while(x==0); 或者:while(x==0)······ 26樓:匿名使用者 7182225250回答的很好了 c語言中if(x==y)和if(x=y)有什麼區別 27樓:天雨下凡 if(x==y)是判斷x與y是否相等,相等則為真,不等則為假 if(x=y)這個是把y的值賦給x,然後判斷表示式x=y的值,c語言中,賦值表示式是有值的,它的值是賦值符號右邊的值,即x=y的值是y的值,如果y的值為0,那麼x=y為假,否則為真 一般來講,程式設計過程中if(x=y)這種寫法是錯誤的寫法,程式能夠通過編譯,也能夠執行,但是可能會出現意料之外的結果。 28樓:匿名使用者 ==是等於的意思,比如x==100這個語句,如果x的值確實是100,則返回1,如果x的值不是100 則x不等於100,則返回0。 =是賦值的意思,只要賦值成功,都返回1。比如x=1,就是把1賦給x,換句話說,在這個句子之前,x可能沒有值,或者有其他值,但是這個語句之後,x就等於1了。 所以,如果是要判斷x是否等於y,那應該用x==y c語言中 if(!x); 表示什麼意思 29樓:匿名使用者 很簡單,若x為真,那麼!x為假。if(x)等價於if(true),if(! x)等價於(false)。後面執行什麼你應該知道了。還有就是如何判別x為真,只要是一個數,常量變數都是真的。 另外補充一點true和false 都是邏輯變數,在記憶體中true=1,false=0,所以!x在記憶體中等於0. 30樓:匿名使用者 (!x) 表示當x不成立(若為數值時,則x=0),則if語句條件成立,進而執行此條件內的語句;否則不執行if條件內的語句,直接跳過此段往下執行。 31樓:匿名使用者 x=0時,執行空語句 32樓:魏墨徹佴雲 非x的意思。 !在c語言中有兩種表達,這裡邊表示“非”。 取決於x的值,如果x的值為0,!x就是1. 如果x的值不為0,!x就是0的意思。 擴充套件資料: c語言中提供了三種邏輯運算子: &&(與運算) ||(或運算) !(非運算) 優先順序:c語言中,運算子的運算優先順序共分為15 級。1級最高,15 級最低。 在表示式中,優先順序較高的先於優先順序較低的進行運算。而在一個運算量兩側的運算子 優先順序相同時,則按運算子的結合性所規定的結合方向處理。 結合性:c語言中各運算子的結合性分為兩種,即左結合性(自左至右)和右結合性(自右至左)。例如算術運算子的結合性是自左至右,即先左後右。如有表示式x-y+z 則y應先與“-”號結合,執行x-y 運算,然後再執行+z 的運算。 這種自左至右的結合 方向就稱為“左結合性”。而自右至左的結合方向稱為“右結合性”。最典型的右結合 性運算子是賦值運算子。如x=y=z,由於“=”的右結合性,應先執行y=z 再執行x=(y=z)運算。c語言運算子中有不少為右結合性,應注意區別,以避免理解錯誤。 優先順序從上到下依次遞減,最上面具有最高的優先順序,逗號操作符具有最低的優先順序。 參考資料: c語言更多邏輯運算子 第一句有問題,printf 意思就是列印括號裡的話。第二個對的,要想列印出一句話就要用printf.你看看這個題 從鍵盤上輸入乙個百分制成績score,按下列原則輸出其等級 score 90,等級為a 80 score 90,等級為b 70 score 80,等級為c 60 score 70,等級為... 1.c程式中的關鍵字必須小寫,其他識別符號不區分大小寫對2.在c語言中,5種基本資料型別的儲存空間長度的排列順序為 char10 後,t的值為0 錯,t 10 11.在c語言中,變數必需先定義後使用 對12.在c程式中,是隻能用於整數運算的運算子對13.在c語言中,邏輯 真 等價於不等於0的數對14... 假設年n,月y,日d月m if m 1,3,5,7,8,10,12 if d 1 d 31 if m 4,6,9,11 if d 1 d 30 if m 2 if d 1 d 28 if d 29 if n是閏年 日期合法 先讀取月份,根據月份確定當月應該有幾天 大月還是小月 然後再對讀取的日期進行...c語言判斷
c語言程式判斷題,c語言判斷題
c語言判斷日期