第03章順序程序設(shè)計_第1頁
第03章順序程序設(shè)計_第2頁
第03章順序程序設(shè)計_第3頁
第03章順序程序設(shè)計_第4頁
第03章順序程序設(shè)計_第5頁
已閱讀5頁,還剩48頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、鄭州電子信息職業(yè)技術(shù)學(xué)院信息管理系鄭州電子信息職業(yè)技術(shù)學(xué)院信息管理系C語言程序設(shè)計課件語言程序設(shè)計課件 C語言程序設(shè)計課題組語言程序設(shè)計課題組 二二0一一0年七月年七月第三章 順序程序設(shè)計本章主要任務(wù):1、了解C語言語句分類:控制語句,表達式語句,復(fù)合語句。2、掌握表達式語句,復(fù)合語句的構(gòu)成。3、掌握格式化輸入/輸出函數(shù),常用其它輸入/輸出函數(shù)的使用。 4、了解算法概念、算法特性、算法表示、結(jié)構(gòu)化程序設(shè)計概念。5、了解結(jié)構(gòu)化流程圖、N-S流程圖。6、掌握順序結(jié)構(gòu)程序設(shè)計 一、C語句概述C語言的語句用來向計算機系統(tǒng)發(fā)出操作指令。C程序結(jié)構(gòu):一個C程序可以由若干個源程序文件組成,一個源文件可以由若

2、干個函數(shù)和預(yù)處理命令以及全局變量聲明部分組成,一個函數(shù)由數(shù)據(jù)定義部分和執(zhí)行語句組成。 C程序的組成C語句分類 1、控制語句C語句分類2、表達式語句表達式語句是在表達式最后加上一個“;”組成。例如: C語句分類3、復(fù)合語句用把一些語句(語句序列,表示一系列工作)括起來成為復(fù)合語句,又稱語句塊、分程序。一般情況凡是允許出現(xiàn)語句的地方都允許使用復(fù)合語句。在程序結(jié)構(gòu)上復(fù)合語句被看作一個整體的語句,但是內(nèi)部可能完成了一系列工作。 二、輸入/輸出及C語言的實現(xiàn) 1、計算機的組成CPU內(nèi)存I/O接口硬盤軟驅(qū)顯示器鍵盤鼠標(biāo)打印機主機外圍設(shè)備輸入/輸出2、輸入/輸出:從計算機向外部設(shè)備(如顯示器、打印機、磁盤等

3、)輸出數(shù)據(jù)稱為“輸出”, 從外部設(shè)備(如鍵盤、鼠標(biāo)、掃描儀、光盤、磁盤)向計算機輸入數(shù)據(jù)稱為“輸入”。輸入/輸出是以計算機主機為主體而言的。C語言的輸入輸出3、C語言本身不提供輸入/輸出語句,輸入/輸出操作由函數(shù)實現(xiàn)。在C標(biāo)準(zhǔn)函數(shù)庫中提供了一些輸入/輸出函數(shù),如printf函數(shù),scanf函數(shù)。不要將兩者看作是輸入/輸出語句。實際上完全可以不用這兩個函數(shù),而另外編制輸入/輸出函數(shù)。 C語言的輸入輸出C函數(shù)庫中有一批“標(biāo)準(zhǔn)輸入/輸出函數(shù)”,它是以標(biāo)準(zhǔn)的輸入/輸出設(shè)備(一般為終端)為輸入/輸出對象的。其中有:putchar(輸出字符),getchar(輸入字符),printf(格式化輸出),sca

4、nf(格式化輸入),puts(輸出字符串),gets(輸入字符串)。printf函數(shù)(格式輸出函數(shù))功能:按照用戶指定的格式,向系統(tǒng)隱含的輸出設(shè)備(終端)輸出若干個任意類型的數(shù)據(jù)。一般格式: printf(格式控制字符串,輸出表列) ;printf函數(shù)格式格式控制“格式控制”字符串是用雙引號括起來的字符串,它指定輸出數(shù)據(jù)項的類型和格式。包括兩種信息:格式說明項格式說明項:由“%”和格式字符組成,如%d,%f等。格式說明總是由“%”字符開始,到格式字符終止。它的作用是將輸出的數(shù)據(jù)項轉(zhuǎn)換為指定的格式輸出。輸出表列中的每個數(shù)據(jù)項對應(yīng)一個格式說明項。普通字符普通字符:即需要原樣輸出的字符。輸出列表“輸

