順序結(jié)構(gòu)程序設(shè)計(jì)-1.ppt_第1頁(yè)
順序結(jié)構(gòu)程序設(shè)計(jì)-1.ppt_第2頁(yè)
順序結(jié)構(gòu)程序設(shè)計(jì)-1.ppt_第3頁(yè)
順序結(jié)構(gòu)程序設(shè)計(jì)-1.ppt_第4頁(yè)
順序結(jié)構(gòu)程序設(shè)計(jì)-1.ppt_第5頁(yè)
已閱讀5頁(yè),還剩26頁(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、1,上節(jié)課練習(xí)2,include void main() printf(“3+4=%dn”,3+4); printf(“2*3.14*2.6=%fn”,2*3.14*2.6); printf(“某學(xué)生的成績(jī)是%Cn”,A); printf(“%d+%d=%dn”,3,4,3+4);,printf的用法: “”中有三種符號(hào):一種直接在屏幕上輸出,例如:3+4=;第二種是以%開(kāi)頭,稱為格式說(shuō)明符(表4-1),用來(lái)表示輸出數(shù)據(jù)的格式-整數(shù)(%d),小數(shù)(%f)或字符(%c);第三種是以開(kāi)頭,稱為轉(zhuǎn)義字符,具體含義請(qǐng)查表3-3,例如:n表示回車(chē)。%3d與%7.2f表明數(shù)據(jù)輸出的寬度(詳見(jiàn)表4-2)。

2、“”以外的數(shù)據(jù)就是要輸出的數(shù)據(jù),當(dāng)然在輸出之前要先計(jì)算。如果有多個(gè)數(shù)據(jù)輸出,則必須用逗號(hào)分開(kāi),同時(shí)要有多個(gè)格式說(shuō)明符與輸出數(shù)據(jù)一一對(duì)應(yīng),2,再次強(qiáng)調(diào)學(xué)習(xí)方法,練習(xí)!練習(xí)!練習(xí)! 具體步驟: 課下參照教材理解課件上所講的內(nèi)容和相關(guān)知識(shí)點(diǎn) 一定重新做一遍例題,再上機(jī)測(cè)試和驗(yàn)證,這樣才能加深印象,提高學(xué)習(xí)效率和效果) 務(wù)必在消化了上課內(nèi)容以外,再完成作業(yè) temp=a; a=b; b=temp; printf(“a=%d,b=%dn”,a,b);,該語(yǔ)句含義為:在內(nèi)存中申請(qǐng)三個(gè)整型變量需要的空間,并分別命名為a,b,temp,然后在a,b中各存入123,456的二進(jìn)制表示,此三條語(yǔ)句的含義為:借用t

3、emp,交換a,b的值,5,例1執(zhí)行過(guò)程圖示,內(nèi) 存 空 間,每個(gè)空間稱做一個(gè)字節(jié),每個(gè)字節(jié)對(duì)應(yīng)一個(gè)內(nèi)存地址,123的二進(jìn)制表示,456的二進(jìn)制表示,123的二進(jìn)制表示,456的二進(jìn)制表示,123的二進(jìn)制表示,6,例1中涉及的知識(shí)點(diǎn),數(shù)據(jù)有常量與變量之分 不同的變量要用不同的變量名加以區(qū)分。另外,要存儲(chǔ)變量,就必須提前申請(qǐng)內(nèi)存空間,由于不同的數(shù)據(jù)類(lèi)型的編碼方式和所占空間不同,所以在申請(qǐng)時(shí)必須寫(xiě)明變量的數(shù)據(jù)類(lèi)型。 在C語(yǔ)言中,有三種基本數(shù)據(jù)類(lèi)型:整數(shù)類(lèi)型(int)、實(shí)數(shù)類(lèi)型(float和double)、字符類(lèi)型(char),分別用對(duì)應(yīng)的詞表示。 稱為賦值運(yùn)算符,不是等號(hào),即將右邊的值賦給左邊的變

