C語言程序設計計算機的組成與程序設計基礎_第1頁
C語言程序設計計算機的組成與程序設計基礎_第2頁
C語言程序設計計算機的組成與程序設計基礎_第3頁
C語言程序設計計算機的組成與程序設計基礎_第4頁
C語言程序設計計算機的組成與程序設計基礎_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

會計學1C語言程序設計計算機的組成與程序設計基礎1.1計算機的組成及基本工作原理一個完整的計算機系統(tǒng)應包括兩個部分,即硬件系統(tǒng)和軟件系統(tǒng),如表1-1所示。第1頁/共37頁第2頁/共37頁1.計算機硬件的基本結(jié)構(gòu)當今計算機已發(fā)展成由巨型機、小巨型機、大型機、小型機、微型機組成的一個龐大“家族”。這個家族中的成員盡管在規(guī)模、結(jié)構(gòu)、性能和應用等方面存在著一定差異,但它們的基本硬件結(jié)構(gòu)仍沿用著馮·諾依曼設計的傳統(tǒng)結(jié)構(gòu)。即由運算器、控制器、存儲器、輸入設備和輸出設備五部分組成。一個計算機的基本硬件結(jié)構(gòu)圖如圖1-1所示:1.1.1計算機硬件的系統(tǒng)第3頁/共37頁第4頁/共37頁運算器:進行算術(shù)運算和邏輯運算的部件寄存器ALU寄存器ArithmeticandLogicUnit算術(shù)運算:

+-×÷邏輯運算:

AND,OR,NOT計算機系統(tǒng)組成:運算器第5頁/共37頁計算機系統(tǒng)組成:控制器控制器:指揮中心,指揮各部件協(xié)調(diào)的工作。存放將要被執(zhí)行的指令地址,有自動加1的功能。存放當前要執(zhí)行的指令代碼。識別和翻譯指令,產(chǎn)生相應的操作控制信號。根據(jù)譯碼器的譯碼結(jié)果,產(chǎn)生出實現(xiàn)該指令的全部動作的控制信號。第6頁/共37頁計算機系統(tǒng)組成:存儲器存儲器:存儲程序和數(shù)據(jù)內(nèi)存:存儲正在運行的程序和數(shù)據(jù)以及中間結(jié)果、最終結(jié)果。10110110存儲內(nèi)容20H存儲地址地址寄存器地址總線數(shù)據(jù)總線地址譯碼器讀寫控制電路讀寫命令第7頁/共37頁計算機系統(tǒng)組成:I/O設備輸入設備輸出設備第8頁/共37頁硬件系統(tǒng)主機外部設備整個系統(tǒng)運行的物理平臺

硬件系統(tǒng)的核心是主機,主機的核心是CPU第9頁/共37頁1.1.2計算機的軟件系統(tǒng)軟件概念及分類軟件相關(guān)概念計算機語言第10頁/共37頁軟件:概念及分類軟件:程序+文檔+數(shù)據(jù)系統(tǒng)軟件:用來管理、維護計算機并協(xié)調(diào)計算

機各部件有效工作的軟件。應用軟件:實現(xiàn)具體應用的軟件。軟件操作系統(tǒng)硬件應用軟件第11頁/共37頁軟件:相關(guān)概念指令系統(tǒng):計算機能夠識別的所有指令的集合。

※不同類型的計算機所識別的指令和指令系統(tǒng)是不一樣的。面向機器,通用性差。

15→A指令:計算機能夠識別并執(zhí)行的“操作命令”

指令=操作碼+操作數(shù)例:1011000000001111程序:為解決某一問題而設計的一系列指令或語句。機器語言:計算機能唯一識別并可直接執(zhí)行的語

言,由二進制數(shù)(0或1)排列組合而成。第12頁/共37頁軟件:計算機語言MOVA,15ADDA,10匯編語言:A=15A=A+10高級語言:10110000000011110010110000001010機器語言:執(zhí)行效率高低可讀性,通用性低高第13頁/共37頁計算機語言:高級語言的執(zhí)行匯編語言源程序目標程序.OBJ可執(zhí)行程序.EXE高級語言源程序編譯程序連接程序匯編程序匯編連接編譯第14頁/共37頁1.1.3計算機工作原理內(nèi)存儲器外存儲器輸入設備輸出設備控制器運算器操作系統(tǒng)Word軟件*計算機的工作過程就是執(zhí)行程序的過程第15頁/共37頁指令的執(zhí)行過程開始指令指令指令指令結(jié)束指令程序的執(zhí)行指令的執(zhí)行過程取出指令分析指令執(zhí)行指令從內(nèi)存某地址取出要執(zhí)行的指令把取出的指令送指令譯碼器,譯出對應操作向相關(guān)部件發(fā)送控制命令,完成操作第16頁/共37頁譯碼器操作控制器地址寄存器AR累加器暫存器通用寄存器程序計數(shù)器PC指令寄存器IR數(shù)據(jù)寄存器DRCPUALU存儲器地址指令或數(shù)據(jù)內(nèi)容20213031CLAADD30000006①③④地址總線數(shù)據(jù)總線②⑤000020000020000021CLACLA000000第17頁/共37頁譯碼器操作控制器地址寄存器AR累加器暫存器通用寄存器程序計數(shù)器PC指令寄存器IR數(shù)據(jù)寄存器DRCPUALU存儲器地址指令或數(shù)據(jù)內(nèi)容20213031CLAADD30000006①③④地址總線數(shù)據(jù)總線②000021000022000021000000ADD30ADD30第18頁/共37頁譯碼器操作控制器地址寄存器AR累加器暫存器通用寄存器程序計數(shù)器PC指令寄存器IR數(shù)據(jù)寄存器DRCPUALU存儲器地址指令或數(shù)據(jù)內(nèi)容20213031CLAADD30000006地址總線數(shù)據(jù)總線000021000022ADD30ADD30000000①③④②000030000006000006+000006000006第19頁/共37頁程序設計基礎知識第20頁/共37頁

