![C語(yǔ)言程序設(shè)計(jì)課件:運(yùn)算符與表達(dá)式_第1頁(yè)](http://file4.renrendoc.com/view12/M09/09/2F/wKhkGWcyLcqAJkPtAACLWq_L62I807.jpg)
![C語(yǔ)言程序設(shè)計(jì)課件:運(yùn)算符與表達(dá)式_第2頁(yè)](http://file4.renrendoc.com/view12/M09/09/2F/wKhkGWcyLcqAJkPtAACLWq_L62I8072.jpg)
![C語(yǔ)言程序設(shè)計(jì)課件:運(yùn)算符與表達(dá)式_第3頁(yè)](http://file4.renrendoc.com/view12/M09/09/2F/wKhkGWcyLcqAJkPtAACLWq_L62I8073.jpg)
![C語(yǔ)言程序設(shè)計(jì)課件:運(yùn)算符與表達(dá)式_第4頁(yè)](http://file4.renrendoc.com/view12/M09/09/2F/wKhkGWcyLcqAJkPtAACLWq_L62I8074.jpg)
![C語(yǔ)言程序設(shè)計(jì)課件:運(yùn)算符與表達(dá)式_第5頁(yè)](http://file4.renrendoc.com/view12/M09/09/2F/wKhkGWcyLcqAJkPtAACLWq_L62I8075.jpg)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
C語(yǔ)言程序設(shè)計(jì)
運(yùn)算符與表達(dá)式3.1運(yùn)算符和表達(dá)式概述 3.2算術(shù)運(yùn)算符和算術(shù)表達(dá)式 3.3賦值運(yùn)算符和賦值表達(dá)式3.4關(guān)系運(yùn)算和邏輯運(yùn)算 3.5位運(yùn)算符 3.6條件運(yùn)算符和條件表達(dá)式 3.7其他運(yùn)算符 3.8表達(dá)式的求值規(guī)則
3.1運(yùn)算符和表達(dá)式概述1.運(yùn)算符,C語(yǔ)言的運(yùn)算符有以下幾類。算術(shù)運(yùn)算符。加(+)、減(-)、乘(*)、除(/)、求余(%)五種。關(guān)系運(yùn)算符。>、<、==、>=、<=和不等于(!=)六種。邏輯運(yùn)算符。包括與(&&)、或(||)、非(!)三種。賦值運(yùn)算符。簡(jiǎn)單賦值(=)、復(fù)合賦值(+=、-=、*=、/=、%=)六種。
條件運(yùn)算符,用于條件求值(?:),這是一個(gè)三目運(yùn)算符。逗號(hào)運(yùn)算符,用于把若干表達(dá)式組合成一個(gè)表達(dá)式(,,,)。指針運(yùn)算符,用于取內(nèi)容(*)和取地址(&)二種運(yùn)算。求字節(jié)數(shù)運(yùn)算符(sizeof)強(qiáng)制類型轉(zhuǎn)換運(yùn)算符(類型)分量運(yùn)算符(.→)下標(biāo)運(yùn)算符([])2.表達(dá)式用運(yùn)算符和括號(hào)將運(yùn)算對(duì)象(常量、變量和函數(shù))連接起來(lái)的、符合C語(yǔ)言語(yǔ)法規(guī)則的式子,稱為表達(dá)式。賦值表達(dá)式,如:a=1算術(shù)表達(dá)式,如:1*2+3/4.5關(guān)系表達(dá)式,如:5>9邏輯表達(dá)式,如:8>4&&a<b條件表達(dá)式,如:a>b?a:b逗號(hào)表達(dá)式,如:a=1,b=2,c=33.運(yùn)算符的優(yōu)先級(jí)與結(jié)合性運(yùn)算符的優(yōu)先級(jí)別就是運(yùn)算對(duì)象(或稱操作數(shù))兩側(cè)運(yùn)算符執(zhí)行的先后順序。C語(yǔ)言運(yùn)算符的結(jié)合方向,就是指當(dāng)一個(gè)運(yùn)算對(duì)象兩側(cè)的運(yùn)算符具有相同的優(yōu)先級(jí)別時(shí),該運(yùn)算對(duì)象是先與左邊的運(yùn)算符結(jié)合,還是先與右邊的運(yùn)算符結(jié)合。自左至右的結(jié)合方向,稱為左結(jié)合性。反之,稱為右結(jié)合性。3.2算術(shù)運(yùn)算符和算術(shù)表達(dá)式例3-3取余運(yùn)算。#include<stdio.h>voidmain(){printf("%d\n",100%6);}雙目運(yùn)算,具有左結(jié)合性。求余運(yùn)算符%要求參與運(yùn)算的量均為整型。例3-3輸出100除以6所得的余數(shù)4。2.算數(shù)運(yùn)算符的優(yōu)先級(jí)與結(jié)合性在表達(dá)式求值時(shí),先按運(yùn)算符的優(yōu)先級(jí)別高低次序執(zhí)行,例如,先乘除取余后加減。如表達(dá)式a-b*c,b的左側(cè)為減號(hào),因此相當(dāng)于a-(b*c)。如果在一個(gè)運(yùn)算符對(duì)象兩側(cè)的運(yùn)算符的優(yōu)先級(jí)別相同,如a-b+c則按規(guī)定的”結(jié)合方向”處理.算術(shù)運(yùn)算符的結(jié)合方向是“自左至石”,是左結(jié)合性。如在執(zhí)行“a-b+c”時(shí),減號(hào)和加號(hào)運(yùn)算的優(yōu)先級(jí)別相同,變量b先與左邊的減號(hào)結(jié)合,執(zhí)行“a-b”;然用再執(zhí)行右側(cè)加c的運(yùn)算。3.數(shù)據(jù)類型轉(zhuǎn)換整型、實(shí)型和字符型數(shù)據(jù)間可以混合運(yùn)算。一個(gè)運(yùn)算符兩側(cè)的操作數(shù)的數(shù)據(jù)類型不同,則系統(tǒng)按“先轉(zhuǎn)換、后運(yùn)算”的原則,先將數(shù)據(jù)自動(dòng)轉(zhuǎn)換成同一類型,然后進(jìn)行運(yùn)算。因此,整型、字符型、實(shí)型數(shù)據(jù)可以出現(xiàn)在一個(gè)表達(dá)式中進(jìn)行混合運(yùn)算。如:已定義i為int變量,f為float型變量,d為double型變量,l為long型變量,有下面式子:100+’A’+i*f-d*l在進(jìn)行運(yùn)算時(shí),不同類型的數(shù)據(jù)要先轉(zhuǎn)換成同一類型,然后進(jìn)行運(yùn)算,轉(zhuǎn)換的規(guī)則如圖3-1所示。(1)隱式轉(zhuǎn)換①整型提升,整型、浮點(diǎn)型可以混合運(yùn)算。整型自動(dòng)轉(zhuǎn)換遵循以下規(guī)則:若參與運(yùn)算的量類型不同,則先轉(zhuǎn)換成同一類型,然后進(jìn)行運(yùn)算;②算數(shù)轉(zhuǎn)換,所有的浮點(diǎn)運(yùn)算都是以雙精度進(jìn)行的,即使僅含float單精度量運(yùn)算的表達(dá)式,也要先轉(zhuǎn)換成double型,橫向自動(dòng)轉(zhuǎn)換后再作運(yùn)算。(2)強(qiáng)制類型轉(zhuǎn)換其一般形式為:(類型說(shuō)明符)(表達(dá)式)其功能是把表達(dá)式的運(yùn)算結(jié)果強(qiáng)制轉(zhuǎn)換成類型說(shuō)明符所表示的類型。例如:(float)a把a(bǔ)轉(zhuǎn)換為實(shí)型、(int)(x+y)把x+y的結(jié)果轉(zhuǎn)換為整型。3.數(shù)據(jù)類型轉(zhuǎn)換例3-4數(shù)據(jù)類型強(qiáng)制轉(zhuǎn)換。#include<stdio.h>voidmain(){floatx;inti;x=3.6;i=(int)x;printf(“x=%f,i=%d”,x,i);}結(jié)果:x=3.600000,i=34.自增和自減運(yùn)算兩個(gè)特殊的算術(shù)運(yùn)算符,即自增、自減運(yùn)算符(++和--)。
整型變量i,可有以下幾種形式:++i的功能是i自增1后再參與其它運(yùn)算。--i的功能是i自減1后再參與其它運(yùn)算。i++i參與運(yùn)算后,i的值再自增1。i--i參與運(yùn)算后,i的值再自減1。
自加自減運(yùn)算符的結(jié)合性是自右向左的。
例3-5自加、自減運(yùn)算符。#include<stdio.h>voidmain(){inti=5,j=5,p,q;p=(i++)+(i++)+(i++);q=(++j)+(++j)+(++j);printf("%d,%d,%d,%d",p,q,i,j);}3.3賦值運(yùn)算符和賦值表達(dá)式
賦值運(yùn)算符有“=”、“+=”、“-=”、“*=”、“/=”和“%=”等。
用賦值運(yùn)算符將運(yùn)算對(duì)象連接而成的表達(dá)式稱為賦值表達(dá)式。1.簡(jiǎn)單賦值運(yùn)算符將“=”右邊表達(dá)式的值賦給左邊的變量。例如:a=8;s=a*2+b;先計(jì)算出右邊表達(dá)式的值,再賦給左邊的變量。如果“=”左右兩邊類型不同,系統(tǒng)會(huì)按照賦值類型轉(zhuǎn)換的原則將右邊的類型轉(zhuǎn)換成左邊的類型。運(yùn)算符應(yīng)用舉例等價(jià)形式+=a+=xa=a+(x)-=a-=xa=a-(x)*=a*=xa=a*(x)/=a/=xa=a/(x)%=a%=xa=a%(x)2.復(fù)合賦值運(yùn)算符在簡(jiǎn)單賦值運(yùn)算符前面加上算術(shù)運(yùn)算符就構(gòu)成復(fù)合算術(shù)賦值運(yùn)算符,如下表所示:3.賦值表達(dá)式
由賦值運(yùn)算符將一個(gè)變量和一個(gè)表達(dá)式連接起來(lái)的式子所組成。一般形式為:
變量=表達(dá)式賦值表達(dá)式:v=4.0*PI*r*r*r/3.0a=15+(i=6)b=(x=3)+(y=4)
賦值表達(dá)式的執(zhí)行過(guò)程是:
(1)計(jì)算賦值運(yùn)算符右側(cè)表達(dá)式的值;
(2)將所計(jì)算出的值賦給賦值運(yùn)算符左側(cè)的變量。3.4關(guān)系運(yùn)算和邏輯運(yùn)算
例3-6運(yùn)算符綜合應(yīng)用。運(yùn)行輸出:a=1,b=10,c=10a==(…):0a=1,b=20,c=11a=0,b=22,c=12#include<stdio.h>voidmain(){inta,b,c;a=b=c=10;a=b==c;printf(″a=%d,b=%d,c=%d\n″,a,b,c);printf(″a==(…):%d\n″,a==(b=c++*2));printf(″a=%d,b=%d,c=%d\n″,a,b,c);a=b++>=++b>c++;printf(″a=%d,b=%d,c=%d\n″,a,b,c);}2.邏輯運(yùn)算符
邏輯非“!”、邏輯與“&&”、邏輯或“||”。優(yōu)先級(jí)別是:?。ǚ牵?&(與)→||(或)例3-7邏輯運(yùn)算符。#include<stdio.h>voidmain(){inti=7,m,n;m=!!i;n=(3<i<6);printf(″i=%d,m=%d,n=%d\n″,i,m,n);}運(yùn)行:i=7,m=1,n=13.5位運(yùn)算符 3.5位運(yùn)算符 3.6條件運(yùn)算符和條件表達(dá)式 1.條件運(yùn)算符條件運(yùn)算符由兩個(gè)符號(hào)“?”和“:”組成,用于條件求值。條件運(yùn)算符的優(yōu)先級(jí)低于邏輯運(yùn)算符、高于賦值運(yùn)算符,它是右結(jié)合的。2.條件表達(dá)式其一般形式為:表達(dá)式1?表達(dá)式2:表達(dá)式3條件表達(dá)式的執(zhí)行順序:
若表達(dá)式1的值為“真”,則條件表達(dá)式的值為表達(dá)式2,否則,條件表達(dá)式的值為表達(dá)式3例3-8運(yùn)算符應(yīng)用。#include<stdio.h>voidmain(){inta,b,c;a=b=c=1;a+=b;b+=c;c+=a;printf(″(1)%d\n″,a++>b?a:b);printf(″(2)%d\n″,a>b?c>a++:b-->a?c++:c--);(a>=b>=c)?printf(″AA\n″):printf(″BB\n″);printf(″a=%d,b=%d,c=%d\n″,a,b,c);}運(yùn)行:(1)2(2)0BBa=4,b=2,c=33.7其他運(yùn)算符 1.逗號(hào)運(yùn)算符
其一般形式為:表達(dá)式1,表達(dá)式2,…表達(dá)式n其求值過(guò)程是分別求兩個(gè)表達(dá)式的值,并以表達(dá)式n的值作為整個(gè)逗號(hào)表達(dá)式的值?!?”運(yùn)算符用于將多個(gè)表達(dá)式串在一起,“,”運(yùn)算符的左邊值總不返回,最右邊表達(dá)式的值才是整個(gè)表達(dá)式的值。2.sizeof運(yùn)算符sizeof運(yùn)算符是一個(gè)單目運(yùn)算符,它返回變量或類型的字節(jié)長(zhǎng)度。不同系統(tǒng)定義不同的字節(jié)長(zhǎng)度,所以不同系統(tǒng)會(huì)得到不同結(jié)果。例如:sizeof(d
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- LY/T 3412-2024細(xì)表面人造板
- 統(tǒng)編版八年級(jí)歷史上冊(cè)《第6課 戊戌變法》聽課評(píng)課記錄
- 湘教版數(shù)學(xué)九年級(jí)上冊(cè)4.4《解直角三角形的應(yīng)用》聽評(píng)課記錄2
- 瓦匠施工安全責(zé)任協(xié)議書(2篇)
- 生活技能培訓(xùn)服務(wù)合同(2篇)
- 粵人版地理七年級(jí)上冊(cè)《第三節(jié) 世界的主要?dú)夂蝾愋汀仿犝n評(píng)課記錄1
- 北京課改版歷史七年級(jí)下冊(cè)第9課《經(jīng)濟(jì)重心的南移》聽課評(píng)課記錄
- 五年級(jí)下冊(cè)數(shù)學(xué)聽評(píng)課記錄《 -2、5倍數(shù) 》人教版
- 人教版數(shù)學(xué)七年級(jí)上冊(cè)4.4《課題學(xué)習(xí) 設(shè)計(jì)制作長(zhǎng)方體形狀的包裝紙盒》聽評(píng)課記錄2
- 人教版七年級(jí)數(shù)學(xué)下冊(cè) 聽評(píng)課記錄 9.2 第1課時(shí)《一元一次不等式》
- 一年級(jí)二年級(jí)奧數(shù)暑期培優(yōu)題庫(kù)
- 室內(nèi)裝飾拆除專項(xiàng)施工方案
- 老年癡呆癥患者生活陪護(hù)協(xié)議
- 2024年-急診氣道管理共識(shí)課件
- 鋼筋工程精細(xì)化管理指南(中建內(nèi)部)
- 小學(xué)語(yǔ)文中段整本書閱讀的指導(dǎo)策略研究 中期報(bào)告
- 2024年山西省高考考前適應(yīng)性測(cè)試 (一模)英語(yǔ)試卷(含答案詳解)
- 浙教版2023-2024學(xué)年數(shù)學(xué)八年級(jí)上冊(cè)期末復(fù)習(xí)卷(含答案)
- 2024年中國(guó)鐵路投資集團(tuán)有限公司招聘筆試參考題庫(kù)含答案解析
- 運(yùn)動(dòng)訓(xùn)練與康復(fù)治療培訓(xùn)資料
- 經(jīng)營(yíng)開發(fā)部工作目標(biāo)責(zé)任書
評(píng)論
0/150
提交評(píng)論