1. 語句和表達式是什麼 關系
表達式是會返回一個值的計算式或語句。
語句 有完成 一些特殊功能的能力,例如,賦值,循環,條件,轉向。 表達式 常是 語句的 一部份。
有時 表達式 和 語句 很相似, 糾纏在一起。 例如: if (n=x, m= fun(a,b) ) {。
} 條件語句里 的條件:n=x, m= fun(a,b) 叫 逗號表達式, 逗號表達式 由2個 賦值表達式組成,逗號表達式的值 等于 最右一個表達式的值。最右一個表達式 m= fun(a,b) 與 賦值語句很像,只是結束處沒有分號,fun(a,b) 是函數調用,返回值賦給 m。
2. 語句和表達式是什麼 關系
表達式是會返回一個值的計算式或語句。
語句 有完成 一些特殊功能的能力,例如,賦值,循環,條件,轉向。 表達式 常是 語句的 一部份。
有時 表達式 和 語句 很相似, 糾纏在一起。
例如: if (n=x, m= fun(a,b) ) {。} 條件語句里 的條件:
n=x, m= fun(a,b) 叫 逗號表達式, 逗號表達式 由2個 賦值表達式組成,逗號表達式的值 等于 最右一個表達式的值。最右一個表達式 m= fun(a,b) 與 賦值語句很像,只是結束處沒有分號,fun(a,b) 是函數調用,返回值賦給 m.
3. 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程序中,你不必編寫這樣的代碼,但要理解這些代碼的作用.希望能解決您的問題.。
4. 何為語句與表達式,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)是執行某種操作,沒有返回值。
關鍵就在這每個表達式都有一個值!!!
表達式與語句的區別就在于表達式有返回值,語句沒有、語句可以包含表達式,表達式加個分號就是語句。
個人見解,有誤請指正。
5. 什麼時候用表達式
這個就像是句子和短語的關系,每一個表達式都是一個短語,句子是由1個或幾個短語組成,
語句是由1個或幾個表達式組成,沒有什麼什麼時候用的問題,因為他們都是同時在使用的。
下面都是表達式:
1 + 2 + 3 算術表達式
perimeter = 2 * PI * radius 賦值表達式
cin >> num 輸入表達式
cout << “Hello, world!” << endl 輸出表達式
(a <= b) && (c >= b) 邏輯表達式
表達式加上分號構成表達式語句
1 + 2 + 3;
perimeter =2 * PI * radius;
cin >> num;
cout << “Hello, world!” << endl;
(a <= b) && (c >= b);
表達式是由操作數和操作符按照一定語法規則構成的符號序列;表達式語句必須在最后出現分號,分號是語句不可缺少的部分。