C語言-06.ppt_第1頁
C語言-06.ppt_第2頁
C語言-06.ppt_第3頁
C語言-06.ppt_第4頁
C語言-06.ppt_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、C語言程序設(shè)計,第六課 運(yùn)算符與表達(dá)式,湛江師范學(xué)院陳其嶙 ,6.1 運(yùn)算符與表達(dá)式的相關(guān)概念,到現(xiàn)在為止,我們了解了C語言中各種數(shù)據(jù)類型的特點(diǎn)及其表示形式。那么如何對這些數(shù)據(jù)進(jìn)行處理和計算呢?通常當(dāng)我們要進(jìn)行某種計算時,都要首先列出算式,然后求解其值。在程序設(shè)計中,表達(dá)式是計算求值的基本單位。 簡單的說,表達(dá)式是由運(yùn)算符(例如:+ - * /)、操作數(shù)(可以是常數(shù)、變量等等)和括號組成。執(zhí)行表達(dá)式所規(guī)定的運(yùn)算,所得到的結(jié)果值便是表達(dá)式的值。例如 a+b,x/y 都是表達(dá)式。 C語言中定義了豐富的運(yùn)算符,如算術(shù)運(yùn)算符,關(guān)系運(yùn)算符、邏輯運(yùn)算符等等。有些有些運(yùn)算行需要兩個操作數(shù),使用形式為: 操作

2、數(shù)1運(yùn)算符操作數(shù)2 這樣的運(yùn)算符稱為二元運(yùn)算符(或雙目運(yùn)算符)。另一些運(yùn)算符只需要一個操作數(shù),稱為一元運(yùn)算符(或單目運(yùn)算符)。,6.2 運(yùn)算符與表達(dá)式注意的問題,1、表達(dá)式的值 5 + 10 2、運(yùn)算符的優(yōu)先級 6 + 5 * 4 3、運(yùn)算符的結(jié)合性 10 / 5 * 2 4、變量的值 int a = 5; a = a + 2;,6.3 算術(shù)運(yùn)算符/表達(dá)式,和其它高級語言一樣,C語言分別用+、-、*、/表示四則運(yùn)算的加、減、乘、除運(yùn)算符。C語言基本的算術(shù)運(yùn)算符如表所示。,注意事項(xiàng): 1)加、減運(yùn)算符,如果當(dāng)作正、負(fù)符號使用時,就不是加減運(yùn)算符了,正、負(fù)號的優(yōu)先級要高于乘、除運(yùn)算符。 2)除法運(yùn)

3、算,如果兩個操作數(shù)是整數(shù),則是整除運(yùn)算,其結(jié)果是整數(shù)。例如 5/3=1,-5/3=-1,舍棄了小數(shù)部分。如果兩個操作數(shù)中有實(shí)數(shù),則此運(yùn)算符變?yōu)閷?shí)數(shù)相除運(yùn)算,結(jié)果是實(shí)數(shù)。例如:1.0/3.0=0.33333。 3)什么是取模運(yùn)算呢?在C語言中,取模運(yùn)算符為%,表達(dá)式x%y是x除以y所得的余數(shù)。如果x正好能被y整除的話,那么結(jié)果是0。例如:45%5=0; 45%10=5。 取模運(yùn)算要求兩個操作數(shù)必須是整型數(shù),其結(jié)果也是整數(shù)。下面這個式子在C語言中是非法的: 12.4%6.7,例:數(shù)學(xué)表達(dá)式轉(zhuǎn)C表達(dá)式,s(s-a)(s-b)(s-c),s*(s-a)*(s-b)*(s-c),a*b/(2*a),5.

4、0/9.0*(f-32),6.3 賦值操作(賦值表達(dá)式),“賦值”使用最基本的運(yùn)算符-賦值運(yùn)算符,符號是“=”,它的作用是將一個表達(dá)式的值賦值給一個變量。例如,我們見過的“a=3“,它的作用是將常量 3 賦值給變量 a 。當(dāng)然,我們也可以將一個表達(dá)式的值賦給一個變量。例如: a = b*c*d*d-345; 注意:這里的賦值符號“=”和數(shù)學(xué)上的等號是不一樣的。賦值符號“=”表示將右邊的數(shù)值賦給左邊的變量,在一次賦值之后,還可以進(jìn)行多次賦值。比如: a = 3*6; a = b;,6.3 賦值運(yùn)算符,除了我們在普通賦值運(yùn)算符“”外,賦值運(yùn)算符還允許一些變形-復(fù)合賦值運(yùn)算符。比如:a+=3,在賦值

