最簡(jiǎn)單的C程序設(shè)計(jì)譚浩強(qiáng)C程序設(shè)計(jì)第四版ppt課件_第1頁(yè)
最簡(jiǎn)單的C程序設(shè)計(jì)譚浩強(qiáng)C程序設(shè)計(jì)第四版ppt課件_第2頁(yè)
最簡(jiǎn)單的C程序設(shè)計(jì)譚浩強(qiáng)C程序設(shè)計(jì)第四版ppt課件_第3頁(yè)
最簡(jiǎn)單的C程序設(shè)計(jì)譚浩強(qiáng)C程序設(shè)計(jì)第四版ppt課件_第4頁(yè)
最簡(jiǎn)單的C程序設(shè)計(jì)譚浩強(qiáng)C程序設(shè)計(jì)第四版ppt課件_第5頁(yè)
已閱讀5頁(yè),還剩89頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、3.1 順序程序設(shè)計(jì)舉例順序程序設(shè)計(jì)舉例3.2 數(shù)據(jù)的表現(xiàn)形式及其運(yùn)算數(shù)據(jù)的表現(xiàn)形式及其運(yùn)算3.3 C語(yǔ)句語(yǔ)句3.4 數(shù)據(jù)的輸入輸出數(shù)據(jù)的輸入輸出3.1順序程序設(shè)計(jì)舉例順序程序設(shè)計(jì)舉例 例3.1 有人用溫度計(jì)測(cè)量出用華氏法表示的溫度(如 F,今要求把它轉(zhuǎn)換為以攝氏法表示的溫度(如 C) 。解題思路:找到二者間的轉(zhuǎn)換公式解題思路:找到二者間的轉(zhuǎn)換公式)32(95fcf代表華氏溫度,代表華氏溫度,c代表攝氏溫度代表攝氏溫度3.1順序程序設(shè)計(jì)舉例順序程序設(shè)計(jì)舉例算法:算法:輸入輸入f的值的值輸出輸出c的值的值)32(95fc 例例3.1 有人用溫度計(jì)測(cè)量出用華氏法表有人用溫度計(jì)測(cè)量出用華氏法表示的溫

2、度示的溫度(如如 F,今要求把它轉(zhuǎn)換為以,今要求把它轉(zhuǎn)換為以攝氏法表示的溫度攝氏法表示的溫度(如如 C) 。N-S圖圖3.1順序程序設(shè)計(jì)舉例順序程序設(shè)計(jì)舉例)32(95f#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的值的值計(jì)算計(jì)算c的值的值輸出輸出f和和c的值的值3.1順序程序設(shè)計(jì)舉例順序程序設(shè)計(jì)舉例 例3.2 計(jì)算存款利息。有1000元,想存一年。有三種方法可選: (1)活期,年利率為r1

3、(2)一年期定期,年利率為r2 (3)存兩次半年定期,年利率為r3 請(qǐng)分別計(jì)算出一年后按三種方法所得到的本息和。3.1順序程序設(shè)計(jì)舉例順序程序設(shè)計(jì)舉例解題思路:確定計(jì)算本息和的公式。從數(shù)學(xué)知識(shí)可知:若存款額為p0,那么:活期存款一年后本息和為: p1=p0(1+r1)一年期定期存款,一年后本息和為: p2=p0(1+r2)兩次半年定期存款,一年后本息和為: ) 23+)(123+p0(1=p3rr3.1順序程序設(shè)計(jì)舉例順序程序設(shè)計(jì)舉例算法:輸入輸入p0,r1,r2,r3的值的值計(jì)算計(jì)算p1=p0(1+r1)計(jì)算計(jì)算p2=p0(1+r2)計(jì)算計(jì)算p3=p0(1+ )(1+ )輸出輸出p1,p2,

4、p323r23r3.1順序程序設(shè)計(jì)舉例順序程序設(shè)計(jì)舉例#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; 定義變量同時(shí)賦予初值定義變量同時(shí)賦予初值3.2 數(shù)據(jù)的表現(xiàn)形式及其運(yùn)算數(shù)據(jù)的表現(xiàn)形式及其運(yùn)算3.2.1 常量和變量3.2.2 數(shù)據(jù)類型3.2.3 整型

5、數(shù)據(jù)3.2.4 字符型數(shù)據(jù)3.2.5 浮點(diǎn)型數(shù)據(jù)3.2.6 怎樣確定常量的類型3.2.7 運(yùn)算符和表達(dá)式3.2.1 常量和變量常量和變量1.常量:在程序運(yùn)行過(guò)程中,其值不能被改變的量整型常量:如1000,12345,0,-345實(shí)型常量十進(jìn)制小數(shù)形式:如0.34 -56.79 0.0指數(shù)形式:如12.34e3 (代表12.34103)字符常量:如?轉(zhuǎn)義字符:如n字符串常量:如boy”符號(hào)常量:#define PI 3.14163.2.1 常量和變量常量和變量2. 變量:在程序運(yùn)行期間,變量的值是可以改變的變量必須先定義,后使用定義變量時(shí)指定該變量的名字和類型變量名和變量值是兩個(gè)不同的概念變量名

6、實(shí)際上是以一個(gè)名字代表的一個(gè)存儲(chǔ)地址從變量中取值,實(shí)際上是通過(guò)變量名找到相應(yīng)的內(nèi)存地址,從該存儲(chǔ)單元中讀取數(shù)據(jù)3.2.1 常量和變量常量和變量3.常變量:const int a=3;4.標(biāo)識(shí)符:一個(gè)對(duì)象的名字語(yǔ)言規(guī)定標(biāo)識(shí)符只能由字母、數(shù)字和下劃線3種字符組成,且第一個(gè)字符必須為字母或下劃線合法的標(biāo)識(shí)符:如sum,average, _total, Class, day, BASIC, li_ling不合法的標(biāo)識(shí)符:M.D.John,¥123,33,3D64,ab大小寫字母是不同的字符大小寫字母是不同的字符3.2.2 數(shù)據(jù)類型數(shù)據(jù)類型所謂類型,就是對(duì)數(shù)據(jù)分配存儲(chǔ)單元的安排,包括存儲(chǔ)單元的長(zhǎng)度(占多

7、少字節(jié))以及數(shù)據(jù)的存儲(chǔ)形式不同的類型分配不同的長(zhǎng)度和存儲(chǔ)形式3.2.2 數(shù)據(jù)類型數(shù)據(jù)類型C語(yǔ)言允許使用的數(shù)據(jù)類型:基本類型整型類型基本整型短整型長(zhǎng)整型雙長(zhǎng)整型字符型布爾型u浮點(diǎn)類型浮點(diǎn)類型u單精度浮點(diǎn)型單精度浮點(diǎn)型u雙精度浮點(diǎn)型雙精度浮點(diǎn)型u復(fù)數(shù)浮點(diǎn)型復(fù)數(shù)浮點(diǎn)型3.2.2 數(shù)據(jù)類型數(shù)據(jù)類型C語(yǔ)言允許使用的數(shù)據(jù)類型:基本類型枚舉類型空類型派生類型指針類型數(shù)組類型結(jié)構(gòu)體類型共用體類型函數(shù)類型算術(shù)類型算術(shù)類型純量類型純量類型3.2.3 整型數(shù)據(jù)整型數(shù)據(jù)1. 整型數(shù)據(jù)的分類最基本的整型類型基本整型(int型):占2個(gè)或4個(gè)字節(jié)短整型(short int):VC+6.0中占2個(gè)字節(jié)長(zhǎng)整型(long in

8、t):VC+6.0中占4個(gè)字節(jié)雙長(zhǎng)整型(long long int):C99新增的3.2.3 整型數(shù)據(jù)整型數(shù)據(jù)1. 整型數(shù)據(jù)的分類2. 整型變量的符號(hào)屬性整型變量的值的范圍包括負(fù)數(shù)到正數(shù)可以將變量定義為“無(wú)符號(hào)類型擴(kuò)充的整形類型:3.2.3 整型數(shù)據(jù)整型數(shù)據(jù)擴(kuò)充的整型類型:有符號(hào)基本整型 signed int;無(wú)符號(hào)基本整型 unsigned int;有符號(hào)短整型 signed short int;無(wú)符號(hào)短整型 unsigned short int;有符號(hào)長(zhǎng)整型 signed long int;無(wú)符號(hào)長(zhǎng)整型 unsigned long int有符號(hào)雙長(zhǎng)整型 signed long long i

9、nt; 無(wú)符號(hào)雙長(zhǎng)整型 unsigned long long int 3.2.4 字符型數(shù)據(jù)字符型數(shù)據(jù)字符是按其代碼(整數(shù))形式存儲(chǔ)的C99把字符型數(shù)據(jù)作為整數(shù)類型的一種字符型數(shù)據(jù)在使用上有自己的特點(diǎn)3.2.4 字符型數(shù)據(jù)字符型數(shù)據(jù)1.字符與字符代碼大多數(shù)系統(tǒng)采用ASCII字符集字母:A Z,a z數(shù)字:09專門符號(hào):29個(gè):! ” # & ( ) *等空格符:空格、水平制表符、換行等不能顯示的字符:空(null)字符(以0表示)、警告(以a表示)、退格(以b表示)、回車(以r表示)等3.2.4 字符型數(shù)據(jù)字符型數(shù)據(jù)字符1和整數(shù)1是不同的概念:字符1只是代表一個(gè)形狀為1的符號(hào),在需要時(shí)

10、按原樣輸出,在內(nèi)存中以ASCII碼形式存儲(chǔ),占1個(gè)字節(jié)整數(shù)1是以整數(shù)存儲(chǔ)方式(二進(jìn)制補(bǔ)碼方式)存儲(chǔ)的,占2個(gè)或4個(gè)字節(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 字符型數(shù)據(jù)字符型數(shù)據(jù)2.字符變量用類型符char定義字符變量 char c = ?; 系統(tǒng)把“?”的ASCII代碼63賦給變量cprintf(”%d %cn”,c,c);輸出結(jié)果是: 63 ?3.2.5 浮點(diǎn)型數(shù)據(jù)浮點(diǎn)型數(shù)據(jù)浮點(diǎn)型數(shù)據(jù)是用來(lái)表示具有小數(shù)點(diǎn)的實(shí)數(shù)float型(單精度浮點(diǎn)

11、型)編譯系統(tǒng)為float型變量分配4個(gè)字節(jié)數(shù)值以規(guī)范化的二進(jìn)制數(shù)指數(shù)形式存放 參見(jiàn)主教材圖3.113.2.5 浮點(diǎn)型數(shù)據(jù)浮點(diǎn)型數(shù)據(jù)浮點(diǎn)型數(shù)據(jù)是用來(lái)表示具有小數(shù)點(diǎn)的實(shí)數(shù)float型(單精度浮點(diǎn)型)double型(雙精度浮點(diǎn)型)編譯系統(tǒng)為double型變量分配8個(gè)字節(jié)15位有效數(shù)字long double(長(zhǎng)雙精度)型3.2.6 怎樣確定常量的類型怎樣確定常量的類型字符常量:由單撇號(hào)括起來(lái)的單個(gè)字符或轉(zhuǎn)義字符整型常量:不帶小數(shù)點(diǎn)的數(shù)值系統(tǒng)根據(jù)數(shù)值的大小確定int型還是long型等浮點(diǎn)型常量:凡以小數(shù)形式或指數(shù)形式出現(xiàn)的實(shí)數(shù)C編譯系統(tǒng)把浮點(diǎn)型常量都按雙精度處理分配8個(gè)字節(jié)3.2.7 運(yùn)算符和表達(dá)式運(yùn)算

12、符和表達(dá)式1.基本的算術(shù)運(yùn)算符:+ :正號(hào)運(yùn)算符(單目運(yùn)算符) - :負(fù)號(hào)運(yùn)算符(單目運(yùn)算符)* :乘法運(yùn)算符/ :除法運(yùn)算符% :求余運(yùn)算符+ :加法運(yùn)算符 - :減法運(yùn)算符3.2.7 運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式闡明兩個(gè)整數(shù)相除的結(jié)果為整數(shù)如5/3的結(jié)果值為,舍去小數(shù)部分如果除數(shù)或被除數(shù)中有一個(gè)為負(fù)值,舍入方向不固定。例如,-5/3,有的系統(tǒng)中得到的結(jié)果為-1,在有的系統(tǒng)中則得到結(jié)果為-2VC+采取“向零取整的方法 如5/3=1,-5/3=-1,取整后向零靠攏% 運(yùn)算符要求參加運(yùn)算的運(yùn)算對(duì)象(即操作數(shù))為整數(shù),結(jié)果也是整數(shù)。如8%3,結(jié)果為23.2.7 運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式2. 自

13、增、自減運(yùn)算符:作用是使變量的值或減+i,-i:在使用i之前,先使i的值加減1i+,i-:在使用i之后,使i的值加減13.2.7 運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式3. 算術(shù)表達(dá)式和運(yùn)算符的優(yōu)先級(jí)與結(jié)合性:用算術(shù)運(yùn)算符和括號(hào)將運(yùn)算對(duì)象也稱操作數(shù)連接起來(lái)的、符合語(yǔ)法規(guī)則的式子,稱為算術(shù)表達(dá)式運(yùn)算對(duì)象包括常量、變量、函數(shù)等語(yǔ)言規(guī)定了運(yùn)算符的優(yōu)先級(jí)和結(jié)合性.3.2.7 運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式4.不同類型數(shù)據(jù)間的混合運(yùn)算:+、-、*、/ 運(yùn)算的兩個(gè)數(shù)中有一個(gè)數(shù)為float或double型,結(jié)果是double型。系統(tǒng)將float型數(shù)據(jù)都先轉(zhuǎn)換為double型,然后進(jìn)行運(yùn)算(2) 如果int型與float

14、或double型數(shù)據(jù)進(jìn)行運(yùn)算,先把int型和float型數(shù)據(jù)轉(zhuǎn)換為double型,然后進(jìn)行運(yùn)算,結(jié)果是double型(3)字符型數(shù)據(jù)與整型數(shù)據(jù)進(jìn)行運(yùn)算,就是把字符的ASCII代碼與整型數(shù)據(jù)進(jìn)行運(yùn)算3.2.7 運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式 例3.3 給定一個(gè)大寫字母,要求用小寫字母輸出。解題思路:解題思路:關(guān)鍵是找到大、小寫字母間的內(nèi)在聯(lián)系關(guān)鍵是找到大、小寫字母間的內(nèi)在聯(lián)系同一個(gè)字母,用小寫表示的字符的同一個(gè)字母,用小寫表示的字符的ASCII代碼比用大寫表示的字符的代碼比用大寫表示的字符的ASCII代碼大代碼大323.2.7 運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式#include int main ( )

15、 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 運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式5. 強(qiáng)制類型轉(zhuǎn)換運(yùn)算符強(qiáng)制類型轉(zhuǎn)換運(yùn)算符的一般形式為 (類型名)(表達(dá)式)(double)a (將轉(zhuǎn)換成double類型)(int) (x+y) (將x+y的值轉(zhuǎn)換成int型) (float)(5%3)(將5%3的值轉(zhuǎn)換成float型)有兩種類型轉(zhuǎn)換系統(tǒng)自

16、動(dòng)進(jìn)行的類型轉(zhuǎn)換強(qiáng)制類型轉(zhuǎn)換3.2.7 運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式6.運(yùn)算符(1) 算術(shù)運(yùn)算符 (+ - * / % + -)(2) 關(guān)系運(yùn)算符 ( ?。?3) 邏輯運(yùn)算符 (! |)(4) 位運(yùn)算符 ( | )(5) 賦值運(yùn)算符 (及其擴(kuò)展賦值運(yùn)算符)(6) 條件運(yùn)算符 (?:)3.2.7 運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式6.運(yùn)算符(7) 逗號(hào)運(yùn)算符 (,)(8) 指針運(yùn)算符 (*和)(9) 求字節(jié)數(shù)運(yùn)算符 (sizeof)(10) 強(qiáng)制類型轉(zhuǎn)換運(yùn)算符 ( (類型) )(11) 成員運(yùn)算符 (.-)(12) 下標(biāo)運(yùn)算符 ( )(13) 其他 (如函數(shù)調(diào)用運(yùn)算符()3.3 C語(yǔ)句語(yǔ)句3.3.1

17、C語(yǔ)句的作用和分類3.3.2 最基本的語(yǔ)句-賦值語(yǔ)句3.3.1 C語(yǔ)句的作用和分類語(yǔ)句的作用和分類語(yǔ)句分為以下5類:(1) 控制語(yǔ)句: if、switch、for、while、dowhile、continue、break、return、goto等(2) 函數(shù)調(diào)用語(yǔ)句(3) 表達(dá)式語(yǔ)句(4) 空語(yǔ)句(5) 復(fù)合語(yǔ)句3.3.2 最基本的語(yǔ)句最基本的語(yǔ)句-賦值語(yǔ)句賦值語(yǔ)句在C程序中,最常用的語(yǔ)句是:賦值語(yǔ)句輸入輸出語(yǔ)句其中最基本的是賦值語(yǔ)句3.3.2 最基本的語(yǔ)句最基本的語(yǔ)句-賦值語(yǔ)句賦值語(yǔ)句 例3.4 給出三角形的三邊長(zhǎng),求三角形面積。3.3.2 最基本的語(yǔ)句最基本的語(yǔ)句-賦值語(yǔ)句賦值語(yǔ)句解題思路

18、:假設(shè)給定的三個(gè)邊符合構(gòu)成三角形的條件關(guān)鍵是找到求三角形面積的公式公式為:其中s=(a+b+c)/2)()(csbsassarea#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; 對(duì)邊長(zhǎng)對(duì)邊長(zhǎng)a、b、c賦值賦值計(jì)算計(jì)算s計(jì)算計(jì)算area#include #include int mai

19、n ( ) 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; 數(shù)學(xué)函數(shù),計(jì)算平方根數(shù)學(xué)函數(shù),計(jì)算平方根調(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

20、)*(s-b)*(s-c); printf(a=%ftb=%ft%fn,a,b,c); printf(area=%fn,area); return 0; 轉(zhuǎn)義字符,使輸出位置跳轉(zhuǎn)義字符,使輸出位置跳到下一個(gè)到下一個(gè)tab位置位置調(diào)用數(shù)學(xué)函數(shù)加此行調(diào)用數(shù)學(xué)函數(shù)加此行歸納總結(jié):歸納總結(jié):1.賦值運(yùn)算符賦值運(yùn)算符“”是賦值運(yùn)算符是賦值運(yùn)算符作用是將一個(gè)數(shù)據(jù)賦給一個(gè)變量作用是將一個(gè)數(shù)據(jù)賦給一個(gè)變量也可以將一個(gè)表達(dá)式的值賦給一個(gè)變量也可以將一個(gè)表達(dá)式的值賦給一個(gè)變量歸納總結(jié):歸納總結(jié):1.賦值運(yùn)算符賦值運(yùn)算符2.復(fù)合的賦值運(yùn)算符復(fù)合的賦值運(yùn)算符在賦值符在賦值符“”之前加上其他運(yùn)算符,可之前加上其他運(yùn)算符

21、,可以構(gòu)成復(fù)合的運(yùn)算符以構(gòu)成復(fù)合的運(yùn)算符 等價(jià)于等價(jià)于 歸納總結(jié):歸納總結(jié):1.賦值運(yùn)算符賦值運(yùn)算符2.復(fù)合的賦值運(yùn)算符復(fù)合的賦值運(yùn)算符3.賦值表達(dá)式賦值表達(dá)式一般形式為:一般形式為: 變量變量 賦值運(yùn)算符賦值運(yùn)算符 表達(dá)式表達(dá)式對(duì)賦值表達(dá)式求解的過(guò)程:對(duì)賦值表達(dá)式求解的過(guò)程:求賦值運(yùn)算符右側(cè)的求賦值運(yùn)算符右側(cè)的“表達(dá)式的值表達(dá)式的值賦給賦值運(yùn)算符左側(cè)的變量賦給賦值運(yùn)算符左側(cè)的變量歸納總結(jié):歸納總結(jié):1.賦值運(yùn)算符賦值運(yùn)算符2.復(fù)合的賦值運(yùn)算符復(fù)合的賦值運(yùn)算符3.賦值表達(dá)式賦值表達(dá)式賦值表達(dá)式賦值表達(dá)式“a=3*5的值為的值為15,對(duì)表,對(duì)表達(dá)式求解后,變量達(dá)式求解后,變量a的值和表達(dá)式的值都

22、是的值和表達(dá)式的值都是15“a=(b=5)”和和“a=b=5等價(jià)等價(jià)“a=b和和“b=a含義不同含義不同歸納總結(jié):歸納總結(jié):1.賦值運(yùn)算符賦值運(yùn)算符2.復(fù)合的賦值運(yùn)算符復(fù)合的賦值運(yùn)算符3.賦值表達(dá)式賦值表達(dá)式4.賦值過(guò)程中的類型轉(zhuǎn)換賦值過(guò)程中的類型轉(zhuǎn)換兩側(cè)類型一致時(shí),直接賦值兩側(cè)類型一致時(shí),直接賦值兩側(cè)類型不一致,但都是算術(shù)類型時(shí),自兩側(cè)類型不一致,但都是算術(shù)類型時(shí),自動(dòng)將右側(cè)的類型轉(zhuǎn)換為左側(cè)類型后賦值動(dòng)將右側(cè)的類型轉(zhuǎn)換為左側(cè)類型后賦值定義變量時(shí)要防止數(shù)據(jù)溢出定義變量時(shí)要防止數(shù)據(jù)溢出歸納總結(jié):歸納總結(jié):1.賦值運(yùn)算符賦值運(yùn)算符2.復(fù)合的賦值運(yùn)算符復(fù)合的賦值運(yùn)算符3.賦值表達(dá)式賦值表達(dá)式4.賦值

23、過(guò)程中的類型轉(zhuǎn)換賦值過(guò)程中的類型轉(zhuǎn)換5.賦值表達(dá)式和賦值語(yǔ)句賦值表達(dá)式和賦值語(yǔ)句賦值表達(dá)式的末尾沒(méi)有分號(hào),而賦值語(yǔ)句有賦值表達(dá)式的末尾沒(méi)有分號(hào),而賦值語(yǔ)句有分號(hào)分號(hào)一個(gè)表達(dá)式可以包含賦值表達(dá)式,但決不能一個(gè)表達(dá)式可以包含賦值表達(dá)式,但決不能包含賦值語(yǔ)句包含賦值語(yǔ)句歸納總結(jié):歸納總結(jié):1.賦值運(yùn)算符賦值運(yùn)算符2.復(fù)合的賦值運(yùn)算符復(fù)合的賦值運(yùn)算符3.賦值表達(dá)式賦值表達(dá)式4.賦值過(guò)程中的類型轉(zhuǎn)換賦值過(guò)程中的類型轉(zhuǎn)換5.賦值表達(dá)式和賦值語(yǔ)句賦值表達(dá)式和賦值語(yǔ)句6.變量賦初值變量賦初值int a=3,b=3,c;int a=3; 相當(dāng)于相當(dāng)于 int a; a=3;3.4 數(shù)據(jù)的輸入輸出數(shù)據(jù)的輸入輸出3

24、.4.1 輸入輸出舉例3.4.2 有關(guān)數(shù)據(jù)輸入輸出的概念3.4.3 用printf函數(shù)輸出數(shù)據(jù)3.4.4 用scanf函數(shù)輸入數(shù)據(jù)3.4.5 字符數(shù)據(jù)的輸入輸出3.4.1 輸入輸出舉例輸入輸出舉例例3.5 求 方程的根。a、b、c由鍵盤輸入 設(shè) 02cbxaxacb423.4.1 輸入輸出舉例輸入輸出舉例解題思路:首先要知道求方程式的根的方法。由數(shù)學(xué)知識(shí)已知:假設(shè) 0,則一元二次方程有兩個(gè)實(shí)根:acb42aacbbx2421aacbbx2422abp2aacbq242若記若記qpx1qpx2#include #include int main ( ) double a,b,c,disc,x1,

25、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; printf(x1=%7.2fnx2=%7.2fn,x1,x2); return 0;程序中調(diào)用數(shù)學(xué)函數(shù)程序中調(diào)用數(shù)學(xué)函數(shù)sqrt輸入輸入a,b,c的值的值#include #include int main ( ) double a,b,c,disc,x1,x2,p,q; scanf(%lf%lf%lf,&a,&b,&c); disc=b*b

26、-4*a*c; p=-b/(2.0*a); q=sqrt(disc)/(2.0*a); x1=p+q; x2=p-q; printf(x1=%7.2fnx2=%7.2fn,x1,x2); return 0;輸入的是雙輸入的是雙精度型實(shí)數(shù)精度型實(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; printf(x1=

27、%7.2fnx2=%7.2fn,x1,x2); return 0;要求輸入要求輸入3個(gè)實(shí)數(shù)個(gè)實(shí)數(shù)自動(dòng)轉(zhuǎn)成實(shí)數(shù)自動(dòng)轉(zhuǎn)成實(shí)數(shù)后賦給后賦給a,b,c#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; printf(x1=%7.2fnx2=%7.2fn,x1,x2); return 0;輸出數(shù)據(jù)占輸出數(shù)據(jù)占7列,其中小數(shù)占列

28、,其中小數(shù)占2列列3.4.2 有關(guān)數(shù)據(jù)輸入輸出的概念有關(guān)數(shù)據(jù)輸入輸出的概念幾乎每一個(gè)C程序都包含輸入輸出輸入輸出是程序中最基本的操作之一3.4.2 有關(guān)數(shù)據(jù)輸入輸出的概念有關(guān)數(shù)據(jù)輸入輸出的概念(1) 所謂輸入輸出是以計(jì)算機(jī)主機(jī)為主體而言的從計(jì)算機(jī)向輸出設(shè)備(如顯示器、打印機(jī)等)輸出數(shù)據(jù)稱為輸出從輸入設(shè)備如鍵盤、磁盤、光盤、掃描儀等向計(jì)算機(jī)輸入數(shù)據(jù)稱為輸入3.4.2 有關(guān)數(shù)據(jù)輸入輸出的概念有關(guān)數(shù)據(jù)輸入輸出的概念(2) 語(yǔ)言本身不提供輸入輸出語(yǔ)句輸入和輸出操作是由C標(biāo)準(zhǔn)函數(shù)庫(kù)中的函數(shù)來(lái)實(shí)現(xiàn)的printf和scanf不是語(yǔ)言的關(guān)鍵字,而只是庫(kù)函數(shù)的名字putchar、getchar、puts、get

29、s3.4.2 有關(guān)數(shù)據(jù)輸入輸出的概念有關(guān)數(shù)據(jù)輸入輸出的概念(3)在使用輸入輸出函數(shù)時(shí),要在程序文件的開頭用預(yù)編譯指令#include 或#include stdio.h3.4.3 用用printf函數(shù)輸出數(shù)據(jù)函數(shù)輸出數(shù)據(jù)在C程序中用來(lái)實(shí)現(xiàn)輸出和輸入的,主要是printf函數(shù)和scanf函數(shù)這兩個(gè)函數(shù)是格式輸入輸出函數(shù)用這兩個(gè)函數(shù)時(shí),必須指定格式3.4.3 用用printf函數(shù)輸出數(shù)據(jù)函數(shù)輸出數(shù)據(jù)1.printf函數(shù)的一般格式printf格式控制,輸出表列)例如:printf(”i=%d,c=%cn”,i,c);格式聲明格式聲明3.4.3 用用printf函數(shù)輸出數(shù)據(jù)函數(shù)輸出數(shù)據(jù)1.printf

30、函數(shù)的一般格式printf格式控制,輸出表列)例如:printf(”i=%d,c=%cn”,i,c);普通字符普通字符3.4.3 用用printf函數(shù)輸出數(shù)據(jù)函數(shù)輸出數(shù)據(jù)1.printf函數(shù)的一般格式printf格式控制,輸出表列)例如:printf(”i=%d,c=%cn”,i,c);可以是常量、變量或表達(dá)式可以是常量、變量或表達(dá)式3.4.3 用用printf函數(shù)輸出數(shù)據(jù)函數(shù)輸出數(shù)據(jù)2. 常用格式字符格式符。用來(lái)輸出一個(gè)有符號(hào)的十進(jìn)制整數(shù)可以在格式聲明中指定輸出數(shù)據(jù)的域?qū)?printf(”%5d%5dn”,12,-345);%d輸出int型數(shù)據(jù)%ld輸出long型數(shù)據(jù)3.4.3 用用prin

31、tf函數(shù)輸出數(shù)據(jù)函數(shù)輸出數(shù)據(jù)2. 常用格式字符格式符。用來(lái)輸出一個(gè)字符 char ch=a; printf(”%c”,ch); 或 printf(”%5c”,ch);輸出字符:輸出字符:a3.4.3 用用printf函數(shù)輸出數(shù)據(jù)函數(shù)輸出數(shù)據(jù)2. 常用格式字符格式符。用來(lái)輸出一個(gè)字符串 printf(”%s”,”CHINA”); 輸出字符串:輸出字符串:CHINA3.4.3 用用printf函數(shù)輸出數(shù)據(jù)函數(shù)輸出數(shù)據(jù)2. 常用格式字符f格式符。用來(lái)輸出實(shí)數(shù),以小數(shù)形式輸出不指定數(shù)據(jù)寬度和小數(shù)位數(shù),用%f 例3.6 用%f輸出實(shí)數(shù),只能得到位小數(shù)。 double a=1.0; printf(”%fn

32、”,a/3);3.4.3 用用printf函數(shù)輸出數(shù)據(jù)函數(shù)輸出數(shù)據(jù)2. 常用格式字符f格式符。用來(lái)輸出實(shí)數(shù),以小數(shù)形式輸出 指定數(shù)據(jù)寬度和小數(shù)位數(shù)。用%m.nf printf(%20.15fn,1/3); printf(%.0fn”,10000/3.0);3.4.3 用用printf函數(shù)輸出數(shù)據(jù)函數(shù)輸出數(shù)據(jù)2. 常用格式字符f格式符。用來(lái)輸出實(shí)數(shù),以小數(shù)形式輸出 指定數(shù)據(jù)寬度和小數(shù)位數(shù)。用%m.nf float a; a=10000/3.0; printf(%fn,a);3.4.3 用用printf函數(shù)輸出數(shù)據(jù)函數(shù)輸出數(shù)據(jù)2. 常用格式字符f格式符。用來(lái)輸出實(shí)數(shù),以小數(shù)形式輸出 輸出的數(shù)據(jù)向左

33、對(duì)齊,用%-m.nf3.4.3 用用printf函數(shù)輸出數(shù)據(jù)函數(shù)輸出數(shù)據(jù)2. 常用格式字符f格式符。用來(lái)輸出實(shí)數(shù),以小數(shù)形式輸出float型數(shù)據(jù)只能保證6位有效數(shù)字double型數(shù)據(jù)能保證15位有效數(shù)字計(jì)算機(jī)輸出的數(shù)字不都是絕對(duì)精確有效的3.4.3 用用printf函數(shù)輸出數(shù)據(jù)函數(shù)輸出數(shù)據(jù)2. 常用格式字符e格式符。指定以指數(shù)形式輸出實(shí)數(shù)%e,VC+給出小數(shù)位數(shù)為位 指數(shù)部分占5列 小數(shù)點(diǎn)前必須有而且只有1位非零數(shù)字 printf(”%e”,123.456); 輸出:1.234560 e+0023.4.3 用用printf函數(shù)輸出數(shù)據(jù)函數(shù)輸出數(shù)據(jù)2. 常用格式字符e格式符。指定以指數(shù)形式輸出實(shí)

34、數(shù)%m.ne printf(”%13.2e”,123.456); 輸出: 1.23e+002 (前面有4個(gè)空格)3.4.4 用用scanf函數(shù)輸入數(shù)據(jù)函數(shù)輸入數(shù)據(jù)1. scanf 函數(shù)的一般形式 scanf格式控制,地址表列)含義同含義同printf函數(shù)函數(shù)3.4.4 用用scanf函數(shù)輸入數(shù)據(jù)函數(shù)輸入數(shù)據(jù)1. scanf 函數(shù)的一般形式 scanf格式控制,地址表列)可以是變量的地址,或字可以是變量的地址,或字符串的首地址符串的首地址3.4.4 用用scanf函數(shù)輸入數(shù)據(jù)函數(shù)輸入數(shù)據(jù)2. scanf函數(shù)中的格式聲明與printf函數(shù)中的格式聲明相似以開場(chǎng),以一個(gè)格式字符結(jié)束,中間可以插入附加

