程序設計基本概念課件_第1頁
程序設計基本概念課件_第2頁
程序設計基本概念課件_第3頁
程序設計基本概念課件_第4頁
程序設計基本概念課件_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第1章程序設計基本概念本章要點:1.1程序和程序設計1.2算法1.3結構化程序設計和模塊化結構第1章程序設計基本概念本章要點:11.1.1C程序程序是指人們存儲在計算機內部存儲器中,可以連續(xù)執(zhí)行的一條條指令的集合。它是人與機器進行“對話”的語言,也就是我們常說的“程序設計語言”。C語言是一種“高級語言”,另外的BASIC、PASCAL等也屬于高級語言。這些語言都是接近人們習慣的自然語言和數(shù)學語言作為語言的表達形式,人們學習和操作起來感到十分方便。但對于計算機本身來說,它并不能直接識別由高級語言編寫的程序,它只能接受和處理由0和1的代碼構成的二進制指令或數(shù)據(jù)。由于這種形式的指令是面向機器的,因此也稱為“機器語言”。1.1.1C程序2我們把由高級語言編寫的程序稱為“源程序”,由二進制代碼表示的程序稱為“目標程序”,而“編譯程序”是指可以把源程序轉換成目標程序的軟件,即可以把用戶按規(guī)定語法寫出的語句逐一翻譯成二進制的機器指令。每一種高級語言都有它對應的編譯程序。第1章程序設計基本概念-課件3每條C語句經過編譯(Compile)最終都將轉換成二進制的機器指令。由C語言構成的指令序列稱C源程序,按C語言的語法編寫C程序的過程,稱為C語言的代碼編寫。C語言源程序經過編譯后生成一個后綴為.OBJ的二進制文件(稱為目標文件),最后還要由“連接程序”(Link)將此.OBJ文件與C語言提供的各種庫函數(shù)連接起來生成一個后綴為.EXE的可執(zhí)行文件。在DOS狀態(tài)下,只須打入此文件的名字(不必打入后綴.EXE)就可以運行。每條C語句經過編譯(Compile)最終都將轉換成二進制4※重點提示:高級語言編寫的程序稱為“源程序”,二進制代碼表示的程序稱為“目標程序”,而“編譯程序”是指可以把源程序轉換成目標程序的軟件。每條C語句經過編譯(Compile)最終都將轉換成二進制的機器指令(.OBJ的文件)。最后由“連接程序”(Link)將此.OBJ文件與C語言提供的各種庫函數(shù)連接起來生成一個后綴為.EXE的可執(zhí)行文件?!攸c提示:5

1.1.2程序設計簡單的程序設計一般包括:1.根據(jù)要求確定存放數(shù)據(jù)的數(shù)據(jù)結構;2.針對數(shù)據(jù)結構來確定完成任務的步驟,即確定算法;3.根據(jù)1和2使用選定的計算機語言編寫程序代碼輸入到計算機中,即編程;4.調試程序,消除語法或邏輯錯誤,用各種可能的輸入數(shù)據(jù)對程序進行測試,對不合理的數(shù)據(jù)能進行適當?shù)奶幚恚?.整理并寫出文檔資料。1.1.261.2算法在編寫程序時,除了選定合理的數(shù)據(jù)結構外,還需要十分關鍵的一步就是設計算法,有了一個好的算法,就可以用任一種計算機高級語言把算法轉換為程序。算法是指為解決某個特定問題而采取的確定且有限的步驟。一個算法應具有以下五個特性:1.有窮性。2.確定性。3.可行性。4.有零個或多個輸入。5.有一個或多個輸出。1.2算法在編寫程序時,除了選定合理的數(shù)據(jù)結構外,還需7算法一般可以用以下三種方法來進行描述:1.偽代碼。它是一種近似高級語言但又不受語法約束的一種語言描述。2.流程圖。它也是描述算法的很好的工具。傳統(tǒng)的流程圖由圖1.1中所示的幾種基本框架組成。