5、出列表”:是需要輸出的一些數(shù)據(jù)項,可以是表達式。 格式字符 1、d格式符。用來輸出十進制整數(shù)。%d,按照數(shù)據(jù)的實際長度輸出%md,m指定輸出字段的寬度(整數(shù))。如果數(shù)據(jù)的位數(shù)小于m,則左端補以空格(右對齊),若大于m,則按照實際位數(shù)輸出。%-md,m指定輸出字段的寬度(整數(shù))。如果數(shù)據(jù)的位數(shù)小于m,則右端補以空格(左對齊),若大于m,則按照實際位數(shù)輸出。 %ld,輸出長整型數(shù)據(jù),也可以指定寬度%mld。 格式字符2、O格式符。以八進制形式輸出整數(shù)。 3、x格式符。以十六進制形式輸出整數(shù)。 4、u格式符。用來輸出unsigned無符號型數(shù)據(jù),即無符號數(shù),以十進制形式輸出。 格式字符5、c格式符。

6、用來輸出一個字符。一個整數(shù)只要它的值在0-255范圍內(nèi),也可以用字符形式輸出。反之,一個字符數(shù)據(jù)也可以用整數(shù)形式輸出。 6、s格式符。用來輸出一個字符串。 7、f格式符。用來輸出實數(shù)(包括單、雙精度,單雙精度格式符相同),以小數(shù)形式輸出。 格式字符格式字符應(yīng)用舉例scanf函數(shù)輸入格式說明輸入注意事項1、scanf函數(shù)中“格式控制”后面應(yīng)當(dāng)是變量地址,而不應(yīng)是變量名。 例如:scanf(“%d,%d”,a,b);不合法。原因:C是傳值調(diào)用,不能由形參返回值輸入注意事項2、如果在“格式控制”字符串中除了格式說明以外還有其它字符,則在輸入數(shù)據(jù)時在對應(yīng)位置應(yīng)當(dāng)輸入與這些字符相同的字符。建議不要使用其

7、它的字符。輸入注意事項3、在用“%c”格式輸入字符時,空格字符和轉(zhuǎn)義字符都作為有效字符輸入。%c只要求讀入一個字符,后面不需要用空格作為兩個字符的間隔。輸入注意事項4、在輸入數(shù)據(jù)時,遇到下面情況認(rèn)為該數(shù)據(jù)結(jié)束: (1)遇到空格,或按“回車”或“跳格”(tab)鍵。(2)按指定的寬度結(jié)束。(3)遇到非法的輸入。輸入注意事項其它輸入/輸出函數(shù) 1、putchar函數(shù)(字符輸出函數(shù))。2、getchar函數(shù)(字符輸入函數(shù))。3、puts函數(shù)(字符串、字符數(shù)組中字符串輸出函數(shù))。4、gets函數(shù)(字符串輸入函數(shù))。 putchar函數(shù)(字符輸出函數(shù))一般形式:putchar(字符表達式);功能:向終端

8、(顯示器)輸出一個字符(可以是可顯示的字符,也可以是控制字符或其它轉(zhuǎn)義字符)。例如:putchar(y); putchar(n); putchar(101); putchar(); getchar函數(shù)(字符輸入函數(shù))一般形式:c=getchar();功能:從終端(鍵盤)輸入一個字符,以回車鍵確認(rèn)。函數(shù)的返回值就是輸入的字符。 puts函數(shù)(字符串、字符數(shù)組中字符串輸出函數(shù))一般形式:puts(char *str);功能:將字符串或字符數(shù)組中存放的字符串輸出到顯示器上。例如:putstr(“ChinanBeijingn”); gets函數(shù)(字符串輸入函數(shù))一般形式:gets(char *str)

