C語(yǔ)言 算術(shù)表達(dá)式
算術(shù)表達(dá)式就是將操作數(shù)用算術(shù)運(yùn)算符和括號(hào)連接起來(lái)的符合C語(yǔ)言規(guī)則的式子。操作數(shù)既可以是常量、變量,也可以是函數(shù)值。例如:
3+21/5-30, 2*PI*r,-b+sqrt(b*b-4*a*c)/(2*a)
sqrt()是求平方根函數(shù)。
上述算術(shù)運(yùn)算符均為雙目運(yùn)算,即要求參與運(yùn)算的對(duì)象有兩個(gè),且均具有左結(jié)合性,即同級(jí)運(yùn)算符的運(yùn)算規(guī)則為從左至右。
在算術(shù)運(yùn)算符中乘法運(yùn)算符“*”、除法運(yùn)算符“/”、求余運(yùn)算符“%”高于加法運(yùn)算符“+” 減法運(yùn)算符。但如果+、-是以正號(hào)、負(fù)號(hào)的形式出現(xiàn),則為單目運(yùn)算,具有右結(jié)合性,且優(yōu)先級(jí)高于*、I等。算術(shù)表達(dá)式中出現(xiàn)括號(hào)的話,括號(hào)的優(yōu)先級(jí)最高。
【例題】計(jì)算算術(shù)表達(dá)式的值
變量a、b、c已經(jīng)定義:
float a=2.0;
int b=6,c=4;
求表達(dá)式 a*(b/c)-1 .S+'a'+fabsC-S)的值。
解題過(guò)程:
①括號(hào)的優(yōu)先級(jí)最高,所以先if算括號(hào)中的b/c。
②計(jì)算表達(dá)式中出現(xiàn)的函數(shù),計(jì)算出函數(shù)fabs()的值,fabs()函數(shù)是求浮點(diǎn)型數(shù)值的絕對(duì)值,包含在math, h頭文件中。
③之后按照優(yōu)先級(jí)計(jì)算、最后計(jì)算減法、加法。運(yùn)算過(guò)程為:
a*(b/c)-1.5+'a'+fabs(-5)
=a*1-1.5+'a'+fabs(-5)
=a*1-1.5+'a'+5.0
=2.0-1.5+97+5.0
=0.5+97+5.0
=97.5+5.0
=102.5
點(diǎn)擊加載更多評(píng)論>>