圖1.1流程圖基本框架由這些框和流程線組成的流程圖來表示算法,形象直觀,簡單方便,但這種流程圖對于流程圖的走向沒有任何限制,可以任意轉向,在描述復雜算法時不易閱讀。算法一般可以用以下三種方法來進行描述:83.N-S流程圖。這種流程圖完全去掉了流程線,算法的每一步都用一個矩形框來描述,把一個個矩形框按執(zhí)行的次序連接起來就是一個完整的算法描述。在下一節(jié)結合三種基本的結構化程序設計來介紹這種流程圖的基本結構。一般我們最常用的描述方法是偽代碼和流程圖?!攸c提示:算法的5個特性分別是:有窮性,確定性,可行性,有零個或多個輸入以及有一個或多個輸出。3.N-S流程圖。這種流程圖完全去掉了流程線,算法的每一步91.3結構化程序設計和模塊化結構1.3.1結構化程序結構化程序由三種基本結構組成:1.順序結構順序結構的程序在執(zhí)行時按照先后順序逐條進行,沒有分支,沒有轉移。如后面章節(jié)中介紹的賦值語句、輸入、輸出語句等都可以構成順序結構。順序結構可用圖1.2所示的流程圖表示。1.3結構化程序設計和模塊化結構1.3.1結構化程序10圖1.2順序結構流程圖圖1.2順序結構流程圖112.選擇結構選擇結構的程序要根據(jù)不同的條件去執(zhí)行不同分支中的語句。如后面章節(jié)中介紹的if語句,switch語句等可以構成選擇結構。選擇結構可用圖1.3所示的流程圖表示。2.選擇結構12圖1.3選擇結構流程圖圖1.3選擇結構流程圖133.循環(huán)結構不同形式的循環(huán)結構要根據(jù)各自的條件,使同一組語句重復執(zhí)行多次或一次也不執(zhí)行。循環(huán)結構包括當型循環(huán)(如圖1.4所示)和直到型循環(huán)(如圖1.5所示)。當型循環(huán)的特點是:當指定的條件滿足時,就執(zhí)行循環(huán)體,否則就不執(zhí)行。直到型循環(huán)的特點是:執(zhí)行循環(huán)體直到指定的條件滿足,就不在執(zhí)行循環(huán)。3.循環(huán)結構14圖1.4當型循環(huán)圖1.4當型循環(huán)15圖1.5直到型循環(huán)※重點提示:結構化程序由三種基本結構組成:順序結構、選擇結構和循環(huán)結構。圖1.5直到型循環(huán)161.3.2模塊化結構計算機在處理復雜任務時,常常需要把這個大任務分解為若干個子任務,每個子任務又分成很多個小子任務,每個小子任務只完成一項簡單的功能。在程序設計時,用一個個小模塊來實現(xiàn)這些功能。我們稱這樣的程序設計方法為“模塊化”,由一個個功能模塊構成的程序結構就稱為模塊化結構。模塊化結構可以大大提高程序編制的效率。1.3.2模塊化結構17軟件人員在進行程序設計時,首先應集中考慮主程序中的算法,寫出主程序后再逐步完成子程序的調用。而對這些“子”程序也可以用調用主程序的方法逐步完成其下一層子程序的調用。這就是自頂向下、逐步細化、模塊化的程序設計。C語言是一種結構化程序設計語言。它直接提供了三種基本結構的語句,提供了定義“函數(shù)”的功能,在C語言中沒有子程序的概念,它提供的函數(shù)可以完成子程序的所有功能;C語言允許對函數(shù)單獨進行編譯,從而可以實現(xiàn)模塊化。軟件人員在進行程序設計時,首先應集中考慮主程序中的算法,18第1章程序設計基本概念本章要點:1.1程序和程序設計1.2算法1.3結構化程序設計和模塊化結構第1章程序設計基本概念本章要點:191.1.1C程序程序是指人們存儲在計算機內部存儲器中,可以連續(xù)執(zhí)行的一條條指令的集合。它是人與機器進行“對話”的語言,也就是我們常說的“程序設計語言”。C語言是一種“高級語言”,另外的BASIC、PASCAL等也屬于高級語言。這些語言都是接近人們習慣的自然語言和數(shù)學語言作為語言的表達形式,人們學習和操作起來感到十分方便。但對于計算機本身來說,它并不能直接識別由高級語言編寫的程序,它只能接受和處理由0和1的代碼構成的二進制指令或數(shù)據(jù)。由于這種形式的指令是面向機器的,因此也稱為“機器語言”。1.1.1C程序20我們把由高級語言編寫的程序稱為“源程序”,由二進制代碼表示的程序稱為“目標程序”,而“編譯程序”是指可以把源程序轉換成目標程序的軟件,即可以把用戶按規(guī)定語法寫出的語句逐一翻譯成二進制的機器指令。每一種高級語言都有它對應的編譯程序。第1章程序設計基本概念-課件21每條C語句經過編譯(Compile)最終都將轉換成二進制的機器指令。由C語言構成的指令序列稱C源程序,按C語言的語法編寫C程序的過程,稱為C語言的代碼編寫。C語言源程序經過編譯后生成一個后綴為.OBJ的二進制文件(稱為目標文件),最后還要由“連接程序”(Link)將此.OBJ文件與C語言提供的各種庫函數(shù)連接起來生成一個后綴為.EXE的可執(zhí)行文件。在DOS狀態(tài)下,只須打入此文件的名字(不必打入后綴.EXE)就可以運行。每條C語句經過編譯(Compile)最終都將轉換成二進制22※重點提示:高級語言編寫的程序稱為“源程序”,二進制代碼表示的程序稱為“目標程序”,而“編譯程序”是指可以把源程序轉換成目標程序的軟件。每條C語句經過編譯(Compile)最終都將轉換成二進制的機器指令(.OBJ的文件)。最后由“連接程序”(Link)將此.OBJ文件與C語言提供的各種庫函數(shù)連接起來生成一個后綴為.EXE的可執(zhí)行文件?!攸c提示:23

