C 中if x 3 和if x 3 有什麼不同

時間 2021-10-17 05:16:06

1樓:城涵陽從筠

if(x=3)

是對x賦值

if的結果恒等3(真),這是沒有語法錯誤的if(x==3)判斷x是否等於3有時寫成if(3==x)來避免第一種情況出現

2樓:之俊名

if(x=3)是賦值,x=3,跟判斷條件沒啥關係,if後面的語句是一定會被執行的。

if(x==3)這個是比較。只有當x的值是3的時候,if後面的語句才會被執行

3樓:

if語句的判定條件是 bool值 即true 與 false而 bool值可以與int等型別的值相切換即 false 的值為0; 其他非零值都為true"=" 是賦值操作符 "=="是比較操作符if(x = 3)即 x的值為3,也就是 true 進入if語句if(x == 3)是用來看x的值是否與3相等,如果相等,則值為true,進入if語句;如果不想等則if語句的判定條件為false,進入後面的else語句.如果沒有else語句,則執行if語句之後的程式.

4樓:匿名使用者

樓上兩位解釋得都對。

c++中=和==有什麼區別

5樓:鮑彗修兆

c是乙個結構化語言,它的重點在於演算法和資料結構。c程式的設計首要考慮專的是如何通過屬乙個過程,對輸入(或環境條件)進行運算處理得到輸出(或實現過程(事務)控制),而對於c++,首要考慮的是如何構造乙個物件模型,讓這個模型能夠契合與之對應的問題域,這樣就可以通過獲取物件的狀態資訊得到輸出或實現過程(事務)控制。

所以c與c++的最大區別在於它們的用於解決問題的思想方法不一樣。之所以說c++比c更先進,是因為「

設計這個概念已經被融入到c++之中

」,而就語言本身而言,在c中更多的是演算法的概念。那麼是不是c就不重要了,錯!演算法是程式設計的基礎,好的設計如果沒有好的演算法,一樣不行。

而且,「c加上好的設計」也能寫出非常好的東西。

對語言本身而言,c是c++的子集,

c實現了c++中過程化控制及其它相關功能,而在c++中的c(我稱它為「c+」),相對於原來的c還有所加強,引入了過載、內聯函式、異常處理等等玩藝兒,c++更是拓展了物件導向設計的內容,如類、繼承、虛函式、模板和包容器類等等。

6樓:科學普及交流

c++中=和==的區別:

=:是賦值,使值為=後的數。

==:是比較,是與==後的數進

行比較,相版等為真權

,如果不相等為假。

如:a=3,意思是令a的值為3,

a==3,不會改變3的值,只是將a的值與3進行比較,如果a等於3,則a==3為真,如果a不等於3,則為假。

7樓:楚梁梁

舉個例子,a=3,意思是令a的值為3,而a==3,不會改變3的值,只是將a的值與3進行比較,如果a等於3,則a==3為真,如果a不等於3,則為假

8樓:存在de虛幻

=是賦值運算子,將某個值給變數。==是邏輯運算子,用來做比較。

9樓:胡國啊松

=用於賦值 == 用於比較

c++中&和&&有什麼區別

10樓:a羅網天下

區別一:意思不同

1、&表示按位與操作。

2、&&表示邏輯與的意思,即為and。

區別二:程式執行的時候不同

1、當運算子&&兩邊的表示式的結果都為true時,整個運算結果才為true,否則,只要有一方為false,則結果為false。比如 12&&23的結果就是1,12&&-1 的結果是1,123&&0的結果就是0

2、我們通常使用0x0f來與乙個整數進行&運算,來獲取該整數的最低4個bit位,例如,0x31 & 0x0f的結果為0x01。

區別三:&&還具有短路的功能

如果第乙個表示式為false,則不再計算第二個表示式,例如,對於if(str != null && !str.

equals(「」))表示式,當str為null時,後面的表示式不會執行,所以不會出現nullpointerexception

c++中的算術運算子包括基本的算術運算子和自增、自減運算子。由算術運算子、運算元和括號構成的表示式稱為算術表示式。

基本算術運算子有:+(加)、-(減或負號)、*(乘)、/(除)、%(取餘)。其中「-」作為負號時為一元運算子,其餘都為二元運算子。