4、量。所以,左邊一定得是一個(gè)變量,不能是表達(dá)式或常量,7,程序的基本順序,定義變量(申請(qǐng)內(nèi)存空間) 為變量賦值或輸入數(shù)據(jù) 計(jì)算或處理 輸出結(jié)果,8,三種結(jié)構(gòu),順序結(jié)構(gòu),選擇結(jié)構(gòu),循環(huán)結(jié)構(gòu),計(jì)算機(jī)解決問(wèn)題只有以下三種思路,9,算法,寫(xiě)程序之前要把思路寫(xiě)出來(lái)寫(xiě)算法。 算法:為解決一個(gè)問(wèn)題而采取的具體方法和步驟。 算法的主要表示方式: (1)自然語(yǔ)言描述 (2)流程圖描述 (3)N-S盒圖 (4)偽碼表示法,10,流程圖,這是一種圖語(yǔ)言表示法,它用一些不同的圖例來(lái)表示算法的流程。常用的圖例主要有如下幾種,每個(gè)人都要學(xué)會(huì)寫(xiě)流程圖, 并養(yǎng)成寫(xiě)程序之前一定寫(xiě)流程圖的習(xí)慣,11,算法的描述N-S圖,既然用基本

5、結(jié)構(gòu)的順序組合可以表示任何復(fù)雜的算法結(jié)構(gòu),那么,基本結(jié)構(gòu)之間的流程線就屬多余的了。1973年美國(guó)兩學(xué)者I.Nassi和B.Shneiderman提出了一種新的流程圖形式,并以他們的名字命名為NS結(jié)構(gòu)化流程圖。這種流程圖完全去掉了帶箭頭的流程線,全部算法寫(xiě)在一個(gè)矩形框內(nèi),在該框內(nèi)還可以包括其他的從屬于它的框,即由一些基本的框組成一個(gè)大框。這種NS流程圖十分適合結(jié)構(gòu)化程序設(shè)計(jì),因而很受歡迎,三種基本結(jié)構(gòu)對(duì)應(yīng)的NS圖符號(hào),順序結(jié)構(gòu) 選擇結(jié)構(gòu) 當(dāng)(while)型循環(huán)結(jié)構(gòu) 直到(until)型循環(huán)結(jié)構(gòu),12,先寫(xiě)思路(算法,程序的基本框架 定義變量 為變量賦值 計(jì)算或處理 輸出結(jié)果,此題框架 定義變量r

6、, cir 為r賦值 Cir=2r 輸出cir,例2:編寫(xiě)C程序計(jì)算圓的周長(zhǎng),13,第1步、定義變量-分析,本例中需要申請(qǐng)幾個(gè)變量呢? 三個(gè),分別存儲(chǔ)半徑、周長(zhǎng)。 它們又分別是什么類(lèi)型呢? 均是實(shí)數(shù)類(lèi)型float。 相應(yīng)的C語(yǔ)句格式是什么? float r,cir,14,第2步、輸入半徑-分析,如何實(shí)現(xiàn)輸入呢? 用庫(kù)函數(shù)scanf() 具體格式為:scanf(“%f”, 其語(yǔ)義為:從鍵盤(pán)上輸入一個(gè)實(shí)數(shù),存入變量r所對(duì)應(yīng)的內(nèi)存地址,內(nèi)表示輸入數(shù)據(jù)的格式. 與printf不同的是,這里只寫(xiě)格式說(shuō)明符。 “”外寫(xiě)輸入的數(shù)據(jù)要存到哪個(gè)變量中去。與printf不同的是,所有變量前都要加 /* 計(jì)算周長(zhǎng)

7、*,注意C語(yǔ)言中表達(dá)式的寫(xiě)法: 每個(gè)運(yùn)算符(例如:*)必須明確地寫(xiě)出 必須寫(xiě)成一行,沒(méi)有上角標(biāo)和下角標(biāo)等。 (例如:求面積要寫(xiě)成area=3.14*r*r; ) 因?yàn)樵阪I盤(pán)上不存在,所以,用3.14代替,這里,2和3.14稱為常量,它們也有類(lèi)型; =是賦值運(yùn)算符,表示把其右邊的值賦給左邊的變量,16,第4步、輸出結(jié)果,printf(cir = %fn , cir,注意: “”里和“”外的兩個(gè)cir不同。前者是直接輸出在屏幕上,后者要將cir變量的值輸出在%d對(duì)應(yīng)的位置。因此,本句也可以寫(xiě)成: printf(circumference = %fn , cir); 總之,除了輸出數(shù)據(jù)與%開(kāi)頭的格式

8、說(shuō)明符必須在個(gè)數(shù)、類(lèi)型和順序上一致外,“”里具體的格式可根據(jù)實(shí)際需要自行確定。只要讓用戶看得清楚和明白即可,17,例2完整源程序,include /*程序功能:根據(jù)輸入的半徑,輸出圓的周長(zhǎng)*/ void main() float r, cir; /* 定義實(shí)數(shù)變量*/ scanf( %f , /* 輸出周長(zhǎng)*/,可以上機(jī)調(diào)試了,18,更完善的程序,include #define PI 3.14 /*程序功能:根據(jù)輸入的半徑,輸出圓的周長(zhǎng)*/ void main() float r, cir; /* 定義實(shí)數(shù)變量*/ printf(“請(qǐng)輸入半徑:”); scanf( %f , /* 輸出周長(zhǎng)*/

9、,定義一個(gè)符號(hào)常量PI為3.14,下邊可直接使用,方便調(diào)整所有PI的精度 第二個(gè)編譯預(yù)處理命令:宏替換或宏定義命令 習(xí)慣:常量名大寫(xiě),程序應(yīng)該具備良好的人機(jī)交互能力。 即輸入輸出都要直觀,讓用戶看得懂,19,課堂練習(xí),先做例題,再完成以下練習(xí): 計(jì)算圓的面積 求兩個(gè)整數(shù)的平均值,課堂上沒(méi)完成的留作課后作業(yè)。 所有課堂練習(xí)與課后作業(yè)一起于課后兩天內(nèi)上交,20,常見(jiàn)錯(cuò)誤(現(xiàn)場(chǎng)總結(jié),21,涉及到的語(yǔ)法知識(shí)-標(biāo)識(shí)符與關(guān)鍵字,標(biāo)識(shí)符 標(biāo)識(shí)符是變量,函數(shù),標(biāo)號(hào)等的名字或標(biāo)記 兩類(lèi): 系統(tǒng)定義的標(biāo)識(shí)符,例如:printf、scanf、main等 用戶自己定義的,自己定義標(biāo)識(shí)符時(shí)要考慮如下問(wèn)題: 只能用字母、

10、 數(shù)字和下劃線,并且第一個(gè)字母只能是字母或下劃線; 不能與關(guān)鍵字(系統(tǒng)保留的特殊詞匯)相同; 區(qū)分大小寫(xiě),即R和r是兩個(gè)不同變量。 為便于閱讀和理解,對(duì)象的取名盡可能直觀,最好不要用系統(tǒng)定義的標(biāo)識(shí)符。 關(guān)鍵字 我們已經(jīng)學(xué)的有:short long int float double char void,22,涉及到的語(yǔ)法知識(shí)-數(shù)據(jù)類(lèi)型,23,基本數(shù)據(jù)類(lèi)型,int 整數(shù),在目前絕大多數(shù)機(jī)器上占4個(gè)字節(jié)。TC2中是2個(gè)字節(jié) float 單精度浮點(diǎn)數(shù),一般是4個(gè)字節(jié)長(zhǎng) double 雙精度浮點(diǎn)數(shù),一般是8個(gè)字節(jié)長(zhǎng) char 字符,一般是1個(gè)字節(jié)長(zhǎng) 用來(lái)表示256個(gè)ASCII字符,或者0255的整數(shù),注

11、意:字符類(lèi)型與整數(shù)類(lèi)型在一定范圍內(nèi)可互相轉(zhuǎn)換。即將字符的ASCII碼等同于一個(gè)整數(shù),24,數(shù)據(jù)類(lèi)型修飾符,short short int的簡(jiǎn)寫(xiě),短整數(shù),一般2個(gè)字節(jié)長(zhǎng)??珊?jiǎn)寫(xiě)為short long long int,長(zhǎng)整數(shù),一般是4個(gè)字節(jié)長(zhǎng)。通常簡(jiǎn)寫(xiě)為long long double,長(zhǎng)雙精度(高精度)浮點(diǎn)數(shù),一般是10個(gè)字節(jié)長(zhǎng)。 signed 用來(lái)修飾char、int、short和long,說(shuō)明他們是有符號(hào)的整數(shù)(正整數(shù)、0和負(fù)整數(shù))。一般缺省都是有符號(hào)的,所以這個(gè)修飾符通常省略 unsigned 用來(lái)修飾char、int、short和long,說(shuō)明他們是無(wú)符號(hào)的整數(shù)(正整數(shù)和0,請(qǐng)大家課下

12、親自計(jì)算一下每種數(shù)據(jù)類(lèi)型能夠表達(dá)的數(shù)據(jù)范圍! 并思考或?qū)嶒?yàn):若計(jì)算的數(shù)據(jù)超出范圍會(huì)怎樣,25,C語(yǔ)言承認(rèn)的基本數(shù)據(jù)類(lèi)型,char short int int long int,signed(或unsigned,float double long double,26,數(shù)據(jù)類(lèi)型與內(nèi)存空間,不同的編譯器可能有不同的結(jié)果 用sizeof()求得,不要靠經(jīng)驗(yàn),include void main() printf(Data type Number of bytesn); printf(- -n); printf(char %dn, sizeof(char); printf(int %dn, sizeof(

13、int); printf(short int %dn, sizeof(short); printf(long int %dn, sizeof(long); printf(float %dn, sizeof(float); printf(double %dn, sizeof(double);,sizeof(3)和sizeof(3.0)的結(jié)果又是什么呢? 分別是int和double類(lèi)型的所占內(nèi)存的字節(jié)數(shù),在VC上是4和8, 定義數(shù)據(jù)類(lèi)型時(shí)要不僅要考慮數(shù)據(jù)的類(lèi)型,還要考慮數(shù)據(jù)的大小,以免出現(xiàn)溢出,27,涉及到的語(yǔ)法知識(shí)-變量,使用變量的基本原則 變量必須先定義,后使用,為什么? 所有變量必須在第一條

14、可執(zhí)行語(yǔ)句前定義 變量的類(lèi)型要根據(jù)實(shí)際情況(數(shù)據(jù)類(lèi)型及范圍)設(shè)定,否則導(dǎo)致類(lèi)型溢出和舍入誤差。 一條聲明語(yǔ)句可聲明若干個(gè)同類(lèi)型的變量 聲明變量,是初始化變量的最好時(shí)機(jī) 不被初始化的變量,其值為危險(xiǎn)的隨機(jī)數(shù) 例: unsigned int x, y, sum = 0; char esc = a; float eps = 1.5,28,涉及到的語(yǔ)法知識(shí)-常數(shù)與常量,常量,字符串常量:用雙引號(hào)引起來(lái),系統(tǒng)最后自動(dòng)加0。如:”Hello”,”a,枚舉常量(枚舉元素,思考:3與3有何不同,“a”與a有何不同,還有一種常量稱為符號(hào)常量 例: #define PI 3.14159 格式: #define 符號(hào)常量名 常量,29,涉及到的語(yǔ)法知識(shí)-輸入輸出,C語(yǔ)言中的輸入輸出由庫(kù)函數(shù)實(shí)現(xiàn) printf()和scanf(

溫馨提示

  • 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)論