1.1.2程序設計簡單的程序設計一般包括:1.根據(jù)要求確定存放數(shù)據(jù)的數(shù)據(jù)結構;2.針對數(shù)據(jù)結構來確定完成任務的步驟,即確定算法;3.根據(jù)1和2使用選定的計算機語言編寫程序代碼輸入到計算機中,即編程;4.調試程序,消除語法或邏輯錯誤,用各種可能的輸入數(shù)據(jù)對程序進行測試,對不合理的數(shù)據(jù)能進行適當?shù)奶幚恚?.整理并寫出文檔資料。1.1.2241.2算法在編寫程序時,除了選定合理的數(shù)據(jù)結構外,還需要十分關鍵的一步就是設計算法,有了一個好的算法,就可以用任一種計算機高級語言把算法轉換為程序。算法是指為解決某個特定問題而采取的確定且有限的步驟。一個算法應具有以下五個特性:1.有窮性。2.確定性。3.可行性。4.有零個或多個輸入。5.有一個或多個輸出。1.2算法在編寫程序時,除了選定合理的數(shù)據(jù)結構外,還需25算法一般可以用以下三種方法來進行描述:1.偽代碼。它是一種近似高級語言但又不受語法約束的一種語言描述。2.流程圖。它也是描述算法的很好的工具。傳統(tǒng)的流程圖由圖1.1中所示的幾種基本框架組成。

圖1.1流程圖基本框架由這些框和流程線組成的流程圖來表示算法,形象直觀,簡單方便,但這種流程圖對于流程圖的走向沒有任何限制,可以任意轉向,在描述復雜算法時不易閱讀。算法一般可以用以下三種方法來進行描述:263.N-S流程圖。這種流程圖完全去掉了流程線,算法的每一步都用一個矩形框來描述,把一個個矩形框按執(zhí)行的次序連接起來就是一個完整的算法描述。在下一節(jié)結合三種基本的結構化程序設計來介紹這種流程圖的基本結構。一般我們最常用的描述方法是偽代碼和流程圖?!攸c提示:算法的5個特性分別是:有窮性,確定性,可行性,有零個或多個輸入以及有一個或多個輸出。3.N-S流程圖。這種流程圖完全去掉了流程線,算法的每一步271.3結構化程序設計和模塊化結構1.3.1結構化程序結構化程序由三種基本結構組成:1.順序結構順序結構的程序在執(zhí)行時按照先后順序逐條進行,沒有分支,沒有轉移。如后面章節(jié)中介紹的賦值語句、輸入、輸出語句等都可以構成順序結構。順序結構可用圖1.2所示的流程圖表示。1.3結構化程序設計和模塊化結構1.3.1結構化程序28圖1.2順序結構流程圖圖1.2順序結構流程圖292.選擇結構選擇結構的程序要根據(jù)不同的條件去執(zhí)行不同分支中的語句。如后面章節(jié)中介紹的if語句,switch語句等可以構成選擇結構。選擇結構可用圖1.3所示的流程圖表示。2.選擇結構30圖1.3選擇結構流程圖圖1.3選擇結構流程圖313.循環(huán)結構不同形式的循環(huán)結構要根據(jù)各自的條件,使同一組語句重復執(zhí)行多次或一次也不執(zhí)行。循環(huán)結構包括當型循環(huán)(如圖1.4所示)和直到型循環(huán)(如圖1.5所示)。當型循環(huán)的特點是:當指定的條件滿足時,就執(zhí)行循環(huán)體,否則就不執(zhí)行。直到型循環(huán)的特點是:執(zhí)行循環(huán)體直到指定的條件滿足,就不在執(zhí)行循環(huán)。3.循環(huán)結構32圖1.4當型循環(huán)圖1.4當型循環(huán)33圖1.5直到型循環(huán)※重點提示:結構化程序由三種基本結構組成:順序結構、選擇結構和循環(huán)結構。圖1.5直到型循環(huán)341.3.2模塊化結構計算機在處理復雜任務時,常常需要把這個大任務分解為若干個子任務,每個子任務又分成很多個小子任務,每個小子任務只完成一項簡單的功能。在程序設計時,用一個個小模塊來實現(xiàn)這些功能。我們稱這樣的程序設計方法為“模塊化”,由一個個功能模塊構成的程序結構就稱為模塊化結構。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論