




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
運算符計算機實現(xiàn)操作有兩種方式:運算:數(shù)學中所規(guī)定的各種基本運算,由運算符來實現(xiàn)。函數(shù):對于復雜的運算,需要編制子函數(shù)來實現(xiàn)。標準函數(shù)(庫函數(shù));用戶自定義函數(shù);目錄算術運算符和算術表達式賦值運算符和賦值表達式關系運算符和關系表達式邏輯運算符和邏輯表達式不同類型數(shù)據(jù)的混合運算算術運算符和算術表達式計算機中的算術運算對應于現(xiàn)實世界的算術運算算術運算符:++、--自增、自減運算++%求余數(shù)--/÷*×C語言的運算符現(xiàn)實中的算術運算符計算機中的算術運算符:+-*/%加法運算或正號運算符減法運算或負號運算符乘法運算符除法運算符求余運算符,或稱模運算符完成現(xiàn)實世界的算術運算(加、減、乘、除)++、--自增、自減運算符1說明:關于C語言中的除法運算(/)(整除和實數(shù)除法):
在C程序中,兩個整數(shù)相除(整除),會自動舍去小數(shù)部分。
在算術運算中,8÷5=?
在C程序中,8/5——
結果為Why?
如果希望結果為1.6,則應寫成:
如果參加運算的兩個數(shù)中有一個數(shù)為實數(shù),則結果是實數(shù)(實數(shù)除法)。Why?8.0/5;1.6關于求余運算:求余運算的意義為:被除數(shù)除以除數(shù)所得的余數(shù)求余運算要求%兩側都是整型數(shù)據(jù)。A%B—意味著求A除以B的余數(shù)。
8%5的運算結果為:結果?3關于求余運算舉例:給定一個三位數(shù),將三個數(shù)字分離出來。例,328→3,2,8,解答:用m表示一個三位整數(shù);a表示百位;b表示十位;c表示個位。百位=m/100;a=a=3十位=(m/10)%10;b=b=2個位=m%10;c=c=8328/100;(328/10)%10;328%10;算術表達式:算術表達式:用算術運算符和括號將運算量連接起來的式子稱為算術表達式。運算符有優(yōu)先級和結合性:計算表達式的值時,按照優(yōu)先級的高低依次計算;如果運算符優(yōu)先級相同,則按規(guī)定的結合方向進行。算術運算符的結合性從左到右(1)求三個數(shù)的算術平均值代數(shù)表達式:ave=算術表達式:ave=(a+b+c)/3.0(2)根據(jù)三角形三邊計算三角形面積代數(shù)表達式:算術表達式:sqrt(s*(s-a)*(s-b)*(s-c))(3)根據(jù)半徑計算圓的周長代數(shù)表達式:C=2πr算術表達式:C=2*3.14159*r算術表達式算術運算符的優(yōu)先級+、-(加減運算符)最低!*、/、%
第二級!-(負號運算符)
無括號時我最高!(、)(括號)
最優(yōu)先!自增(++)和自減運算(--)
++運算符的作用:是使變量的值增1。
--運算符的作用:是使變量的值減1。原始值原始值+1變量++變量變量原始值原始值-1變量--變量變量自增(++)和自減運算(--)自增和自減運算只能應用于整型變量和指針型變量。例,I++、P--等++和--可以寫在變量的左側或右側;而且其意義不同?!白兞棵?+”和“變量名--”:先取值,后做運算“++變量名”和“--變量名”:先做運算,后取值自增(++)和自減運算(--)舉例N=I++變量N010變量I變量N??變量IN=++I變量N010變量I變量N??變量I11101111練習已知i=5j=i++;j=?i=?
j=++i;j=?i=?5666關于自增和自減運算符的說明:自增和自減運算符只能用于整型變量。自增和自減運算符的結合方向是“自右向左”。例:
-i++等價于-(i++);*i++等價于*(i++);++,--運算符舉例:設x=5,問:下面各表達式的值?y=x++;y=(x++)+(x++);y=(x++)+(++x);y=(++x)+(x++);y=(++x)+(++x);++,--運算符舉例:設x=5,問:下面各表達式的值?y=(x++)+(x++)+(x++);y=(x++)+(++x)+(x++);y=(++x)+(x++)+(x++);y=(++x)+(++x)+(x++);y=(++x)+(++x)+(++x);2.賦值運算符和賦值表達式賦值:在計算機程序中,要完成這樣一種操作→將一個表達式的計算結果送到一個變量當中。賦值運算符:=賦值表達式:變量名=表達式賦值運算符的結合性:自右向左即:
a=b=c相當于a=(b=c)賦值運算符簡單的賦值運算符復合的賦值運算符=+=-=*=%=/=簡單的賦值運算符——=
代表一種操作。執(zhí)行結果:將“
=”右側的表達式的值送入
“
=”
的左側的變量中。例:a=x+y;執(zhí)行過程:計算表達式“x+y”的值;將計算結果送入變量名“a”中結果:x,y值不變;a的值變?yōu)閤+y的值賦值運算符+=執(zhí)行結果:將“=”左側的變量與“=”右側的表達式的值的和送入“=”左側的變量中。例:a+=x+y;執(zhí)行過程:計算表達式“a+(x+y)”的值;將計算結果送入變量名“a”中;結果:x,y值不變;a的值變?yōu)閍+(x+y)的值;賦值運算符-=執(zhí)行結果:將“=”左側的變量與“=”右側的表達式的值的差送入“=”左側的變量中。例:a-=x+y;執(zhí)行過程:計算表達式“a-(x+y)”的值;將計算結果送入變量名“a”中;結果:x,y值不變;a的值變?yōu)閍-(x+y)的值;賦值運算符*=執(zhí)行結果:將“=”左側的變量與“=”右側的表達式的值的積送入“=”左側的變量中。例:a*=x+y;執(zhí)行過程:計算表達式“a*(x+y)”的值;將計算結果送入變量名“a”中;結果:x,y值不變;a的值變?yōu)閍*(x+y)的值;賦值運算符/=執(zhí)行結果:將“=”左側的變量與“=”右側的表達式的值的商送入“=”左側的變量中。例:a/=x+y;執(zhí)行過程:計算表達式“a/(x+y)”的值;將計算結果送入變量名“a”中;結果:x,y值不變;a的值變?yōu)閍/(x+y)的值;賦值運算符%=執(zhí)行結果:將“=”左側的變量除以“=”右側的表達式的值的余數(shù)送入“=”左側的變量中。例:a%=x+y;執(zhí)行過程:計算表達式“a%(x+y)”的值;將計算結果送入變量名“a”中;結果:x,y值不變;a的值變?yōu)閍%(x+y)的值;簡單的賦值舉例:就是把一個表達式的值賦給一個變量。如下圖示:10變量ii=5;?變量i10變量ii=3+6;?變量i59賦值表達式由賦值運算符將一個變量和一個表達式連接起來的式子稱為賦值表達式。格式:
〈變量〉〈賦值運算符〉〈表達式〉對賦值表達式求解的過程:將賦值運算符右側的表達式的值賦給左側的變量。賦值運算符的結合性:結合性:從右向左例:a=b=c=8
等價于a=(b=(c=8))即:第一步:c=8第二步:b=8第三步:a=8
不同類型數(shù)據(jù)的混合運算C語言允許數(shù)據(jù)值從一種類型轉換成另一種類型在進行運算時,不同類型的數(shù)據(jù)要先轉換成同一類型,然后進行運算。轉換的規(guī)則按圖所示。int←char,short高低doublelongunsignedfloat強制類型轉換強制類型轉換運算符,將一個類型的變量值強制轉換為另一種類型。
一般格式為:
(類型標識符)表達式
例:
k=(int)((int)x+(float)i)(float)(x=85)對一個變量進行強制轉換后,得到一個新的類型的數(shù)據(jù),但原來變量的類型不變。例:若x原為實型變量且值為2.6,在執(zhí)行
i=(int)x
后得到一個整數(shù)2,并把它賦給整型變量i,但x仍為實型,值為2.6。寫出下面算術表達式的值:x+a%3*(int)(x+y)%2/4,設x=2.5,a=10,y=4.7。x=2.5;a=10;y=4.7;a%3→10%3→1
(int)(x+y)
→(int)7.2→7
[a%3]*[(int)(x+y)]
→1*7→7{[a%3]*[(int)(x+y)]}%2
→7%2→1{{[a%3]*[(int)(x+y)]}%2}/4
→1/4→0x+{{[a%3]*[(int)(x+y)]}%2}/4
→2.5+0
最后結果:2.5練習:計算下列表達式的值(float)(a+b)/2+(int)x%(int)y設a=2,b=3,x=3.5,y=2.5二、關系運算符和關系表達式關系表達式:用關系運算符將兩個表達式(可以是算術表達式、關系表達式、賦值表達式或邏輯表達式)連接起來的式子,稱為關系表達式。關系運算符<、<=、>、>===、!=高低優(yōu)先級
關系表達式的值為邏輯值“真”或“假”;
以1代表“真”,以0代表“假”。例如:關系表達式“8==4”的值為“假”;
表達式的值為:關系表達式“5>0”的值為“真”;
表達式的值為:結合性:從左向右01三、邏輯運算符和邏輯表達式邏輯表達式:是由邏輯運算符和運算量所構成的式子,其中運算量主要有關系表達式和邏輯量兩種,也可以是C中任意合法表達式。邏輯運算符:||(邏輯或)&&(邏輯與)!(邏輯非)高低優(yōu)先級邏輯運算的真值表ab!a!ba&&ba||b真真假假真真真假假真假真假真真假假真假假真真假假注意:1、C語言編譯系統(tǒng):
以數(shù)值1代表“真”,以0代表“假”;2、若邏輯運算符左右連接的不是邏輯量或關系表達式時,C語言編譯系統(tǒng)以其值非0代表“真”,以0代表“假”。例如:
若x=10,則!x的值為_______。
若a=3,b=2,則a&&b的值為____。
5&&0||8的值為___________。011
邏輯運算符的特點在邏輯表達式的求解中并不是所有的運算符都被執(zhí)行,只是在必須執(zhí)行下一個邏輯運算符才能求出表達式的解時,才執(zhí)行下一個運算符。例如:
1、a&&b&&c:只有a的值為邏輯真時,才計算b的值;也只有a與b的值都為邏輯真時,才計算c的值;
2、a||b||c:只有a的值為邏輯假時,才計算b的值;也只有a與b的值都為邏輯假時,才計算c的值;
舉例:1、初始狀態(tài)a=1;b=2;c=3;執(zhí)行
a++&&++b&&c--之后,a、b、c的值分別是多少?2、初始狀態(tài)a=1;b=2;c=3;執(zhí)行
--a&&++b&&c--之后,a、b、c的值分別是多少?3、初始狀態(tài)a=0;b=2;c=3;執(zhí)行
a++&&++b&&c--之后,a、b、c的值分別是多少?
舉例:1、初始狀態(tài)a=1;b=2;c=3;執(zhí)行
a++||++b||c--之后,a、b、c的值分別是多少?2、初始狀態(tài)a=0;b=2;c=3;執(zhí)行
a++&&++b&&c--之后,a、b、c的值分別是多少?3、初始狀態(tài)a=1;b=2;c=3;執(zhí)行
++a||++b||c--之后,a、b、c的值分別是多少?條件運算符和條件表達式條件運算符:?:條件表達式的形式為:
表達式1?表達式2:表達式3條件表達式的執(zhí)行過程:先計算表達式1,若其值為非零,則結果為表達式2的值,否則就是表達式3的值。例:表達式
y=a>b?a:b的執(zhí)行結果是什么?逗號運算符:逗號表達式的形式為:
表達式1,表達式2,表達式3逗號表達式的執(zhí)行過程:先計算表達式1,然后計算表達式2,表達式3;整個表達式的結果為:最后一個表達式的值。例:y=(a=22,a+12,a+30);表達式的值為:,52?。ǚ牵┧阈g運算符關系運算符&&||賦值運算符,
各種運算符優(yōu)先級:例如:x<y&&m<n
等效于(x<y)&&(m<n)a==b||c==d
等效于(a==b)||(c==d)!a&&b>c
等效于(!a)&&(b>c)高低要求:深刻理解在計算機中各類型數(shù)據(jù)在內(nèi)存中的存儲形式、取值范圍和能夠?qū)λM行的操作;深刻理解各基本類型作了short、long、unsigned擴展之后與原類型之間的區(qū)別;深刻理解各種整型常量的形式,字符常量、轉義字符和符號常量的意義和作用。熟練掌握每一種變量的定義格式;深刻理解每一個算術運算符的功能、使用格式、計算結果,尤其是/、%、++、--;深刻理解賦值運算符(=)的意義、注意與數(shù)學中的等號相區(qū)別;復合賦值運算符的執(zhí)行過程和執(zhí)行結果。練習一、選擇題:以下敘述中正確的是:
(a)C程序由主函數(shù)組成
(b)C程序由函數(shù)組成
(c)C程序由函數(shù)和過程組成
(d)C程序由子函數(shù)組成√一、選擇題:以下符號中不能用作用戶標識符的是:
(a)_256、(b)void(c)scanf、(d)Struct√解答:c語言中的標識符分為三類:關鍵字、預定義標識符和用戶標識符;規(guī)定:關鍵字不允許用作標識符一、選擇題:以下不能正確表示算式———
的是:
(a)(a*b)/c*d(b)a*b/(c*d)(c)a/c*b/d(d)a*b/c/d√解答:c語言中表達式的計算是按算符的優(yōu)先級來進行的。abcd一、選擇題:以下的變量定義中合法的是:
(a)float3_four=3.4;(b)int_abc_=22;(c)doublea=1+4e2.0;(d)shortdo=15;√一、選擇題:C語言中運算對象必須是整型的運算符是:
(a)%=(b)/(c)=(d)**√一、選擇題:若有intk=11;則表達式(k++*1/3)的值是:
(a)12(b)3(c)5(d)4√二、
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度交通事故損害賠償及保險理賠諒解協(xié)議
- 2025年中國錐體蠟燭機行業(yè)市場發(fā)展前景及發(fā)展趨勢與投資戰(zhàn)略研究報告
- 2025年度醫(yī)院食堂營養(yǎng)膳食承包管理協(xié)議
- 2025年度網(wǎng)絡安全法律法規(guī)咨詢與合作協(xié)議
- 2025年度員工出差補貼及報銷協(xié)議
- 2025年度貸款房屋買賣合同電子版糾紛解決機制
- fsc外包合同范本
- 知識產(chǎn)權保護與商業(yè)秘密管理流程整合
- 2025年度物聯(lián)網(wǎng)應用合伙協(xié)議解除合同
- 2025年中國核電閥門行業(yè)市場全景分析及投資規(guī)劃建議報告
- 航空航天標準與認證互認
- 心理課教案自我認知與情緒管理
- 幼兒園 中班心理健康《我會傾訴》
- GB/T 6553-2024嚴酷環(huán)境條件下使用的電氣絕緣材料評定耐電痕化和蝕損的試驗方法
- 中職旅游專業(yè)《中國旅游地理》說課稿
- 微積分試卷及規(guī)范標準答案6套
- 【鄉(xiāng)村振興背景下農(nóng)村基層治理問題探究開題報告(含提綱)3000字】
- 藥物警戒管理體系記錄與數(shù)據(jù)管理規(guī)程
- 2024-2029年擴展塢行業(yè)市場現(xiàn)狀供需分析及市場深度研究發(fā)展前景及規(guī)劃投資研究報告
- SH/T 3003-2024 石油化工合理利用能源設計導則(正式版)
- 中國人民大學613衛(wèi)生統(tǒng)計歷年真題12-16
評論
0/150
提交評論