這些基本算術運算子的意義與數學中相應符號的意義是一致的。它們之間的相對優先順序關係與數學中的也是一致的,即先乘除、後加減,同級運算自左向右進行。使用算術運算子要注意以下幾點:

①「%」是取餘運算,只能用於整型運算元。表示式a%b的結果為a/b的餘數。 「%」的優先順序與「/」相同。

②當「/」用於兩整型運算元相除時,其結果取商的整數部分,小數部分被自動捨棄。因此,表示式1/2的結果為0,這一點需要特別注意。

⑧c++中的「++」 (自增)、 「--」 (自減)運算子是使用方便且效率很高的兩個運算子,它們都是一元運算子。這兩個運算子都有前置和後置兩種使用形式

11樓:匿名使用者

c++中&和&&的區別如下:

1、含義上的區別:

&&表示邏輯與的意思,即為and。當運算子兩邊的表示式的結果都為true時,整個運算結果才為true,否則,只要有一方為false,則結果為false。

比如 12&&23的結果就是1,12&&-1 的結果是1,123&&0的結果就是0。

2、運算規則的區別:

表示按位與。&表示按位與操作,我們通常使用0x0f來與乙個整數進行&運算,來獲取該整數的最低4個bit位,例如,0x31 & 0x0f的結果為0x01。二進位制與運算規則:

1&1=1  1&0=0  0&0=0。

3、特殊用法的區別:

&&還具有短路的功能,即如果第乙個表示式為false,則不再計算第二個表示式。

例如,對於if(str != null && !str.

equals(「」))表示式,當str為null時,後面的表示式不會執行,所以不會出現nullpointerexception。

12樓:

c語言採用了短路方式,如果&&前乙個為false,直接退出。所以yanganglove的回答不對。

&&和&的不同在於&&是邏輯運算子,前後跟兩個表示式,如果兩個都為true,整個結果為true。而&是位運算子,按位進行,比如:

3&53的二進位制為11

5的二進位制為101

011&101

_____

001(按每位進行與運算)

所以3&5的結果為1。

位運算子還有|(或)、^(異或)、~(取反)等。

&&和||的優先順序是相同的,而!優先順序比較高。

13樓:匿名使用者

看下面**

if(a>0&&b<0&&c>0);2個&&時他會把if裡面的條件判斷完後再來判斷是真還是假;

if(a>0&b<0&c>0);1個&時他可能不會判斷if裡面的所有條件.當判斷到假時他就不再進行下面的判斷,直接得出假值!

14樓:私理主宰

前者是按位與,後者是邏輯與

15樓:

&&是邏輯與 &是按位與 傑物說的對

確切地說,C語言判斷中if x 0 和if x 有什麼本質上的區別嗎

兩者區別不大,x 0 是個判斷語句,很顯然,x 0 成立,這個語句就為真,結果為true 而 x 呢,如果 x 0 那麼 x 就為真,結果為true,反之,這位假,就是false x為0 所以,兩者都是x為0則判斷為真,沒什麼本質區別的,如果lz非要區別的話,可以這樣認為,x 0 是直接將x與0比較...

小米盒子3s和3c有什麼不同,小米3C和3S 有什麼差別??

智慧電視網 記憶體和快閃記憶體,以及系統版本不同,遙控器的功能也有所不一樣。小米3c和3s 有什麼差別? 深圳市展望興科技 1 小米盒子3s與小米盒子3c均採用的是相同的設計,而介面方面設計也保持了一致,因此我麼就跨過外觀設計直接來看硬體配置對比 2 從硬體配置方面來看,從處理器到記憶體再到快閃記憶...

EXCEL中的問題。E 2和C3分別表示什麼意思?整個函式是 ABS E 2 C3

是鎖定後面那個字元的意思,這樣在拖動 複製和自動填充時,被鎖定的字元不會變化。希望你理解了 騎雲 e 2和 c3表示的就是取e2和c3的資料進行運算。整個函式 abs e 2 c3 的意義為 對e2減去c3單元格的數求絕對值。但是 符號代表的是,在選中這個單元格下拉或橫拉填充時,鎖定公式中部分資料不...