![C語(yǔ)言-06.ppt_第1頁(yè)](http://file1.renrendoc.com/fileroot2/2020-1/14/8d3794c6-a02d-4d5b-aeae-90c793efd965/8d3794c6-a02d-4d5b-aeae-90c793efd9651.gif)
![C語(yǔ)言-06.ppt_第2頁(yè)](http://file1.renrendoc.com/fileroot2/2020-1/14/8d3794c6-a02d-4d5b-aeae-90c793efd965/8d3794c6-a02d-4d5b-aeae-90c793efd9652.gif)
![C語(yǔ)言-06.ppt_第3頁(yè)](http://file1.renrendoc.com/fileroot2/2020-1/14/8d3794c6-a02d-4d5b-aeae-90c793efd965/8d3794c6-a02d-4d5b-aeae-90c793efd9653.gif)
![C語(yǔ)言-06.ppt_第4頁(yè)](http://file1.renrendoc.com/fileroot2/2020-1/14/8d3794c6-a02d-4d5b-aeae-90c793efd965/8d3794c6-a02d-4d5b-aeae-90c793efd9654.gif)
![C語(yǔ)言-06.ppt_第5頁(yè)](http://file1.renrendoc.com/fileroot2/2020-1/14/8d3794c6-a02d-4d5b-aeae-90c793efd965/8d3794c6-a02d-4d5b-aeae-90c793efd9655.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、C語(yǔ)言程序設(shè)計(jì),第六課 運(yùn)算符與表達(dá)式,湛江師范學(xué)院陳其嶙 ,6.1 運(yùn)算符與表達(dá)式的相關(guān)概念,到現(xiàn)在為止,我們了解了C語(yǔ)言中各種數(shù)據(jù)類型的特點(diǎn)及其表示形式。那么如何對(duì)這些數(shù)據(jù)進(jìn)行處理和計(jì)算呢?通常當(dāng)我們要進(jìn)行某種計(jì)算時(shí),都要首先列出算式,然后求解其值。在程序設(shè)計(jì)中,表達(dá)式是計(jì)算求值的基本單位。 簡(jiǎn)單的說(shuō),表達(dá)式是由運(yùn)算符(例如:+ - * /)、操作數(shù)(可以是常數(shù)、變量等等)和括號(hào)組成。執(zhí)行表達(dá)式所規(guī)定的運(yùn)算,所得到的結(jié)果值便是表達(dá)式的值。例如 a+b,x/y 都是表達(dá)式。 C語(yǔ)言中定義了豐富的運(yùn)算符,如算術(shù)運(yùn)算符,關(guān)系運(yùn)算符、邏輯運(yùn)算符等等。有些有些運(yùn)算行需要兩個(gè)操作數(shù),使用形式為: 操作
2、數(shù)1運(yùn)算符操作數(shù)2 這樣的運(yùn)算符稱為二元運(yùn)算符(或雙目運(yùn)算符)。另一些運(yùn)算符只需要一個(gè)操作數(shù),稱為一元運(yùn)算符(或單目運(yùn)算符)。,6.2 運(yùn)算符與表達(dá)式注意的問(wèn)題,1、表達(dá)式的值 5 + 10 2、運(yùn)算符的優(yōu)先級(jí) 6 + 5 * 4 3、運(yùn)算符的結(jié)合性 10 / 5 * 2 4、變量的值 int a = 5; a = a + 2;,6.3 算術(shù)運(yùn)算符/表達(dá)式,和其它高級(jí)語(yǔ)言一樣,C語(yǔ)言分別用+、-、*、/表示四則運(yùn)算的加、減、乘、除運(yùn)算符。C語(yǔ)言基本的算術(shù)運(yùn)算符如表所示。,注意事項(xiàng): 1)加、減運(yùn)算符,如果當(dāng)作正、負(fù)符號(hào)使用時(shí),就不是加減運(yùn)算符了,正、負(fù)號(hào)的優(yōu)先級(jí)要高于乘、除運(yùn)算符。 2)除法運(yùn)
3、算,如果兩個(gè)操作數(shù)是整數(shù),則是整除運(yùn)算,其結(jié)果是整數(shù)。例如 5/3=1,-5/3=-1,舍棄了小數(shù)部分。如果兩個(gè)操作數(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ǔ)言中,取模運(yùn)算符為%,表達(dá)式x%y是x除以y所得的余數(shù)。如果x正好能被y整除的話,那么結(jié)果是0。例如:45%5=0; 45%10=5。 取模運(yùn)算要求兩個(gè)操作數(shù)必須是整型數(shù),其結(jié)果也是整數(shù)。下面這個(gè)式子在C語(yǔ)言中是非法的: 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)算符,符號(hào)是“=”,它的作用是將一個(gè)表達(dá)式的值賦值給一個(gè)變量。例如,我們見過(guò)的“a=3“,它的作用是將常量 3 賦值給變量 a 。當(dāng)然,我們也可以將一個(gè)表達(dá)式的值賦給一個(gè)變量。例如: a = b*c*d*d-345; 注意:這里的賦值符號(hào)“=”和數(shù)學(xué)上的等號(hào)是不一樣的。賦值符號(hào)“=”表示將右邊的數(shù)值賦給左邊的變量,在一次賦值之后,還可以進(jìn)行多次賦值。比如: a = 3*6; a = b;,6.3 賦值運(yùn)算符,除了我們?cè)谄胀ㄙx值運(yùn)算符“”外,賦值運(yùn)算符還允許一些變形-復(fù)合賦值運(yùn)算符。比如:a+=3,在賦值
5、號(hào)“”前加一個(gè)其它運(yùn)算符“+”就構(gòu)成了復(fù)合運(yùn)算符“+=”。其意義等價(jià)于:a = a + 3。我們還可以使用下面這幾種復(fù)合運(yùn)算符。 +=、-=、*=、/=、%= 比如: a -= 3(等價(jià)于 a = a - 3) x *= y + 8(等價(jià)于 x = x*(y+8) ),賦值表達(dá)式 變量表達(dá)式 計(jì)算賦值運(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ì)時(shí),為了控制程序的流程,經(jīng)常要進(jìn)行大量循環(huán)計(jì)數(shù)的運(yùn)算“j=j+1“、”j=j-1“。為了簡(jiǎn)化程序的輸入,C語(yǔ)言專門提供了變量值為1、減1的特殊運(yùn)算符“自增”和“自減”運(yùn)算符 “+“,”-”。 自增、自減運(yùn)算符是C語(yǔ)言的一個(gè)特色,它的作用是將變量值加1或減1,例如: +i; -i; (在使用i之前,先對(duì)i的值進(jìn)
7、行加(減)1操作) i+; i-; (在使用i之后,再對(duì)i的值進(jìn)行加(減)1操作),自增、自減表達(dá)式的值,粗看起來(lái),+i和i+的作用都是 i=i+1,但是它們?cè)诔绦蛑械淖饔脜s是不同的。+i 是先執(zhí)行 i=i+1,再使用i的值。而i+是先使用i的值,再執(zhí)行 i=i+1。例如,下列語(yǔ)句中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 先計(jì)算表達(dá)式,然后計(jì)算表達(dá)式,,最后計(jì)算表達(dá)式n的值,并將表達(dá)式n的值作為逗號(hào)表達(dá)式的值. 逗號(hào)運(yùn)算符的優(yōu)先級(jí)最低,從左向右 a = (3+5 , 4*6 ) a = 3+5 , 4*6,a=24 a=8,6.5 逗號(hào)運(yùn)算符
9、/表達(dá)式,6.6 數(shù)據(jù)類型的轉(zhuǎn)換,當(dāng)一個(gè)運(yùn)算符具有不同類型的運(yùn)算對(duì)象時(shí),必須進(jìn)行類型轉(zhuǎn)換。這種類型轉(zhuǎn)換的一般如下: (1)低級(jí)類型向高級(jí)類型轉(zhuǎn)換 數(shù)據(jù)類型由低級(jí)向高級(jí)的排列順序是: char int long float double 在數(shù)據(jù)轉(zhuǎn)換中,低級(jí)類型服從高級(jí)類型,并進(jìn)行相應(yīng)轉(zhuǎn)換。在運(yùn)算中可以將所有的char型轉(zhuǎn)換成int型數(shù)據(jù),所有的 float 數(shù)據(jù)可以轉(zhuǎn)換為 double 數(shù)據(jù)。例如,下列語(yǔ)句: int a; a = 15 + a; printf(a的值是:%dn,a); 結(jié)果是112,(2)賦值運(yùn)算的類型轉(zhuǎn)換 在對(duì)賦值表達(dá)式求解過(guò)程中,如果賦值運(yùn)算符兩過(guò)的數(shù)據(jù)類型不一致,賦值時(shí)需要進(jìn)行類型轉(zhuǎn)換。這一轉(zhuǎn)換工作由C編譯系統(tǒng)自動(dòng)完成,轉(zhuǎn)換的原則是以賦值運(yùn)算符“”左邊變量的類型為準(zhǔn),即將“”右邊表達(dá)式的值轉(zhuǎn)換成“”左邊變量的類型一致。,例:自動(dòng)類型轉(zhuǎn)換(賦值運(yùn)算),double x; x = 1;,x = ?,int ai; ai = 2.56;,ai = ?,強(qiáng)制類型轉(zhuǎn)換運(yùn)算符
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- racemic-9-Nor-9β-hydroxy-Hexahydrocannabinol-生命科學(xué)試劑-MCE-7978
- Glyceryl-dilaurate-生命科學(xué)試劑-MCE-3370
- 二零二五年度美發(fā)店租賃合同包含美發(fā)店品牌形象維護(hù)條款
- 2025年度智能化舞臺(tái)搭建安全責(zé)任及技術(shù)服務(wù)合同
- 2025年度銀行貸款反擔(dān)保合同違約責(zé)任合同
- 2025年度父母出資購(gòu)房子女房產(chǎn)增值收益分配協(xié)議書
- 施工日志填寫樣本屋面防水工程
- 職場(chǎng)技能提升與自主創(chuàng)業(yè)的實(shí)踐案例分析
- DB6108T105-2025山楂栽培技術(shù)規(guī)范
- 中外合作辦學(xué)合同協(xié)議
- 2025福建新華發(fā)行(集團(tuán))限責(zé)任公司校園招聘30人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 油氣長(zhǎng)輸管道檢查標(biāo)準(zhǔn)清單
- 山東鐵投集團(tuán)招聘筆試沖刺題2025
- 圖像敘事的跨學(xué)科視野-洞察分析
- 急性缺血性卒中再灌注治療指南2024解讀
- 2024年濰坊護(hù)理職業(yè)學(xué)院高職單招(英語(yǔ)/數(shù)學(xué)/語(yǔ)文)筆試歷年參考題庫(kù)含答案解析
- 西藏自治區(qū)建筑與市政工程竣工驗(yàn)收?qǐng)?bào)告
- ge680ct用戶學(xué)習(xí)aw4.6軟件手冊(cè)autobone xpress指南中文
- 2023年高一年級(jí)必修二語(yǔ)文背誦篇目
- 競(jìng)聘崗位演講評(píng)分表
- 《社會(huì)主義市場(chǎng)經(jīng)濟(jì)理論(第三版)》第一章社會(huì)主義市場(chǎng)經(jīng)濟(jì)基礎(chǔ)論
評(píng)論
0/150
提交評(píng)論