程序設計是一門技術(shù),需要相應的理論、技術(shù)、方法和工具來支持。就程序設計方法和技術(shù)的發(fā)展而言,經(jīng)過了結(jié)構(gòu)化程序設計和面向?qū)ο蟮某绦蛟O計階段。除了好的程序設計方法和技術(shù)之外,程序設計風格也是很重要的。因為程序設計風格會深刻影響軟件的質(zhì)量和可維護性,良好的程序設計風格可以使程序結(jié)構(gòu)清晰合理,使程序代碼便于維護,因此,程序設計風格對保證程序的質(zhì)量是很重要的。

程序設計方法與風格

第21頁/共37頁程序設計方法與風格(續(xù))要形成良好的程序設計風格,應考慮以下幾個因素:1.源程序文檔化

源程序文檔化一般要考慮:標識符的命名、程序注釋信息、視覺組織等幾個方面。標識符的命名應遵循“見名知義”的原則。程序注釋信息應能幫助讀者正確理解整個程序。

注釋信息一般包括序言性注釋和功能性注釋。所謂序言性注釋一般位于程序的開始部分,主要包括:標題、程序的主要功能、主要算法、程序作者等。所謂功能性注釋一般位于程序的中間,主要描述變量的含義、語句的作用等。視覺組織主要是書寫程序時應盡量清晰便于閱讀,一般利用空格、空行、縮進等技巧。第22頁/共37頁程序設計方法與風格(續(xù))2.數(shù)據(jù)說明的方法數(shù)據(jù)說明的次序規(guī)范化。鑒于程序理解、閱讀和維護的需要,使數(shù)據(jù)說明次序固定。當一個說明語句說明多個變量時,變量按照字母順序排列。使用注釋來說明復雜數(shù)據(jù)的結(jié)構(gòu)。第23頁/共37頁程序設計方法與風格(續(xù))

3.語句構(gòu)造除非對效率有特殊要求,程序編寫要做到清晰第一,效率第二。

A=A+BB=A-BA=A-B4.輸入和輸出輸入和輸出信息是用戶直接關(guān)心的,輸入和輸出方式和格式應盡可能方便用戶的使用。第24頁/共37頁

結(jié)構(gòu)化程序設計

由于軟件危機的出現(xiàn),人們開始研究程序設計方法,其中最受關(guān)注的是結(jié)構(gòu)化程序設計方法。20世紀70年代提出了“結(jié)構(gòu)化程序設計(structuredprogramming)”的思想和方法。結(jié)構(gòu)化程序設計方法引入了一些工程的思想和結(jié)構(gòu)化思想,使大型軟件的開發(fā)和編程都得到了一些改善。

第25頁/共37頁結(jié)構(gòu)化程序設計的原則

1)采用自頂向下、逐步細化的方法進行設計;2)采用模塊化原則和方法進行設計;即將大型任務從上向下劃分為多個功能模塊,每個模塊又可以劃分為若干子模塊,然后分別進行模塊程序的編寫。3)限制使用goto語句。第26頁/共37頁結(jié)構(gòu)化程序設計的原則

結(jié)構(gòu)化程序設計方法的主要原則可以概括為自頂向下逐步求精模塊化限制使用goto語句第27頁/共37頁結(jié)構(gòu)化程序的基本結(jié)構(gòu)與特點

結(jié)構(gòu)化程序的基本結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)、重復結(jié)構(gòu)。第28頁/共37頁

1.順序結(jié)構(gòu)順序結(jié)構(gòu)是程序的最基本、最常用的結(jié)構(gòu),也是最簡單的程序結(jié)構(gòu)。它是按照書寫順序依次執(zhí)行語句的結(jié)構(gòu),如圖1-5所示。第29頁/共37頁

(a)流程圖(b)N-S結(jié)構(gòu)圖圖1-5順序結(jié)構(gòu)第30頁/共37頁2.選擇結(jié)構(gòu)選擇結(jié)構(gòu)又稱為分支結(jié)構(gòu),這種結(jié)構(gòu)是按照給定的條件判斷選擇執(zhí)行相應的語句序列,如圖1-6所示。分支結(jié)構(gòu)一般根據(jù)條件判別來決定執(zhí)行哪一個程序分支,滿足條件則執(zhí)行語句序列A,不滿足條件,則執(zhí)行語句序列B。通常,CPU每執(zhí)行完一條指令后,便自動執(zhí)行下一條指令,但分支結(jié)構(gòu)的執(zhí)行可以改變程序的執(zhí)行流程。第31頁/共37頁

(a)流程圖(b)N-S結(jié)構(gòu)圖圖1-6選擇結(jié)構(gòu)

第32頁/共37頁3.循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)又稱為重復結(jié)構(gòu),通過循環(huán)控制條件來決定是否重復執(zhí)行相同的語句序列。在計算機程序設計語言中,一般包括兩種類型的循環(huán):當型循環(huán)(如圖1

溫馨提示

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

評論

0/150

提交評論