




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
本章學(xué)習(xí)內(nèi)容
算術(shù)運算符
增1和減1運算符
宏常量與
const常量
表達式與賦值中的自動類型轉(zhuǎn)換
強制類型轉(zhuǎn)換運算符
常用的標準數(shù)學(xué)函數(shù)第1頁/共50頁運算符(Operator)詳見附錄C常見的運算符算術(shù)運算符賦值運算符類型強轉(zhuǎn)關(guān)系運算符邏輯運算符增1和減1位運算符第2頁/共50頁3.1C運算符和表達式
(OperatorandExpression)Example:W+Z操作數(shù)(Operand)運算符(Operator)操作數(shù)(Operand)何謂運算符和操作數(shù)?第3頁/共50頁3.1.1算術(shù)運算符和表達式Addition(+)Subtraction(-)Multiplication(*)Division(/)Modulus(%)ArithmeticOperators第4頁/共50頁除法(Division)Example:W/Z浮點數(shù)除法(FloatingDivision)WorZorbotharefloats整數(shù)除法(IntegerDivision)WandZareintegers第5頁/共50頁Example:anintegeraninteger
theresultisalsoaninteger整數(shù)除法(IntegerDivision)11/5=2第6頁/共50頁Example:實數(shù)除法(FloatingDivision)11.0/5=2.2afloatanintegertheresultisafloat第7頁/共50頁求余(Modulus)Itreturnsthe
remainder
thatoccursafterperformingthedivisionof2operandsRule:
操作數(shù)必須是整數(shù)Operandsmustbe
integers注意!第8頁/共50頁Example:11%5=1anintegeranintegertheresultistheremainderof11/51152101remainderresult求余(Modulus)第9頁/共50頁Example:-11%5=-1anintegeraninteger-115-2-10-1remainderresulttheresultistheremainderof-11/5求余(Modulus)第10頁/共50頁Example:11%-5=1anintegeraninteger11-5-2101remainderresulttheresultistheremainderof11/-5求余(Modulus)第11頁/共50頁Example:11.0%5=?afloatanintegerINVALID!
求余(Modulus)注意!第12頁/共50頁當算術(shù)表達式包含兩個或兩個以上的算術(shù)運算符時
首先要確定運算順序所有的運算符都有一個優(yōu)先級(OrderofPrecedence)
算術(shù)表達式
(ArithmeticExpression)第13頁/共50頁
優(yōu)先級(OrderofPrecedence)
High: */%
Low: +-不同優(yōu)先級時的運算順序:——從高到低相同優(yōu)先級時的運算順序:——算術(shù)運算符為左結(jié)合(從左到右)算術(shù)表達式
(ArithmeticExpression)第14頁/共50頁Example:?48.52.5+6–
–44.52.5+6–2*2=算術(shù)表達式
(ArithmeticExpression)4.5第15頁/共50頁巧妙使用圓括號改變運算順序從內(nèi)往外運算Example:(9–(3+2))*3=?算術(shù)表達式
(ArithmeticExpression)第16頁/共50頁Example:
(9–(3+2))*3=??
–5412
(9–(3+2))*3=12算術(shù)表達式
(ArithmeticExpression)第17頁/共50頁賦值語句
(AssignmentStatement)三種賦值形式:Simple——簡單賦值Multiple——多重賦值Shorthand——簡寫的復(fù)合賦值第18頁/共50頁算術(shù)混合運算第19頁/共50頁【例3.1】計算并輸出一個三位整數(shù)的個位、十位和百位數(shù)字之和關(guān)鍵是如何分離個位、十位、百位數(shù)字?153%10
=3153/100=1153-1*100=5353/10=5第20頁/共50頁【例3.1】計算并輸出一個三位整數(shù)的個位、十位和百位數(shù)字之和第21頁/共50頁變量的賦值簡單賦值(SimpleAssignment):
變量=
表達式;多重賦值(MultipleAssignment):變量1=
變量2=
表達式;第22頁/共50頁Syntax:
變量x=變量x
運算符op
表達式;
變量x
運算符op=表達式;
3.1.2復(fù)合的賦值運算符
(CombinedAssignmentOperators)這種形式看起來更直觀,且執(zhí)行效率一般也更高一些第23頁/共50頁Example:num=num+5;num15
15+5
2020Example:num+=5;similarto
num=num+5shorthandassignmentoperator3.1.2復(fù)合的賦值運算符
(CombinedAssignmentOperators)第24頁/共50頁已知inta=3;執(zhí)行a+=a-=a*a后,變量a的值?a+=a-=a*aa+=a-=9a+=-6
a=-123-6-12執(zhí)行a+=a-=a*=a后,變量a的值?a+=a-=a*=aa+=a-=9a+=0
a=03900第25頁/共50頁OperationExamplesofexpressionDescription+=num+=5;num=num+5;-=num-=5;num=num–5;*=num*=5;num=num*5;/=num/=5;num=num/5;%=num%=5;num=num%5;簡寫的復(fù)合賦值(ShorthandAssignment)3.1.2復(fù)合的賦值運算符
(CombinedAssignmentOperators)第26頁/共50頁3.1.3增1和減1運算符
(IncrementandDecrement)
n++,n--,++n,--n++讓參與運算的變量加1,--讓參與運算的變量減1作為后綴(postfix)運算符時,先取n的值,然后加/減1m=n++;m=n;n++;第27頁/共50頁3.1.3增1和減1運算符
(IncrementandDecrement)
n++,n--,++n,--n++讓參與運算的變量加1,--讓參與運算的變量減1作為后綴(postfix)運算符時,先取n的值,然后加/減1作為前綴(prefix)運算符時,先加/減1,然后取n的值m=++n;n++;
m=n;第28頁/共50頁Example:j=++i-2i5similartoi=i+1;j=i–2;j??46前綴(Prefix
)增1和減1運算符第29頁/共50頁Example:j=i++-2i5similartoj=i–2;i=i+1;后綴(Postfix)增1和減1運算符j??36第30頁/共50頁inta=3;printf("%d",-a++);a3similartoprintf("%d",-a);a=a+1;后綴(Postfix)增1和減1運算符4第31頁/共50頁良好的程序設(shè)計風(fēng)格提倡:在一行語句中,一個變量只能出現(xiàn)一次增1或者減1運算過多的增1和減1運算混合,不僅可讀性差,而且因為編譯器實現(xiàn)的方法不同,導(dǎo)致不同編譯器產(chǎn)生不同的運行結(jié)果3.1.3增1和減1運算符
(IncrementandDecrement)
第32頁/共50頁【例3.2】計算圓的周長和面積circumference=33.300854area=88.247263第33頁/共50頁【例3.3】計算圓的周長和面積Inputr:5.3↙circumference=33.300854area=88.247263在程序中直接使用的常數(shù)稱為幻數(shù)(MagicNumber)
第34頁/共50頁使用幻數(shù)存在的問題?假如直接使用常數(shù),會有什么影響?程序的可讀性變差容易發(fā)生書寫錯誤當常數(shù)需要改變時,要修改所有引用它的代碼,工作量大,還可能有遺漏解決方案:避免使用幻數(shù)把幻數(shù)定義為常量(宏常量、const常量……)第35頁/共50頁3.2宏常量與宏替換
#define
標識符字符串宏常量(Macroconstant)也稱符號常量一般采用全大寫字母表示宏定義不是語句,而是一種編譯預(yù)處理命令第36頁/共50頁【例3.4】計算圓的周長和面積宏替換第37頁/共50頁#include<stdio.h>#definePI3.14159;#defineR5.3;main(){
printf("area=%f\n",PI*R*R);
printf("circumference=%f\n",2*PI*R);}相當于執(zhí)行#include<stdio.h>main(){
printf("area=%f\n",3.14159;*5.3;*5.3;);
printf("circumference=%f\n",2*3.14159;*5.3;);}語法錯誤計算圓的周長和面積第38頁/共50頁const常量與宏常量相比的優(yōu)點是什么?const常量有數(shù)據(jù)類型某些集成化調(diào)試工具可以對const常量進行調(diào)試3.3const常量【例3.5】第39頁/共50頁表達式與賦值中的自動類型轉(zhuǎn)換相同類型數(shù)據(jù)的運算結(jié)果,還是該類型不同類型數(shù)據(jù)的運算結(jié)果,是兩種類型中取值范圍大的那種long
double>double>float>long>int>short>chardoublefloatlongunsignedintchar,short低高第40頁/共50頁表達式與賦值中的自動類型轉(zhuǎn)換取值范圍小的類型賦值給取值范圍大的類型是安全的反之是不安全的若大類型的值在小類型能容納的范圍之內(nèi),則平安無事但是浮點數(shù)轉(zhuǎn)為整數(shù),會丟失小數(shù)部分,而非四舍五入反之轉(zhuǎn)換后的結(jié)果必然是錯誤的,具體結(jié)果與機器和實現(xiàn)方式有關(guān)避免如此使用,好的編譯器會發(fā)出警告注意!第41頁/共50頁表達式與賦值中的自動類型轉(zhuǎn)換【例3.6】下面程序演示了賦值中的類型轉(zhuǎn)換第42頁/共50頁Example:
intx=10; floaty; y=(float)x;
(float)10
10.000000x10y??10.0000003.4自動類型轉(zhuǎn)換與強制類型轉(zhuǎn)換運算符強轉(zhuǎn)(Casting)可以消除從大到小的警告
通過下面方式把表達式的值轉(zhuǎn)為任意類型
(類型)表達式不改變x第43頁/共50頁Example:
inttotal,number; floataverage; … average=total/number;
15/2
7total15number2average??7.000000兩個整數(shù)運算的結(jié)果還是整數(shù),不是浮點數(shù)3.4自動類型轉(zhuǎn)換與強制類型轉(zhuǎ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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 鶴壁市一模高三數(shù)學(xué)試卷
- 湖北武漢小升初數(shù)學(xué)試卷
- 淮南高一數(shù)學(xué)試卷
- 云南省石林彝族自治縣民族中學(xué)2025年物理高一下期末學(xué)業(yè)水平測試試題含解析
- 中國硅酸鹽水泥行業(yè)發(fā)展監(jiān)測及投資戰(zhàn)略研究報告
- 氨壓力表閥行業(yè)深度研究分析報告(2024-2030版)
- 2025年中國套鍋行業(yè)發(fā)展?jié)摿Ψ治黾巴顿Y方向研究報告
- 2025年中國電液舵機行業(yè)發(fā)展前景預(yù)測及投資規(guī)劃建議報告
- 2024年金屬基超硬材料項目資金籌措計劃書代可行性研究報告
- 藁城區(qū)早婚管理辦法細則
- GA/T 1127-2013安全防范視頻監(jiān)控攝像機通用技術(shù)要求
- 心臟術(shù)后圍手術(shù)期的液體管理原則及注意點課件
- 內(nèi)膜系統(tǒng)溶酶體過氧化物酶體
- 蜂膠全方位介紹課件
- 警察長棍教案
- 中國礦業(yè)權(quán)評估準則
- 2022最新小學(xué)英語課堂作業(yè)規(guī)范指導(dǎo)準則
- 高標準基本農(nóng)田土地整治項目工程施工費預(yù)算表
- GB∕T 41112-2021 鎂及鎂合金焊絲
- 模切設(shè)備日常點檢表
- DIN76ISO公制螺紋的螺紋尾扣螺紋退刀槽中文資料
評論
0/150
提交評論