9、;功能:接收從鍵盤輸入的一個字符串,存放在字符數(shù)組中。例如:char s81;gets(s);算法與程序設(shè)計1、算法及其表示方法。2、結(jié)構(gòu)化程序設(shè)計。3、算法設(shè)計舉例。算法及其表示方法算法:為解決一個問題而采取的方法和步驟稱為“算法”。對于同一個問題可以有不同的解題方法和步驟,也就是有不同的算法。算法有優(yōu)劣,一般而言,應(yīng)當(dāng)選擇簡單的、運算步驟少的,既運算快、內(nèi)存開銷小的算法(算法的時空效率)。 算法的5大特性1、有窮性2、確定性3、有0個或多個輸入(即:可以沒有輸入,也可以有輸入)。4、有1個或多個輸出(即算法必須得到結(jié)果)。5、有效性。算法的表示方法1、用自然語言表示算法 。2、用流程圖表示

10、算法。3、用N-S流程圖表示算法(盒圖)。4、用偽代碼表示算法(常常用于算法設(shè)計) 5、用計算機語言表示算法 。用自然語言表示算法算法可以用自然語言描述的。自然語言就是人們?nèi)粘J褂玫恼Z言,可以是漢語、英語或其它語言。用自然語言表示通俗易懂,但文字冗長,容易出現(xiàn)歧義。自然語言表示的含義往往不太嚴(yán)格,要根據(jù)上下文才能準(zhǔn)確判斷其含義。此外,用自然語言描述分支和循環(huán)的算法,不是很直觀。因此,除了簡單問題,一般不采用自然語言描述算法。 用流程圖表示算法流程圖的基本元素1、起止框:表示算法的開始和結(jié)束。一般內(nèi)部只寫“開始”或“結(jié)束”。 2、處理框:表示算法的某個處理步驟,一般內(nèi)部常常填寫賦值操作。3、輸入

11、輸出框:表示算法請求輸入輸入需要的數(shù)據(jù)或算法將某些結(jié)果輸出。一般內(nèi)部常常填寫“輸入”,“打印/顯示” 。流程圖的基本元素4、菱形框(判斷框):作用主要是對一個給定條件進行判斷,根據(jù)給定的條件是否成立來決定如何執(zhí)行其后的操作。它有一個入口,兩個出口。 5、連接點:用于將畫在不同地方的流程線連接起來。同一個編號的點是相互連接在一起的,實際上同一編號的點是同一個點,只是畫不下才分開畫。使用連接點,還可以避免流程線的交叉或過長,使流程圖更加清晰。 流程圖的基本元素注釋框:注釋框不是流程圖中必須的部分,不反映流程和操作,它只是對流程圖中某些框的操作做必要的補充說明,以幫助閱讀流程圖的人更好地理解流程圖的

12、作用。 采用流程圖繪制的三種結(jié)構(gòu)AB選擇結(jié)構(gòu)pABpA順序結(jié)構(gòu)pA循環(huán)結(jié)構(gòu)pANYYN當(dāng)型循環(huán) 直到型循環(huán)abababababp-選擇條件p-循環(huán)條件YNNY流程圖的使用特點用流程圖表示的算法直觀形象,比較清楚地顯示出各個框之間的邏輯關(guān)系,因此得到廣泛使用。每一個程序編制人員都應(yīng)當(dāng)熟練掌握流程圖,會看會畫。(軟件專業(yè)水平、資格考試也用這種流程圖表示)。N-S圖美國學(xué)者I.Nassi,B.Shneiderman提出了一種新的流程圖N-S流程圖。這種流程圖中,完全去掉了帶箭頭的流程線。每種結(jié)構(gòu)用一個矩形框表示。 N-S圖繪制的三種基本結(jié)構(gòu) N-S圖的使用特點1、比文字描述更加直觀、形象,易于理解; 2、比傳統(tǒng)的流程圖緊湊易畫 3、廢除流程線,整個算法結(jié)構(gòu)是由各個基本結(jié)構(gòu)按順序組成。N-S流程圖的上下順序就是執(zhí)行時的順序。N-S圖表示的算法都是結(jié)構(gòu)化的算法。 算法設(shè)計舉例例4-2:對于一個大于或者等于3的正整數(shù),判斷它是不是一個素數(shù)。(素數(shù),是指除了1和該數(shù)本身之外,不能被其它任何整數(shù)整除的數(shù))(疑問?1,2是否是素數(shù))分析 根據(jù)素數(shù)定義,對于一個3的正整數(shù)n,如果n只能被1,n整除,那么n是素數(shù);也就是素數(shù)必須滿足兩個條件:1、是3的正整數(shù) 2、只能被1和自

溫馨提示

  • 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)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論