c語言程序設(shè)計第1章.ppt_第1頁
c語言程序設(shè)計第1章.ppt_第2頁
c語言程序設(shè)計第1章.ppt_第3頁
c語言程序設(shè)計第1章.ppt_第4頁
c語言程序設(shè)計第1章.ppt_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、C 語言程序設(shè)計,電話QQ: 1515982968,朱素欽,讓我們共同回憶,計算機(jī)系統(tǒng),硬件,軟件,運(yùn)算器,控制器,存儲器,輸入設(shè)備,輸出設(shè)備,系統(tǒng)軟件,應(yīng)用軟件,操作系統(tǒng),數(shù)據(jù)庫系統(tǒng),程序設(shè)計語言與 語言處理程序,機(jī)器語言,匯編語言,高級語言:C語言、 Fortran、Pascal 、 JAVA 、C+,高級語言分類:解釋型、編譯型,C語言與自然語言的比較,第1章 程序設(shè)計概述,內(nèi)容提要 1.1 程序和程序設(shè)計語言 1.2 算法 1.3 結(jié)構(gòu)化程序設(shè)計 課程要求:多上機(jī)練習(xí),1.1 程序和程序設(shè)計語言,1.1.1 程序與程序設(shè)計的概念 程序(Program)是使用編

2、程語言按序設(shè)計的計算機(jī)指令的集合。 程序設(shè)計(Programming)是為求解特定問題而編寫的正確有效的程序。 程序設(shè)計語言:編寫程序所用的語言。 計算機(jī)科學(xué)家沃思(Nikiklaus )提出的公式: 數(shù)據(jù)結(jié)構(gòu)+算法=程序,描述數(shù)據(jù)的類型、組織形式,描述對數(shù)據(jù)的操作步驟,1.1.2 程序設(shè)計語言,例如:,0 0 1 0 0 0 1 1 1 1 1 0 1 1 0 1 0 1 1 0 0 0 0 1 0 1 1 1 0 1 1 0,機(jī)器語言程序,源程序需要 翻譯,高級語言的翻譯:,編譯方法,解釋方法,C程序的上機(jī)步驟,開始,編輯,編譯,有錯?,連接,執(zhí)行,結(jié)束,結(jié)果正確,源程序 f.c,目標(biāo)程

3、序f.obj,庫函數(shù)目標(biāo)程序,可執(zhí)行程序f.exe,有,無,不正確,正確,1.編輯 生成c源程序文件, 擴(kuò)展名為.C 2.編譯 生成目標(biāo)文件, 擴(kuò)展名為.OBJ 3.連接 將目標(biāo)程序和 庫函數(shù)及其他目標(biāo)程序 連接起來, 生成可執(zhí)行文件, 文件擴(kuò)展名為.EXE 4.執(zhí)行,1.1.4 設(shè)計程序的基本原則,(1)正確性 (2)有效性 (3)魯棒性 (4)可理解性 (5)可維護(hù)性 (6)可移植性,1.2 算法,1.2.1 算法的概念 做事情都有方法、步驟(順序)決定事情成敗 1.算法:計算機(jī)求解某一問題而采用的具體方法、步驟 2.兩大類計算機(jī)算法:數(shù)值運(yùn)算算法、非數(shù)值運(yùn)算算法 (求數(shù)值解、成熟)(事務(wù)

4、管理、廣泛) 3.算法的特性:有窮性、確定性、可行性、 0個或多個輸入、1個或多個輸出,1.2.2 算法的表示方法,1. 帶序號的自然語言描述(例1.1,例1.2) 易懂卻不直觀,不嚴(yán)格,2. 流程圖:靈活、自由、形象直觀 輸入/輸出處理判斷起止連接點流程線,3. N-S圖:完全去掉了帶箭頭的流程線,算法的所有處理步驟都寫在一個大矩形框中 處理判斷當(dāng)型循環(huán) 直到型循環(huán),4. 偽代碼:用介于自然語言與計算機(jī)語言之間的文字及符號來描述算法(方便、易懂、便于向計算機(jī)語言過度),A,A B,A,P,p,p,A,T,F,B,例1:計算S=1+2+3+99+100,寫出算法。,自然語言描述: 1. 0S單

5、元 2. 1i單元 3.判斷i100? 是,轉(zhuǎn)4;否則轉(zhuǎn)6 4. S+iS 5. i+1i,轉(zhuǎn)3 6. 輸出S的值,流程圖描述:,N-S圖描述:,偽代碼描述:,開始,0S,1i,S+iS,i+1i,i100,輸出S,結(jié)束,0S,1i,i100,S+iS,i+1i,輸出S的值,0S 1i while i100 S+iS i+1i print S,F,T,5用計算機(jī)語言描述算法(語言) #include /* stdio.h 文件中包含了函數(shù)printf的定義*/ void main() int i,S; S=0; i=1; while(i=100) S=S+i; i=i+1; printf(Th

6、e sum is: %d, S); ,1.3 結(jié)構(gòu)化程序設(shè)計,1.3.1 結(jié)構(gòu)化程序基本控制結(jié)構(gòu) 1966年提出三種基本結(jié)構(gòu),用這三種基本結(jié)構(gòu)作為一種 良好算法的基本單元:順序、選擇、循環(huán)。 任何復(fù)雜的算法都是由這三種基本結(jié)構(gòu)按一定規(guī)律組成。 1順序結(jié)構(gòu) 操作步驟按書寫的順序執(zhí)行,A,B,A,B,int a,b; a=3; b=4; c=a+b;,2選擇結(jié)構(gòu),T,F,A,B,P成立?,if(a0) printf(“%d”.a); else printf(“%d”,-a);,3循環(huán)結(jié)構(gòu) 根據(jù)條件P決定是否重復(fù)執(zhí)行循環(huán)體中 的操作,sum=0; i=1; while(i=100) sum=sum+i; i+; ,sum=0; i=1; do sum=sum+i; i+; while(i=100);,1.3.2 結(jié)構(gòu)化程序設(shè)計方法,三種基本結(jié)構(gòu)的共同特點 單入口單出口 結(jié)構(gòu)內(nèi)的每一部分都有機(jī)會被執(zhí)行 不存在“死循環(huán)” 結(jié)構(gòu)化程序設(shè)計的優(yōu)點 用三種基本結(jié)構(gòu)組成的程序是結(jié)構(gòu)化程序 優(yōu)點:易編、易讀、易懂、易維護(hù) 強(qiáng)調(diào)程序設(shè)計風(fēng)格和程序結(jié)構(gòu)的規(guī)范化 核心思想:自頂向下、逐步細(xì)化、 模塊化設(shè)計、結(jié)構(gòu)化編碼 如:學(xué)校辦公自動化系統(tǒng),小結(jié),程序的相關(guān)概念 算法及算法的描述方法 結(jié)構(gòu)化程序設(shè)計,習(xí) 題,7仿照教材例1.3-1.6分別用程序流程圖、N-S圖

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論