表達式和語句的區別
表達式:
表達式是操作符、操作數和標點符號組成的序列,其目的是用來說明…個計算過程。
表達式可以嵌套,例如:2+3+(5*sizeof(int))/345。
表達式根據某些約定、求值次序、結合和優先級規則來進行計算。
所謂約定,即類型轉換的約定。例如:
float a;
a=5/2;
結果。得到值為2。5/2是整數除法取整, 因為5和2都是整數,不會由于a是float型而輕易改變運算的性質。
所謂求值次序,是指表達式中各個操作數的求值次序視編譯器不同而不同。見3.9節。
所謂結合性,是指表達式中出現同等優先級的操作符時,該先做哪個操作的規定。例如:
d=a+b-c; //C++規定,加減法先左后右,先做a+b,其結果再減去c
d=a=3; //C++規定,等號是先右后左。先做a=3,其結果再賦給d
所謂優先級,是指不同優先級的操作符,總是先做優先級高的操作。例如:
d=a+b*c; //乘法優先級比加法高。先做b*c,其結果再與a相加
表達式語句:
C++中所有的操作運算都通過表達式來實現。 由表達式組成的語句稱為表達式語句。
它由一個表達式后接一個分號“;”組成。
表達式和語句的區別
這個問題不高深,而且也沒必要去深究,有很多人都分不清,甚至在有些教程里面都會搞混淆掉,盡量意會吧。
在程序設計語言中,語句指的是執行單元,通常以行為單位,表達式指的是可用于計算的式子,即可能產生一個值的式子。語句可以包含有表達式,表達式也可以單獨形成一個語句。
例如:在:aa=35;bb=1+aa;或者:aa=function (){return 35};bb=1+aa();中的1+aa()就是表達式。或者:function aa(var aa){alert aa+1;}bb=2;aa(bb+56);中的bb+56就是表達式。
下面這句:aa++;就是一個由一個表達式構成的語句。只要知道表達式是可能產生一個結果(值)的式子就可以了。
另,如果你聽到或看到有人說if語句、for語句,其實大多數情況指的都是if分支結構,for循環結構。
表達式和語句的區別
你好,這個問題不高深,而且也沒必要去深究,有很多人都分不清,甚至在有些教程里面都會搞混淆掉,盡量意會吧。
在程序設計語言中,語句指的是執行單元,通常以行為單位,表達式指的是可用于計算的式子,即可能產生一個值的式子。語句可以包含有表達式,表達式也可以單獨形成一個語句。
例如:在:aa=35;bb=1+aa;或者:aa=function (){return 35};bb=1+aa();中的1+aa()就是表達式。或者:function aa(var aa){alert aa+1;}bb=2;aa(bb+56);中的bb+56就是表達式。
下面這句:aa++;就是一個由一個表達式構成的語句。只要知道表達式是可能產生一個結果(值)的式子就可以了。
另,如果你聽到或看到有人說if語句、for語句,其實大多數情況指的都是if分支結構,for循環結構。
if語句條件表達式
當把一個指針作為條件表達式時,所要判斷的條件實際上就是“該指針是否為一空指針”.在if,while,for或do/while等語句中,或者在條件表達式中,都可以使用指針.請看下例: if(p) { /*dO something*/ } else { /* dOsomethingelse */ }當條件表達式的值不等于零時,if語句就執行“then”子句(即第一個子句),即“if(/*something*/)”和“if(/*something*/!=0)”是完全相同的.因此,上例和下例也完全相同: if(p !=0) { /* dO something(not anull pointer)*/ } else { /* dOsomethingelse(a null pointer)*/ }以上兩例中的代碼不易讀,但經常出現在許多C程序中,你不必編寫這樣的代碼,但要理解這些代碼的作用.希望能解決您的問題.。