《C語言程序設(shè)計:第3章 最簡單的C程序設(shè)計.ppt》由會員分享,可在線閱讀,更多相關(guān)《C語言程序設(shè)計:第3章 最簡單的C程序設(shè)計.ppt(94頁珍藏版)》請在匯文網(wǎng)上搜索。
1、第第3章章 最簡單的最簡單的C程序設(shè)計程序設(shè)計3.1 順序程序設(shè)計舉例順序程序設(shè)計舉例3.2 數(shù)據(jù)的表現(xiàn)形式及其運(yùn)算數(shù)據(jù)的表現(xiàn)形式及其運(yùn)算3.3 C語句語句3.4 數(shù)據(jù)的輸入輸出數(shù)據(jù)的輸入輸出3.13.1順序程序設(shè)計舉例順序程序設(shè)計舉例順序程序設(shè)計舉例順序程序設(shè)計舉例 例例3.1 有人用溫度計測量出用華氏法表有人用溫度計測量出用華氏法表示的溫度示的溫度(如如 F,今要求把它轉(zhuǎn)換為以,今要求把它轉(zhuǎn)換為以攝氏法表示的溫度攝氏法表示的溫度(如如 C)。解題思路:找到二者間的轉(zhuǎn)換公式解題思路:找到二者間的轉(zhuǎn)換公式f代表華氏溫度代表華氏溫度,c代表攝氏溫度代表攝氏溫度3.13.1順序程序設(shè)計舉例順序程序
2、設(shè)計舉例順序程序設(shè)計舉例順序程序設(shè)計舉例算法:算法:輸入輸入f的值的值輸出輸出c的值的值 例例3.1 有人用溫度計測量出用華氏法表有人用溫度計測量出用華氏法表示的溫度示的溫度(如如 F,今要求把它轉(zhuǎn)換為以,今要求把它轉(zhuǎn)換為以攝氏法表示的溫度攝氏法表示的溫度(如如 C)。N-S圖圖3.13.1順序程序設(shè)計舉例順序程序設(shè)計舉例順序程序設(shè)計舉例順序程序設(shè)計舉例#include int main()float f,c;f=64.0;c=(5.0/9)*(f-32);printf(f=%fnc=%fn,f,c);return 0;定義定義f和和c為單精度浮點(diǎn)型變量為單精度浮點(diǎn)型變量指定指定f的值的值計算
3、計算c的值的值輸出輸出f和和c的的值值3.13.1順序程序設(shè)計舉例順序程序設(shè)計舉例順序程序設(shè)計舉例順序程序設(shè)計舉例 例例3.2 計算存款利息。有計算存款利息。有1000元,想元,想存一年。有三種方法可選:存一年。有三種方法可選:(1)活期,年利率為活期,年利率為r1 (2)一年期定期,年利率為一年期定期,年利率為r2 (3)存兩次半年定期,年利率為存兩次半年定期,年利率為r3 請分別計算出一年后按三種方法所得到請分別計算出一年后按三種方法所得到的本息和。的本息和。3.13.1順序程序設(shè)計舉例順序程序設(shè)計舉例順序程序設(shè)計舉例順序程序設(shè)計舉例解題思路:確定計算本息和的公式。解題思路:確定計算本息和
4、的公式。從數(shù)學(xué)知識可知:若存款額為從數(shù)學(xué)知識可知:若存款額為p0,則:,則:活期存款一年后本息和為:活期存款一年后本息和為:p1=p0(1+r1)一年期定期存款,一年后本息和為:一年期定期存款,一年后本息和為:p2=p0(1+r2)兩次半年定期存款,一年后本息和為:兩次半年定期存款,一年后本息和為:3.13.1順序程序設(shè)計舉例順序程序設(shè)計舉例順序程序設(shè)計舉例順序程序設(shè)計舉例算法算法:輸入輸入p0,r1,r2,r3的值的值計算計算p1=p0(1+r1)計算計算p2=p0(1+r2)計算計算p3=p0(1+)(1+)輸出輸出p1,p2,p33.13.1順序程序設(shè)計舉例順序程序設(shè)計舉例順序程序設(shè)計舉
5、例順序程序設(shè)計舉例#include int main()float p0=1000,r1=0.0036,r2=0.0225,r3=0.0198,p1,p2,p3;p1=p0*(1+r1);p2=p0*(1+r2);p3=p0*(1+r3/2)*(1+r3/2);printf(”%fn%fn%fn”,p1,p2,p3);return 0;定義變量定義變量同時同時賦予初值賦予初值3.2 3.2 數(shù)據(jù)的表現(xiàn)形式及其運(yùn)算數(shù)據(jù)的表現(xiàn)形式及其運(yùn)算數(shù)據(jù)的表現(xiàn)形式及其運(yùn)算數(shù)據(jù)的表現(xiàn)形式及其運(yùn)算3.2.1 常量和變量常量和變量3.2.2 數(shù)據(jù)類型數(shù)據(jù)類型3.2.3 整型數(shù)據(jù)整型數(shù)據(jù)3.2.4 字符型數(shù)據(jù)字符型數(shù)
6、據(jù)3.2.5 浮點(diǎn)型數(shù)據(jù)浮點(diǎn)型數(shù)據(jù)3.2.6 怎樣確定常量的類型怎樣確定常量的類型3.2.7 運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式3.2.1 3.2.1 常量和變量常量和變量常量和變量常量和變量1.常量常量:在程序運(yùn)行過程中,其值在程序運(yùn)行過程中,其值不能被改變的量不能被改變的量整型常量整型常量:如如1000,12345,0,-345實(shí)型常量實(shí)型常量u十進(jìn)制小數(shù)形式十進(jìn)制小數(shù)形式:如如0.34 -56.79 0.0u指數(shù)形式指數(shù)形式:如如12.34e3(代表代表12.34 103)字符常量字符常量:如:如?u轉(zhuǎn)義字符轉(zhuǎn)義字符:如:如n字符串常量字符串常量:如如”boy”符號常量符號常量:#define
7、 PI 3.14163.2.1 3.2.1 常量和變量常量和變量常量和變量常量和變量2.變量變量:在程序運(yùn)行期間,變量的值是可以改變的在程序運(yùn)行期間,變量的值是可以改變的變量必須變量必須先定義先定義,后使用后使用定義定義變量變量時指定該變量的時指定該變量的名字名字和和類型類型變量名變量名和和變量值變量值是是兩個不同的概念兩個不同的概念變量名實(shí)際上是以一個名字代表的一個變量名實(shí)際上是以一個名字代表的一個存儲地址存儲地址從變量中取值,實(shí)際上是通過變量名找到相應(yīng)的從變量中取值,實(shí)際上是通過變量名找到相應(yīng)的內(nèi)存地址,從該存儲單元中讀取數(shù)據(jù)內(nèi)存地址,從該存儲單元中讀取數(shù)據(jù)3.2.1 3.2.1 常量和變
8、量常量和變量常量和變量常量和變量3.常變量常變量:const int a=3;4.標(biāo)識符標(biāo)識符:一個對象的名字一個對象的名字語言規(guī)定標(biāo)識符只能由語言規(guī)定標(biāo)識符只能由字母字母、數(shù)字?jǐn)?shù)字和和下劃線下劃線3種字符組成,且種字符組成,且第一個字符必須為字母或下劃線第一個字符必須為字母或下劃線合法的標(biāo)識符:合法的標(biāo)識符:如如sum,average,_total,Class,day,BASIC,li_ling不合法的標(biāo)識符不合法的標(biāo)識符:M.D.John,¥,¥123,33,3D64,ab大小寫字母是不同的字符大小寫字母是不同的字符3.2.2 3.2.2 數(shù)據(jù)類型數(shù)據(jù)類型數(shù)據(jù)類型數(shù)據(jù)類型所謂所謂類型類型,
9、就是對數(shù)據(jù)分配存儲單元的安,就是對數(shù)據(jù)分配存儲單元的安排,包括存儲單元的長度排,包括存儲單元的長度(占多少字節(jié)占多少字節(jié))以以及數(shù)據(jù)的存儲形式及數(shù)據(jù)的存儲形式不同的類型分配不同的長度和存儲形式不同的類型分配不同的長度和存儲形式3.2.2 3.2.2 數(shù)據(jù)類型數(shù)據(jù)類型數(shù)據(jù)類型數(shù)據(jù)類型C語言允許使用的數(shù)據(jù)類型語言允許使用的數(shù)據(jù)類型:基本類型基本類型u整型類型整型類型l基本整型基本整型l短整型短整型l長整型長整型l雙長整型雙長整型l字符型字符型l布爾型布爾型u浮點(diǎn)類型浮點(diǎn)類型l單精度浮點(diǎn)型單精度浮點(diǎn)型l雙精度浮點(diǎn)型雙精度浮點(diǎn)型l復(fù)數(shù)浮點(diǎn)型復(fù)數(shù)浮點(diǎn)型3.2.2 3.2.2 數(shù)據(jù)類型數(shù)據(jù)類型數(shù)據(jù)類型數(shù)據(jù)
10、類型C語言允許使用的數(shù)據(jù)類型語言允許使用的數(shù)據(jù)類型:基本類型基本類型枚舉類型枚舉類型空類型空類型派生類型派生類型u指針類型指針類型u數(shù)組類型數(shù)組類型u結(jié)構(gòu)體類型結(jié)構(gòu)體類型u共用體類型共用體類型u函數(shù)類型函數(shù)類型算術(shù)類型算術(shù)類型純量類型純量類型3.2.3 3.2.3 整型數(shù)據(jù)整型數(shù)據(jù)整型數(shù)據(jù)整型數(shù)據(jù)1.整型數(shù)據(jù)的分類整型數(shù)據(jù)的分類最基本的整型類型最基本的整型類型u基本整型基本整型(int型型):占:占2個或個或4個字節(jié)個字節(jié)u短整型短整型(short int):VC+6.0中占中占2個字節(jié)個字節(jié)u長整型長整型(long int):VC+6.0中占中占4個字節(jié)個字節(jié)u雙長整型雙長整型(long l
11、ong int):C99新增的新增的3.2.3 3.2.3 整型數(shù)據(jù)整型數(shù)據(jù)整型數(shù)據(jù)整型數(shù)據(jù)1.整型數(shù)據(jù)的分類整型數(shù)據(jù)的分類2.整型變量的符號屬性整型變量的符號屬性u整型變量的值的范圍包括負(fù)數(shù)到正數(shù)整型變量的值的范圍包括負(fù)數(shù)到正數(shù)u可以將變量定義為可以將變量定義為“無符號無符號”類型類型u擴(kuò)充的整形類型:擴(kuò)充的整形類型:3.2.3 3.2.3 整型數(shù)據(jù)整型數(shù)據(jù)整型數(shù)據(jù)整型數(shù)據(jù)擴(kuò)充的整型類型:擴(kuò)充的整型類型:有符號基本整型有符號基本整型 signed int;無符號基本整型無符號基本整型 unsigned int;有符號短整型有符號短整型 signed short int;無符號短整型無符號短整
12、型 unsigned short int;有符號長整型有符號長整型 signed long int;無符號長整型無符號長整型 unsigned long int有符號雙長整型有符號雙長整型 signed long long int;無符號雙長整型無符號雙長整型 unsigned long long int 3.2.4 3.2.4 字符型數(shù)據(jù)字符型數(shù)據(jù)字符型數(shù)據(jù)字符型數(shù)據(jù)字符是按其代碼字符是按其代碼(整數(shù)整數(shù))形式存儲的形式存儲的C99把字符型數(shù)據(jù)作為整數(shù)類型的一種把字符型數(shù)據(jù)作為整數(shù)類型的一種字符型數(shù)據(jù)在使用上有自己的特點(diǎn)字符型數(shù)據(jù)在使用上有自己的特點(diǎn)3.2.4 3.2.4 字符型數(shù)據(jù)字符型數(shù)
13、據(jù)字符型數(shù)據(jù)字符型數(shù)據(jù)1.字符與字符代碼字符與字符代碼大多數(shù)系統(tǒng)采用大多數(shù)系統(tǒng)采用ASCII字符集字符集u字母:字母:A Z,a zu數(shù)字:數(shù)字:09u專門符號:專門符號:29個:個:!”#&()*等等u空格符:空格、水平制表符、換行空格符:空格、水平制表符、換行等等u不能顯示的字符:空不能顯示的字符:空(null)字符字符(以以0表表示示)、警告、警告(以以a表示表示)、退格、退格(以以b表示表示)、回車、回車(以以r表示表示)等等3.2.4 3.2.4 字符型數(shù)據(jù)字符型數(shù)據(jù)字符型數(shù)據(jù)字符型數(shù)據(jù)字符字符1和整數(shù)和整數(shù)1是不同的概念是不同的概念:u字符字符1只是代表一個形狀為只是代表一個形狀為
14、1的符號,在的符號,在需要時按原樣輸出,在內(nèi)存中以需要時按原樣輸出,在內(nèi)存中以ASCII碼形碼形式存儲,占式存儲,占1個字節(jié)個字節(jié)u整數(shù)整數(shù)1是以整數(shù)存儲方式是以整數(shù)存儲方式(二進(jìn)制補(bǔ)碼方式二進(jìn)制補(bǔ)碼方式)存儲的,占存儲的,占2個或個或4個字節(jié)個字節(jié)0 0 1 1 0 0 0 1 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 0 0 13.2.4 3.2.4 字符型數(shù)據(jù)字符型數(shù)據(jù)字符型數(shù)據(jù)字符型數(shù)據(jù)2.字符變量字符變量用類型符用類型符char定義字符變量定義字符變量u char c=?;系統(tǒng)把系統(tǒng)
15、把“?”的的ASCII代碼代碼63賦給變量賦給變量cuprintf(”%d%cn”,c,c);u輸出結(jié)果是:輸出結(jié)果是:63?3.2.5 3.2.5 浮點(diǎn)型數(shù)據(jù)浮點(diǎn)型數(shù)據(jù)浮點(diǎn)型數(shù)據(jù)浮點(diǎn)型數(shù)據(jù)浮點(diǎn)型數(shù)據(jù)是用來表示具有小數(shù)點(diǎn)的實(shí)數(shù)浮點(diǎn)型數(shù)據(jù)是用來表示具有小數(shù)點(diǎn)的實(shí)數(shù)float型型(單精度浮點(diǎn)型單精度浮點(diǎn)型)u編譯系統(tǒng)為編譯系統(tǒng)為float型變量分配型變量分配4個字節(jié)個字節(jié)u數(shù)值以規(guī)范化的二進(jìn)制數(shù)指數(shù)形式存放數(shù)值以規(guī)范化的二進(jìn)制數(shù)指數(shù)形式存放 參見主教材參見主教材圖圖3.113.2.5 3.2.5 浮點(diǎn)型數(shù)據(jù)浮點(diǎn)型數(shù)據(jù)浮點(diǎn)型數(shù)據(jù)浮點(diǎn)型數(shù)據(jù)浮點(diǎn)型數(shù)據(jù)是用來表示具有小數(shù)點(diǎn)的實(shí)數(shù)浮點(diǎn)型數(shù)據(jù)是用來表示具有小
16、數(shù)點(diǎn)的實(shí)數(shù)float型型(單精度浮點(diǎn)型單精度浮點(diǎn)型)double型型(雙精度浮點(diǎn)型雙精度浮點(diǎn)型)u編譯系統(tǒng)為編譯系統(tǒng)為double型變量分配型變量分配8個字節(jié)個字節(jié)u15位有效數(shù)字位有效數(shù)字long double(長雙精度長雙精度)型型3.2.6 3.2.6 怎樣確定常量的類型怎樣確定常量的類型怎樣確定常量的類型怎樣確定常量的類型字符常量字符常量:由單撇號括起來的單個字符或由單撇號括起來的單個字符或轉(zhuǎn)義字符轉(zhuǎn)義字符整型常量整型常量:不帶小數(shù)點(diǎn)的數(shù)值不帶小數(shù)點(diǎn)的數(shù)值u系統(tǒng)根據(jù)數(shù)值的大小確定系統(tǒng)根據(jù)數(shù)值的大小確定int型型還是還是long型型等等浮點(diǎn)型常量浮點(diǎn)型常量:凡以小數(shù)形式或指數(shù)形式出凡以小
17、數(shù)形式或指數(shù)形式出現(xiàn)的實(shí)數(shù)現(xiàn)的實(shí)數(shù)uC編譯系統(tǒng)把浮點(diǎn)型常量都按雙精度處理編譯系統(tǒng)把浮點(diǎn)型常量都按雙精度處理u分配分配8個字節(jié)個字節(jié)3.2.7 3.2.7 運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式1.基本的算術(shù)運(yùn)算符基本的算術(shù)運(yùn)算符:+:正號運(yùn)算符正號運(yùn)算符(單目運(yùn)算符單目運(yùn)算符)-:負(fù)號運(yùn)算符負(fù)號運(yùn)算符(單目運(yùn)算符單目運(yùn)算符)*:乘法運(yùn)算符乘法運(yùn)算符/:除法運(yùn)算符除法運(yùn)算符%:求余運(yùn)算符求余運(yùn)算符+:加法運(yùn)算符加法運(yùn)算符-:減法運(yùn)算符減法運(yùn)算符3.2.7 3.2.7 運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式說明說明兩個整數(shù)相除的結(jié)果為整數(shù)兩個整數(shù)相除的結(jié)果為整數(shù)
18、u如如5/3的結(jié)果值為,舍去小數(shù)部分的結(jié)果值為,舍去小數(shù)部分u如果除數(shù)或被除數(shù)中有一個為負(fù)值,舍入方向如果除數(shù)或被除數(shù)中有一個為負(fù)值,舍入方向不固定不固定。例如,例如,-5/3,有的系統(tǒng)中得到的結(jié),有的系統(tǒng)中得到的結(jié)果為果為-1,在有的系統(tǒng)中則得到結(jié)果為,在有的系統(tǒng)中則得到結(jié)果為-2uVC+采取采取“向零取整向零取整”的方法的方法 如如5/3=1,-5/3=-1,取整后向零靠攏,取整后向零靠攏%運(yùn)算符要求參加運(yùn)算的運(yùn)算對象運(yùn)算符要求參加運(yùn)算的運(yùn)算對象(即操作數(shù)即操作數(shù))為整數(shù),結(jié)果也是整數(shù)。如為整數(shù),結(jié)果也是整數(shù)。如8%3,結(jié)果為,結(jié)果為23.2.7 3.2.7 運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式運(yùn)
19、算符和表達(dá)式運(yùn)算符和表達(dá)式2.自增、自減運(yùn)算符自增、自減運(yùn)算符:作用是使變量的值或減作用是使變量的值或減u+i,-i:在使用在使用i之前,先使之前,先使i的值加(減)的值加(減)1ui+,i-:在使用在使用i之后,使之后,使i的值加(減)的值加(減)13.2.7 3.2.7 運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式3.算術(shù)表達(dá)式和運(yùn)算符的優(yōu)先級與結(jié)合性算術(shù)表達(dá)式和運(yùn)算符的優(yōu)先級與結(jié)合性:用算術(shù)運(yùn)算符和括號將運(yùn)算對象(也稱操作用算術(shù)運(yùn)算符和括號將運(yùn)算對象(也稱操作數(shù))連接起來的、符合語法規(guī)則的式子,數(shù))連接起來的、符合語法規(guī)則的式子,稱為算術(shù)表達(dá)式稱為算術(shù)表達(dá)式運(yùn)算對象包括常量、
20、變量、函數(shù)等運(yùn)算對象包括常量、變量、函數(shù)等語言規(guī)定了運(yùn)算符的優(yōu)先級語言規(guī)定了運(yùn)算符的優(yōu)先級和和結(jié)合性結(jié)合性3.2.7 3.2.7 運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式4.不同類型數(shù)據(jù)間的混合運(yùn)算不同類型數(shù)據(jù)間的混合運(yùn)算:(1)+、-、*、/運(yùn)算的兩個數(shù)中有一個數(shù)為運(yùn)算的兩個數(shù)中有一個數(shù)為float或或double型,結(jié)果是型,結(jié)果是double型型。系統(tǒng)將系統(tǒng)將float型型數(shù)據(jù)都先轉(zhuǎn)換為數(shù)據(jù)都先轉(zhuǎn)換為double型,然后進(jìn)行運(yùn)算型,然后進(jìn)行運(yùn)算(2)如果如果int型與型與float或或double型數(shù)據(jù)進(jìn)行運(yùn)算,型數(shù)據(jù)進(jìn)行運(yùn)算,先把先把int型和型和float型數(shù)據(jù)轉(zhuǎn)換為
21、型數(shù)據(jù)轉(zhuǎn)換為double型,然型,然后進(jìn)行運(yùn)算,結(jié)果是后進(jìn)行運(yùn)算,結(jié)果是double型型(3)字符型數(shù)據(jù)與整型數(shù)據(jù)進(jìn)行運(yùn)算,就是把字符的字符型數(shù)據(jù)與整型數(shù)據(jù)進(jìn)行運(yùn)算,就是把字符的ASCII代碼與整型數(shù)據(jù)進(jìn)行運(yùn)算代碼與整型數(shù)據(jù)進(jìn)行運(yùn)算3.2.7 3.2.7 運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式 例例3.3 給定一個大寫字母,要求用小寫給定一個大寫字母,要求用小寫字母輸出。字母輸出。解題思路:解題思路:u關(guān)鍵是關(guān)鍵是找到大找到大、小寫字母間小寫字母間的的內(nèi)在聯(lián)系內(nèi)在聯(lián)系u同一個字母,用小寫表示的字符的同一個字母,用小寫表示的字符的ASCII代代碼比用大寫表示的字符的碼比用大寫表
22、示的字符的ASCII代碼大代碼大323.2.7 3.2.7 運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式#include int main()char c1,c2;c1=A;c2=c1+32;printf(%cn,c2);printf(”%dn”,c2);return 0;將字符將字符A的的ASCII代碼代碼65放到放到c1中中將將65+32的的結(jié)果結(jié)果放到放到c2中中用字符形式輸出用字符形式輸出用十進(jìn)制形式輸出用十進(jìn)制形式輸出3.2.7 3.2.7 運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式5.強(qiáng)制類型轉(zhuǎn)換運(yùn)算符強(qiáng)制類型轉(zhuǎn)換運(yùn)算符強(qiáng)制類型轉(zhuǎn)換運(yùn)算符強(qiáng)制類型轉(zhuǎn)換運(yùn)算符
23、的的一般形式為一般形式為 (類型名)(表達(dá)式)(類型名)(表達(dá)式)u(double)a (將轉(zhuǎn)換成(將轉(zhuǎn)換成double類型)類型)u(int)(x+y)(將(將x+y的值轉(zhuǎn)換成的值轉(zhuǎn)換成int型)型)u(float)(5%3)(將(將5%3的值轉(zhuǎn)換成的值轉(zhuǎn)換成float型)型)有兩種類型轉(zhuǎn)換有兩種類型轉(zhuǎn)換u系統(tǒng)自動進(jìn)行的類型轉(zhuǎn)換系統(tǒng)自動進(jìn)行的類型轉(zhuǎn)換u強(qiáng)制類型轉(zhuǎn)換強(qiáng)制類型轉(zhuǎn)換3.2.7 3.2.7 運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式6.運(yùn)算符運(yùn)算符(1)算術(shù)運(yùn)算符算術(shù)運(yùn)算符 (+-*/%+-)(2)關(guān)系運(yùn)算符關(guān)系運(yùn)算符 (?。。?3)邏輯運(yùn)算符邏輯運(yùn)算符 (?。ǎ)
24、(4)位運(yùn)算符位運(yùn)算符 (|)(5)賦值運(yùn)算符賦值運(yùn)算符 (及其擴(kuò)展賦值運(yùn)算符)(及其擴(kuò)展賦值運(yùn)算符)(6)條件運(yùn)算符條件運(yùn)算符 (?:)(?:)3.2.7 3.2.7 運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式6.運(yùn)算符運(yùn)算符(7)逗號運(yùn)算符逗號運(yùn)算符 (,),)(8)指針運(yùn)算符指針運(yùn)算符 (*和)和)(9)求字節(jié)數(shù)運(yùn)算符求字節(jié)數(shù)運(yùn)算符 (sizeof)(10)強(qiáng)制類型轉(zhuǎn)換運(yùn)算符強(qiáng)制類型轉(zhuǎn)換運(yùn)算符 ((類型類型))(11)成員運(yùn)算符成員運(yùn)算符 (.-)(12)下標(biāo)運(yùn)算符下標(biāo)運(yùn)算符 ()(13)其他其他 (如函數(shù)調(diào)用運(yùn)算符()(如函數(shù)調(diào)用運(yùn)算符()3.3 C3.3 C語句語句語句
25、語句3.3.1 C語句的作用和分類語句的作用和分類3.3.2 最基本的語句最基本的語句-賦值語句賦值語句3.3.1 3.3.1 C C語句的作用和分類語句的作用和分類語句的作用和分類語句的作用和分類語句分為以下語句分為以下5類類:(1)控制語句控制語句:if、switch、for、while、dowhile、continue、break、return、goto等等(2)函數(shù)調(diào)用語句函數(shù)調(diào)用語句(3)表達(dá)式語句表達(dá)式語句(4)空語句空語句(5)復(fù)合語句復(fù)合語句3.3.2 3.3.2 最基本的語句最基本的語句最基本的語句最基本的語句-賦值語句賦值語句賦值語句賦值語句在在C程序中,最常用的語句是:程
26、序中,最常用的語句是:u賦值語句賦值語句u輸入輸出語句輸入輸出語句其中最基本的是賦值語句其中最基本的是賦值語句3.3.2 3.3.2 最基本的語句最基本的語句最基本的語句最基本的語句-賦值語句賦值語句賦值語句賦值語句 例例3.4 給出三角形的三邊長,求三給出三角形的三邊長,求三角形面積。角形面積。3.3.2 3.3.2 最基本的語句最基本的語句最基本的語句最基本的語句-賦值語句賦值語句賦值語句賦值語句解題思路:假設(shè)給定的三個邊符合構(gòu)成解題思路:假設(shè)給定的三個邊符合構(gòu)成三角形的條件三角形的條件關(guān)鍵是找到求三角形面積的公式關(guān)鍵是找到求三角形面積的公式公式為:公式為:其中其中s=(a+b+c)/2#
27、include#include int main()double a,b,c,s,area;a=3.67;b=5.43;c=6.21;s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c);printf(a=%ftb=%ft%fn,a,b,c);printf(area=%fn,area);return 0;對邊長對邊長a、b、c賦值賦值計算計算s計算計算area#include#include int main()double a,b,c,s,area;a=3.67;b=5.43;c=6.21;s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*
28、(s-c);printf(a=%ftb=%ft%fn,a,b,c);printf(area=%fn,area);return 0;數(shù)學(xué)函數(shù),數(shù)學(xué)函數(shù),計算計算平方根平方根調(diào)用數(shù)學(xué)函數(shù)調(diào)用數(shù)學(xué)函數(shù)加此行加此行#include#include int main()double a,b,c,s,area;a=3.67;b=5.43;c=6.21;s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c);printf(a=%ftb=%ft%fn,a,b,c);printf(area=%fn,area);return 0;轉(zhuǎn)義字符轉(zhuǎn)義字符,使輸出位置跳使輸出位置跳到下一個到下一
29、個tab位置位置調(diào)用數(shù)學(xué)函數(shù)調(diào)用數(shù)學(xué)函數(shù)加此行加此行歸納歸納總結(jié):總結(jié):1.賦值運(yùn)算符賦值運(yùn)算符u“”是賦值運(yùn)算符是賦值運(yùn)算符u作用是將一個數(shù)據(jù)賦給一個變量作用是將一個數(shù)據(jù)賦給一個變量u也可以將一個表達(dá)式的值賦給一個變量也可以將一個表達(dá)式的值賦給一個變量歸納歸納總結(jié):總結(jié):1.賦值運(yùn)算符賦值運(yùn)算符2.復(fù)合的賦值運(yùn)算符復(fù)合的賦值運(yùn)算符u在賦值符在賦值符“”之前加上其他運(yùn)算符,可以構(gòu)之前加上其他運(yùn)算符,可以構(gòu)成復(fù)合的運(yùn)算符成復(fù)合的運(yùn)算符u 等價于等價于 歸納歸納總結(jié):總結(jié):1.賦值運(yùn)算符賦值運(yùn)算符2.復(fù)合的賦值運(yùn)算符復(fù)合的賦值運(yùn)算符3.賦值表達(dá)式賦值表達(dá)式u一般形式為一般形式為:變量變量 賦值運(yùn)算
30、符賦值運(yùn)算符 表達(dá)式表達(dá)式u對賦值表達(dá)式求解的過程:對賦值表達(dá)式求解的過程:l求賦值運(yùn)算符求賦值運(yùn)算符右側(cè)右側(cè)的的“表達(dá)式表達(dá)式”的值的值l賦給賦值運(yùn)算符賦給賦值運(yùn)算符左側(cè)左側(cè)的變量的變量歸納歸納總結(jié):總結(jié):1.賦值運(yùn)算符賦值運(yùn)算符2.復(fù)合的賦值運(yùn)算符復(fù)合的賦值運(yùn)算符3.賦值表達(dá)式賦值表達(dá)式u賦值表達(dá)式賦值表達(dá)式“a=3*5”的值為的值為15,對表達(dá)式求,對表達(dá)式求解后,變量解后,變量a的值和表達(dá)式的值都是的值和表達(dá)式的值都是15u“a=(b=5)”和和“a=b=5”等價等價u“a=b”和和“b=a”含義不同含義不同歸納歸納總結(jié):總結(jié):1.賦值運(yùn)算符賦值運(yùn)算符2.復(fù)合的賦值運(yùn)算符復(fù)合的賦值運(yùn)算
31、符3.賦值表達(dá)式賦值表達(dá)式4.賦值過程中的類型轉(zhuǎn)換賦值過程中的類型轉(zhuǎn)換u兩側(cè)類型一致兩側(cè)類型一致時時,直接賦值,直接賦值u兩側(cè)類型不一致,但都是算術(shù)類型時,兩側(cè)類型不一致,但都是算術(shù)類型時,自動將自動將右側(cè)的右側(cè)的類型轉(zhuǎn)換類型轉(zhuǎn)換為左側(cè)類型后賦值為左側(cè)類型后賦值u定義變量時要防止數(shù)據(jù)溢出定義變量時要防止數(shù)據(jù)溢出歸納歸納總結(jié):總結(jié):1.賦值運(yùn)算符賦值運(yùn)算符2.復(fù)合的賦值運(yùn)算符復(fù)合的賦值運(yùn)算符3.賦值表達(dá)式賦值表達(dá)式4.賦值過程中的類型轉(zhuǎn)換賦值過程中的類型轉(zhuǎn)換5.賦值表達(dá)式和賦值語句賦值表達(dá)式和賦值語句u賦值表達(dá)式的末尾沒有分號,而賦值語句有賦值表達(dá)式的末尾沒有分號,而賦值語句有分號分號u一個表達(dá)
32、式可以包含賦值表達(dá)式,但決不能包含一個表達(dá)式可以包含賦值表達(dá)式,但決不能包含賦值語句賦值語句歸納歸納總結(jié):總結(jié):1.賦值運(yùn)算符賦值運(yùn)算符2.復(fù)合的賦值運(yùn)算符復(fù)合的賦值運(yùn)算符3.賦值表達(dá)式賦值表達(dá)式4.賦值過程中的類型轉(zhuǎn)換賦值過程中的類型轉(zhuǎn)換5.賦值表達(dá)式和賦值語句賦值表達(dá)式和賦值語句6.變量賦初值變量賦初值int a=3,b=3,c;int a=3;相當(dāng)于相當(dāng)于 int a;a=3;3.4 3.4 數(shù)據(jù)的輸入輸出數(shù)據(jù)的輸入輸出數(shù)據(jù)的輸入輸出數(shù)據(jù)的輸入輸出3.4.1 輸入輸出舉例輸入輸出舉例3.4.2 有關(guān)數(shù)據(jù)輸入輸出的概念有關(guān)數(shù)據(jù)輸入輸出的概念3.4.3 用用printf函數(shù)輸出數(shù)據(jù)函數(shù)輸出數(shù)
33、據(jù)3.4.4 用用scanf函數(shù)輸入數(shù)據(jù)函數(shù)輸入數(shù)據(jù)3.4.5 字符數(shù)據(jù)的輸入輸出字符數(shù)據(jù)的輸入輸出3.4.1 3.4.1 輸入輸出舉例輸入輸出舉例輸入輸出舉例輸入輸出舉例例例3.5 求求 方程的根。方程的根。a、b、c由鍵盤輸入由鍵盤輸入 設(shè)設(shè) 3.4.1 3.4.1 輸入輸出舉例輸入輸出舉例輸入輸出舉例輸入輸出舉例解題思路:首先要知道求方程式的根解題思路:首先要知道求方程式的根的方法。的方法。由數(shù)學(xué)知識已知:如果由數(shù)學(xué)知識已知:如果 0,則一元二次方程有兩個實(shí)根,則一元二次方程有兩個實(shí)根:若記若記#include#include int main()double a,b,c,disc,x1,x2,p,q;scanf(%lf%lf%lf,&a,&b,&c);disc=b*b-4*a*c;p=-b/(2.0*a);q=sqrt(disc)/(2.0*a);x1=p+q;x2=p-q;pri