5、號“”前加一個其它運(yùn)算符“+”就構(gòu)成了復(fù)合運(yùn)算符“+=”。其意義等價于:a = a + 3。我們還可以使用下面這幾種復(fù)合運(yùn)算符。 +=、-=、*=、/=、%= 比如: a -= 3(等價于 a = a - 3) x *= y + 8(等價于 x = x*(y+8) ),賦值表達(dá)式 變量表達(dá)式 計算賦值運(yùn)算符右側(cè)表達(dá)式的值 將賦值運(yùn)算符右側(cè)表達(dá)式的值賦給左側(cè)的變量 將賦值運(yùn)算符左側(cè)的變量的值作為表達(dá)式的值,賦值表達(dá)式的值,例6-1 復(fù)合算術(shù)賦值運(yùn)算符,#include void main( ) int x, y, z; z=(x=7)+(y=3); printf(%d,%d,%dn, x, y,

6、 z); x=y=z=x+2; printf(%d,%d,%dn, x, y, z); x*=y-3; printf(%d,%d,%dn, x, y, z); ,x=7, y=3, z=x+y,z=x+2, y=z, x=z,x=x*(y-3),6.4 自增、自減運(yùn)算符/表達(dá)式,在程序設(shè)計時,為了控制程序的流程,經(jīng)常要進(jìn)行大量循環(huán)計數(shù)的運(yùn)算“j=j+1“、”j=j-1“。為了簡化程序的輸入,C語言專門提供了變量值為1、減1的特殊運(yùn)算符“自增”和“自減”運(yùn)算符 “+“,”-”。 自增、自減運(yùn)算符是C語言的一個特色,它的作用是將變量值加1或減1,例如: +i; -i; (在使用i之前,先對i的值進(jìn)

7、行加(減)1操作) i+; i-; (在使用i之后,再對i的值進(jìn)行加(減)1操作),自增、自減表達(dá)式的值,粗看起來,+i和i+的作用都是 i=i+1,但是它們在程序中的作用卻是不同的。+i 是先執(zhí)行 i=i+1,再使用i的值。而i+是先使用i的值,再執(zhí)行 i=i+1。例如,下列語句中i的初始值都是5,執(zhí)行結(jié)果k的值卻不不同。 k=+i; 先執(zhí)行i=i+1,i的值為6,再賦值給k,k=6。 k=i+; 先使用i的值為5,把它賦值給k,k=5,再執(zhí)行 i=i+1。 注意: 1、自增、自減運(yùn)算符都只能用于變量,不能用于常量或表達(dá)式。例如:+5、(3*s)+都是非法的。 2、用于自增、自減的變量只能是

8、整型、字符型和指針型變量,不能是實(shí)型變量。 3、自增、自減運(yùn)算符滿足處右向左的結(jié)合律。,/*程序:ex06_02.c 演示 i+ 和 +i 的區(qū)別 */ #include void main() int i,n; i = 5;/給i賦初值 n = i+;/改為 n=+i 后重新運(yùn)行本程序 printf(i=%d,n=%dn,i,n); ,表達(dá)式1, 表達(dá)式2, ,表達(dá)式n 先計算表達(dá)式,然后計算表達(dá)式,,最后計算表達(dá)式n的值,并將表達(dá)式n的值作為逗號表達(dá)式的值. 逗號運(yùn)算符的優(yōu)先級最低,從左向右 a = (3+5 , 4*6 ) a = 3+5 , 4*6,a=24 a=8,6.5 逗號運(yùn)算符

9、/表達(dá)式,6.6 數(shù)據(jù)類型的轉(zhuǎn)換,當(dāng)一個運(yùn)算符具有不同類型的運(yùn)算對象時,必須進(jìn)行類型轉(zhuǎn)換。這種類型轉(zhuǎn)換的一般如下: (1)低級類型向高級類型轉(zhuǎn)換 數(shù)據(jù)類型由低級向高級的排列順序是: char int long float double 在數(shù)據(jù)轉(zhuǎn)換中,低級類型服從高級類型,并進(jìn)行相應(yīng)轉(zhuǎn)換。在運(yùn)算中可以將所有的char型轉(zhuǎn)換成int型數(shù)據(jù),所有的 float 數(shù)據(jù)可以轉(zhuǎn)換為 double 數(shù)據(jù)。例如,下列語句: int a; a = 15 + a; printf(a的值是:%dn,a); 結(jié)果是112,(2)賦值運(yùn)算的類型轉(zhuǎn)換 在對賦值表達(dá)式求解過程中,如果賦值運(yùn)算符兩過的數(shù)據(jù)類型不一致,賦值時需要進(jìn)行類型轉(zhuǎn)換。這一轉(zhuǎn)換工作由C編譯系統(tǒng)自動完成,轉(zhuǎn)換的原則是以賦值運(yùn)算符“”左邊變量的類型為準(zhǔn),即將“”右邊表達(dá)式的值轉(zhuǎn)換成“”左邊變量的類型一致。,例:自動類型轉(zhuǎn)換(賦值運(yùn)算),double x; x = 1;,x = ?,int ai; ai = 2.56;,ai = ?,強(qiáng)制類型轉(zhuǎn)換運(yùn)算符

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論