c語言關於表示式求值,C語言關於表示式求值

2022-02-16 16:46:01 字數 3102 閱讀 2515

1樓:帛敬曦

c語言有豐富的表示式,這是它的特點之一,表示式主要有4類,算術表示式,賦值表示式,逗號表示式,關係表示式

1.算術表示式就是包含算術運算子(如+-/

*%等)的表示式(不是語句,後面沒有分號),如:a+b

,a%b,a+b-c*d,3+5等,算術表示式的值就是最後算出的結果,如3+5這個表示式的值就是8

2.賦值表示式,就是含有賦值運算子=的表示式,如a=5,b=3,c='a'等,=左邊的a,b,c稱為左值,必須為變數,=右邊的5,3,'a'稱為右值,必須為常量,賦值表示式的值為右值,如a=3的值為3,c='a'的值為字母a的ascii碼65(當然也可以認為它的值就是字母a)

3.逗號表示式就是含有逗號的表示式,形式:表示式1,表示式2,表示式3.......如a,b,c

3,5,7

a=3,b=4,c=6

3,a=5,b=6等

逗號表示式的值為,最右邊的表示式的值,如3,4,5的值就是5,表示式a=3,b=4,c=6的值就是表示式b=6的值,由上述分析知,表示式b=6的值就是6,所以表示式a=3,b=4,c=6的值就是6

4.關係表示式,指含有關係運算子(如》

<>====《等)的表示式(其實也是算術表示式的一種)如a>b,a>6,6>5,3<2,4==6等,如果表示式的關係是正確的,那麼表示式的值為1,否則為0

如6>5正確,表示式的值為1,3<2,和4==6錯誤,表示式的值為0

當然可以細分為很多種表示式,不過主要也就是這幾種的變型,希望對你有所幫助

2樓:黎涵瑤謝初

這種字尾自增的表示式,在最開始整個表示式作為運算的時候(比如是在for迴圈的時候),是先把a的值拿過去做運算的,然後在去把a

的值加一。

還有種字首自增的表示式,比如++a

是先把a的值加一,然後再參與整個運算。。。

這些都是c語言的一些規定,你可以這麼去記憶,就是「加加號」在前面的表示式就先做加法然後在運算,「加加號」在後面的表示式就先去運算然後再加。。。同樣地,可以用於自減,如a--或者--a的情況。。。望採納

3樓:陰釗申思嘉

原理是比較簡單的

假設表示式是正確的,不再進行表示式檢查。

表示式就是一個字串了,在字串中從頭開始找乘號或除號,假設符號為b找到的話就找這個符號前面和後面的運算數字a和c,然後把結果abc運算出來,替換原表示式中的abc字串,組成新的字串。

對新的字串進行上述操作,一直到沒有乘號或者除號為止。

然後繼續尋找加號和減號,不過這個就沒必要一次次的找了,把字串遍歷一遍運算完畢即可。

4樓:普雁頻夏

a++是a參與計算之後再進行對a的加1計算,而++a是先加1再進行計算,上面三個式子計算下來分別是:

3-5-4

=-6,a=

4,b=-3

(4+1)-5+(-3+1)

=-2,a=

5,b=-2

(5+1)-5-4

=-3,a=

6,c=6(注意這裡c+++b會認為前兩個++在一起,後面一個是單獨的)這裡認為上面三個式子是連續的三個式子,也就是說前面的運算結果會影響到後面的自變數,如果不是這樣的,只要掌握方法也很容易就可以就算出來。

最後要說的一點是,如果是你自己程式設計,最好不要用上面這樣的寫法,因為不管對你本人還是讀**的人都會造成不小的麻煩,如果誤解的話要查處錯誤來就很不容易了。最好是將++的式子提取出來,單獨計算。

c語言表示式求值

表示式的求值(c語言)

5樓:

c語言有豐富的表示式,這是它的特點之一,表示式主要有4類,算術表示式,賦值表示式,逗號表示式,關係表示式

1.算術表示式就是包含算術運算子(如+ - / * %等)的表示式(不是語句,後面沒有分號),如:a+b ,a%b,a+b-c*d,3+5等,算術表示式的值就是最後算出的結果,如3+5這個表示式的值就是8

2.賦值表示式,就是含有賦值運算子=的表示式,如a=5,b=3,c='a'等,=左邊的a,b,c稱為左值,必須為變數,=右邊的5,3,'a'稱為右值,必須為常量,賦值表示式的值為右值,如a=3的值為3,c='a'的值為字母a的ascii碼65(當然也可以認為它的值就是字母a)

3.逗號表示式就是含有逗號的表示式,形式:表示式1,表示式2,表示式3.......

如a,b,c 3,5,7 a=3,b=4,c=6 3,a=5,b=6等 逗號表示式的值為,最右邊的表示式的值,如3,4,5的值就是5,表示式a=3,b=4,c=6的值就是表示式b=6的值,由上述分析知,表示式b=6的值就是6,所以表示式a=3,b=4,c=6的值就是6

4.關係表示式,指含有關係運算子(如》 < >= == =《等)的表示式(其實也是算術表示式的一種)如a>b,a>6,6>5,3<2,4==6等,如果表示式的關係是正確的,那麼表示式的值為1,否則為0

如6>5正確,表示式的值為1,3<2,和4==6錯誤,表示式的值為0

當然可以細分為很多種表示式,不過主要也就是這幾種的變型,希望對你有所幫助

c語言編一個實現簡單的算術表示式求值的**。

6樓:匿名使用者

ent *bottom;

}stack;

bool calc(char *str,float *result);

float evaluationofexpression(char *str);

int main(void)

{char str[50];

float result;

printf("請輸入要計算的表示式:");

scanf("%s",str);

7樓:匿名使用者

cstdio標頭檔案時c++的標頭檔案,你可以把你的程式另存為*.cpp或者把標頭檔案改成stdio.h

8樓:匿名使用者

cstdio顯然是c++的標頭檔案形式。或者 你把cstdio.改成 stdio.h或者 把檔名改成.cpp用c++去編譯。

9樓:匿名使用者

#include

這裡難道不要加.h嗎?

關於c語言的逗號表示式

書上說的可能是逗號表示式的值,逗號表示式的值確實一個為14,一個為16,可是由於 號比逗號優先順序高,故a都為8 能不能加的自己去試試不就得了,錯了還有理了!應該是程式有問題 第一個如果是這樣答案就是14 inta a 3 5,a 6 8 printf d n a 第二給這樣 inta a 3 5,...

c語言表示式求值設intx 1,y 1表示式 xy的值

因為 與 的運算優復先級一樣,並且結制合性都是從右bai向左,所以 x 先計算dux x 等於2,再求反,非zhi0求反值為0,至於daoy y自減運算,運算子在後面先取y的值,再進行自減運算,y y的值為0,但是自減之前先取y的值參與邏輯或運算,0邏輯或1結果為1 x y 1 y 1,表示先賦值後...

c語言程式編寫計算表示式C語言程式編寫計算表示式123100的值。

c語言程式編寫 計算表示式 1 2 3 100的值可以參考下面的 include void main 擴充套件 資料 1 for迴圈最簡形式為 for 2 for迴圈一般形式為 for 單次表示式 條件表示式 末尾迴圈體 其中,表示式皆可以省略,但分號不可省略,因為 可以代表一個空語句,省略了之後語...