35、的字符scanf(a=%f,b=%f,c=%f,&a,&b,&c);3.4.4 用用scanf函數(shù)輸入數(shù)據(jù)函數(shù)輸入數(shù)據(jù)3.使用scanf函數(shù)時(shí)應(yīng)注意的問(wèn)題scanf(”%f%f%f”,a,b,c); 錯(cuò)scanf(”%f%f%f”,&a,&b,&c); 對(duì)對(duì)于scanf(a=%f,b=%f,c=%f,&a,&b,&c); 1 3 2 錯(cuò) a=1,b=3,c=2 對(duì) a=1 b=3 c=2 錯(cuò)3.4.4 用用scanf函數(shù)輸入數(shù)據(jù)函數(shù)輸入數(shù)據(jù)3.使用scanf函數(shù)時(shí)應(yīng)注意的問(wèn)題對(duì)于scanf(”%c%c%c”,&c1

36、,&c2,&c3); abc 對(duì) a b c 錯(cuò)對(duì)于scanf(”%d%c%f”,&a,&b,&c);若輸入 1234a123o.263.4.4 用用scanf函數(shù)輸入數(shù)據(jù)函數(shù)輸入數(shù)據(jù)3.使用scanf函數(shù)時(shí)應(yīng)注意的問(wèn)題對(duì)于scanf(”%c%c%c”,&c1,&c2,&c3); abc 對(duì) a b c 錯(cuò)對(duì)于scanf(”%d%c%f”,&a,&b,&c);若輸入 1234a123o.263.4.4 用用scanf函數(shù)輸入數(shù)據(jù)函數(shù)輸入數(shù)據(jù)3.使用scanf函數(shù)時(shí)應(yīng)注意的問(wèn)題對(duì)于scanf(”%c%c%c”

37、,&c1,&c2,&c3); abc 對(duì) a b c 錯(cuò)對(duì)于scanf(”%d%c%f”,&a,&b,&c);若輸入 1234a123o.263.4.5 字符數(shù)據(jù)的輸入輸出字符數(shù)據(jù)的輸入輸出1.用putchar函數(shù)輸出一個(gè)字符從計(jì)算機(jī)向顯示器輸出一個(gè)字符 putchar函數(shù)的一般形式為: putchar(c) 3.4.5 字符數(shù)據(jù)的輸入輸出字符數(shù)據(jù)的輸入輸出例3.8 先后輸出BOY三個(gè)字符。 解題思路:定義3個(gè)字符變量,分別賦以初值B、O、Y用putchar函數(shù)輸出這3個(gè)字符變量的值 3.4.5 字符數(shù)據(jù)的輸入輸出字符數(shù)據(jù)的輸入輸出#include int main ( ) char a=B,b=O,c=Y; putchar(a); putchar(b); putchar(c); putchar (n); return 0; 向顯示器輸出字符向顯示器輸出字符B向顯示器輸出換行符向顯示器輸出換行符3.4.5 字符數(shù)據(jù)的輸入輸出字符數(shù)據(jù)的輸入輸出#include int main ( ) char a=B,b=O,c=Y; putchar(a); putchar(b); putc

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論