語句和表達式是什么 關系
表達式是會返回一個值的計算式或語句。
語句 有完成 一些特殊功能的能力,例如,賦值,循環,條件,轉向。 表達式 常是 語句的 一部份。
有時 表達式 和 語句 很相似, 糾纏在一起。
例如: if (n=x, m= fun(a,b) ) {。} 條件語句里 的條件:
n=x, m= fun(a,b) 叫 逗號表達式, 逗號表達式 由2個 賦值表達式組成,逗號表達式的值 等于 最右一個表達式的值。最右一個表達式 m= fun(a,b) 與 賦值語句很像,只是結束處沒有分號,fun(a,b) 是函數調用,返回值賦給 m.
表達式和語句的區別
你好,這個問題不高深,而且也沒必要去深究,有很多人都分不清,甚至在有些教程里面都會搞混淆掉,盡量意會吧。
在程序設計語言中,語句指的是執行單元,通常以行為單位,表達式指的是可用于計算的式子,即可能產生一個值的式子。語句可以包含有表達式,表達式也可以單獨形成一個語句。
例如:在: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 (n=x, m= fun(a,b) ) {。
} 條件語句里 的條件:n=x, m= fun(a,b) 叫 逗號表達式, 逗號表達式 由2個 賦值表達式組成,逗號表達式的值 等于 最右一個表達式的值。最右一個表達式 m= fun(a,b) 與 賦值語句很像,只是結束處沒有分號,fun(a,b) 是函數調用,返回值賦給 m。
.。
何為語句與表達式,C語言中的語句與表達式有什么不同
表達式,是由數字、算符、數字分組符號(括號)、自由變量和約束變量等以能求得數值的有意義排列方法所得的組合。約束變量在表達式中已被指定數值,而自由變量則可以在表達式之外另行指定數值。給與自由變量一些數值指定,可能可以給與一個表達式數值,即使對于一些自由變量的值,表示式或許沒有定義。因此,一個表達式代表一個函數,其輸入為自由變量的定值,而其輸出則為表示式因之后所產生出的數值。
也有人這樣解釋:
表達式是操作符、操作數和標點符號組成的序列,其目的是用來說明…個計算過程。
表達式可以嵌套,例如: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++ Primer第六章說:語句類似于自然語言中的句子。C++語言既有只完成單一任務的簡單語句,也有作為一個單元執行的有一組語句組成的復合語句。
個人認為,和我們說話所說的句子一樣的,只是我們寫作文用句號結束一個句子,而C++用分號……也就是說,你看到一個分號就表示一個語句。而語句與表達式的區別可以說就在于這個分號。表達式語句——在表達式的末尾加分號就形成了一個表達式語句。
不過簡單的講
"表達式"(expression)是一個單純的運算過程,總是有返回值;
"語句"(statement)是執行某種操作,沒有返回值。
關鍵就在這每個表達式都有一個值!!!
表達式與語句的區別就在于表達式有返回值,語句沒有、語句可以包含表達式,表達式加個分號就是語句。
個人見解,有誤請指正。
怎樣區分表達式和表達式語句
凡是有值的都是表達式。具體包括:數字,標識符,字符常量,字符串常量,函數調用,以及以上幾種用運算符組合起來。
如a,a++,a+b,"dfsaf",f()。.
表達式后面加一個分號就構成了表達式語句。
為什么要用表達式語句呢?因為我們需要表達式的副作用,而不是它的值。
比如a++;和++a;這條表達式的值對我們來說沒什么意義,我們只是單獨希望他把a加一而已。
再比如函數調用。puts("haha");puts是有返回值的,但顯然我們并不關心。要的只是要他執行了就行。
注意,聲明是語句,不是表達式。for(;;)里面是表達式,而不是語句。