C語言-第章-計(jì)算機(jī)的組成與程序設(shè)計(jì)基礎(chǔ)課件_第1頁
C語言-第章-計(jì)算機(jī)的組成與程序設(shè)計(jì)基礎(chǔ)課件_第2頁
C語言-第章-計(jì)算機(jī)的組成與程序設(shè)計(jì)基礎(chǔ)課件_第3頁
C語言-第章-計(jì)算機(jī)的組成與程序設(shè)計(jì)基礎(chǔ)課件_第4頁
C語言-第章-計(jì)算機(jī)的組成與程序設(shè)計(jì)基礎(chǔ)課件_第5頁
已閱讀5頁,還剩53頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

大家好1第1章計(jì)算機(jī)的組成與程序設(shè)計(jì)基礎(chǔ)1.1計(jì)算機(jī)的組成及基本工作原理一個(gè)完整的計(jì)算機(jī)系統(tǒng)應(yīng)包括兩個(gè)部分,即硬件系統(tǒng)和軟件系統(tǒng):1.計(jì)算機(jī)硬件的基本結(jié)構(gòu)計(jì)算機(jī)已發(fā)展成由巨型機(jī)、小巨型機(jī)、大型機(jī)、小型機(jī)、微型機(jī)組成的一個(gè)龐大“家族”。

這個(gè)家族中的成員盡管在規(guī)模、結(jié)構(gòu)、性能和應(yīng)用等方面存在著一定差異,但它們的基本硬件結(jié)構(gòu)仍沿用著馮·諾依曼設(shè)計(jì)的傳統(tǒng)結(jié)構(gòu)。即由運(yùn)算器、控制器、存儲(chǔ)器、輸入設(shè)備和輸出設(shè)備五大部分組成。1.1.1計(jì)算機(jī)硬件的系統(tǒng)計(jì)算機(jī)基本硬件結(jié)構(gòu)運(yùn)算器:進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算的部件寄存器ALU寄存器ArithmeticandLogicUnit算術(shù)運(yùn)算:

+-×÷邏輯運(yùn)算:

AND,OR,NOT計(jì)算機(jī)系統(tǒng)組成:運(yùn)算器計(jì)算機(jī)系統(tǒng)組成:控制器控制器:指揮中心,指揮各部件協(xié)調(diào)的工作。控制器程序計(jì)數(shù)器PC指令寄存器IR操作控制器指令譯碼器ID存放將要被執(zhí)行的指令地址,有自動(dòng)加1的功能。存放當(dāng)前要執(zhí)行的指令代碼。識(shí)別和翻譯指令,產(chǎn)生相應(yīng)的操作控制信號(hào)。根據(jù)譯碼器的譯碼結(jié)果,產(chǎn)生出實(shí)現(xiàn)該指令的全部動(dòng)作的控制信號(hào)。計(jì)算機(jī)系統(tǒng)組成:存儲(chǔ)器存儲(chǔ)器:存儲(chǔ)程序和數(shù)據(jù)*內(nèi)存:存儲(chǔ)正在運(yùn)行的程序和數(shù)據(jù)以及中間結(jié)果、最終結(jié)果。10110110存儲(chǔ)內(nèi)容20H存儲(chǔ)地址地址寄存器地址總線數(shù)據(jù)總線地址譯碼器讀寫控制電路讀寫命令*外存:用來長期存儲(chǔ)暫時(shí)不使用的程序和數(shù)據(jù)。存儲(chǔ)位(bit)存儲(chǔ)單元(byte)存儲(chǔ)體存儲(chǔ)單元地址0000H0001H0002HFFFFH存儲(chǔ)體結(jié)構(gòu)圖計(jì)算機(jī)系統(tǒng)組成:I/O設(shè)備輸入設(shè)備

(標(biāo)準(zhǔn))輸出設(shè)備

(標(biāo)準(zhǔn))將用戶的程序、數(shù)據(jù)和命令輸入到內(nèi)存的設(shè)備。將內(nèi)存中的處理結(jié)果顯示或打印等的設(shè)備。硬件系統(tǒng)主機(jī)外部設(shè)備整個(gè)系統(tǒng)運(yùn)行的物理平臺(tái)

硬件系統(tǒng)的核心是主機(jī),主機(jī)的核心是CPU計(jì)算機(jī)硬件的配置兼容性問題打印機(jī)、顯示器、顯示卡、網(wǎng)卡、調(diào)制解調(diào)器、閃盤、寬帶接入點(diǎn)。。。安裝設(shè)備專用的驅(qū)動(dòng)程序Windows自動(dòng)檢測或

“控制面板”“添加硬件”進(jìn)入安裝向?qū)В斎胩崾镜男畔?.1.2計(jì)算機(jī)的軟件系統(tǒng)軟件概念及分類軟件相關(guān)概念計(jì)算機(jī)語言軟件(Software)

:概念及分類軟件:程序+文檔+數(shù)據(jù)程序?qū)τ?jì)算任務(wù)的處理對(duì)象和處理規(guī)則的一種描述可執(zhí)行程序:機(jī)器指令的序列高級(jí)語言程序:用某種程序設(shè)計(jì)語言描述的語句序列數(shù)據(jù)和文檔程序的說明資料;保存在二級(jí)存儲(chǔ)器(外存)上。軟件(Software)

:概念及分類操作系統(tǒng)硬件應(yīng)用軟件系統(tǒng)軟件:用來管理、維護(hù)計(jì)算機(jī)并協(xié)調(diào)計(jì)算

機(jī)各部件有效工作的軟件。(核心軟件是操作系統(tǒng))應(yīng)用軟件:實(shí)現(xiàn)具體應(yīng)用的軟件。軟件軟件:相關(guān)概念指令系統(tǒng):計(jì)算機(jī)能夠識(shí)別的所有指令的集合。

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

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

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

言,由二進(jìn)制數(shù)(0或1)排列組合而成。

計(jì)算機(jī)語言計(jì)算機(jī)語言是人與計(jì)算機(jī)交流的工具人使用程序設(shè)計(jì)語言來編制程序(程序設(shè)計(jì))來描述信息處理算法,通過語言處理系統(tǒng)來生成可執(zhí)行程序文件。計(jì)算機(jī)通過程序執(zhí)行來實(shí)現(xiàn)規(guī)定的信息處理語言分類機(jī)器語言匯編語言高級(jí)語言低級(jí)語言機(jī)器語言是二進(jìn)制形式表示的程序設(shè)計(jì)語言,是各種不同功能的機(jī)器指令的集合。例:10000000加 10010000減機(jī)器語言編寫的程序可以被計(jì)算機(jī)硬件識(shí)別、可直接執(zhí)行。(如:TC.EXE)特點(diǎn):與機(jī)器相關(guān),程序執(zhí)行效率高,編寫難度大,不便閱讀,調(diào)試修改困難,無法移植到其他計(jì)算機(jī)。匯編語言符號(hào)化的機(jī)器語言,也稱符號(hào)語言用助記符來表示機(jī)器指令,便于使用和記憶。 例:MOVAL,8 數(shù)據(jù)傳輸

ADDAL,9 加法計(jì)算特點(diǎn):語句與機(jī)器指令幾乎一一對(duì)應(yīng)程序可讀性優(yōu)于機(jī)器語言程序、其他優(yōu)缺點(diǎn)仍存在匯編語言指令是機(jī)器不能直接識(shí)別和執(zhí)行。要經(jīng)過翻譯程序。高級(jí)語言算法語言:用戶主要考慮解題算法的邏輯和過程的描述。更接近自然語言和數(shù)學(xué)語言,獨(dú)立于指令系統(tǒng),易于被用戶掌握、便于記憶、閱讀和理解,編程方便。常用的有:FORTRAN、PASCAL、BASIC、COBOL、C、C++、JAVA、PROLOG等。高級(jí)語言程序例C語言程序:main(){intal;al=8+9;printf(“%d\n”,al);}BASIC語言程序:10AL=8+920PRINTAL30END語言處理程序它是一個(gè)翻譯系統(tǒng),是將用戶用各種計(jì)算機(jī)語言編寫的源程序翻譯成計(jì)算機(jī)可識(shí)別的機(jī)器指令的軟件。如:匯編程序、編譯程序等計(jì)算機(jī)語言MOVA,15ADDA,10匯編語言:A=15A=A+10高級(jí)語言:10110000000011110010110000001010機(jī)器語言:執(zhí)行效率高低可讀性,通用性低高計(jì)算機(jī)語言:高級(jí)語言的執(zhí)行匯編語言源程序目標(biāo)程序.OBJ可執(zhí)行程序.EXE高級(jí)語言源程序編譯程序連接程序匯編程序匯編連接編譯1.1.3計(jì)算機(jī)工作原理內(nèi)存儲(chǔ)器外存儲(chǔ)器輸入設(shè)備輸出設(shè)備控制器運(yùn)算器操作系統(tǒng)Word軟件*計(jì)算機(jī)的工作過程就是執(zhí)行程序的過程計(jì)算機(jī)的工作原理

(存儲(chǔ)程序概念)1.利用存儲(chǔ)器(內(nèi)存)來存放要執(zhí)行的指令序列;2.中央處理器(CPU)依次從內(nèi)存讀出程序中的每條指令;3.逐條分析和執(zhí)行指令;4.直至執(zhí)行到最后一條指令。指令的執(zhí)行過程開始指令指令指令指令結(jié)束指令程序的執(zhí)行指令的執(zhí)行過程取出指令分析指令執(zhí)行指令從內(nèi)存某地址取出要執(zhí)行的指令把取出的指令送指令譯碼器,譯出對(duì)應(yīng)操作向相關(guān)部件發(fā)送控制命令,完成操作譯碼器操作控制器地址寄存器AR累加器暫存器通用寄存器程序計(jì)數(shù)器PC指令寄存器IR數(shù)據(jù)寄存器DRCPUALU存儲(chǔ)器地址指令或數(shù)據(jù)內(nèi)容20213031CLAADD30000006①③④地址總線數(shù)據(jù)總線②⑤000020000020000021CLACLA000000譯碼器操作控制器地址寄存器AR累加器暫存器通用寄存器程序計(jì)數(shù)器PC指令寄存器IR數(shù)據(jù)寄存器DRCPUALU存儲(chǔ)器地址指令或數(shù)據(jù)內(nèi)容20213031CLAADD30000006①③④地址總線數(shù)據(jù)總線②000021000022000021000000ADD30ADD30譯碼器操作控制器地址寄存器AR累加器暫存器通用寄存器程序計(jì)數(shù)器PC指令寄存器IR數(shù)據(jù)寄存器DRCPUALU存儲(chǔ)器地址指令或數(shù)據(jù)內(nèi)容20213031CLAADD30000006地址總線數(shù)據(jù)總線000021000022ADD30ADD30000000①③④②000030000006000006+0000060000061.2程序設(shè)計(jì)基礎(chǔ)知識(shí)結(jié)構(gòu)化程序設(shè)計(jì)

——描述問題的解決過程面向?qū)ο蟪绦蛟O(shè)計(jì) ——描述事物(即對(duì)象)以及事物之間的關(guān)系程序設(shè)計(jì)方法f(n)=n!=n*(n-1)*(n-2)*…*2*1main(){intn=10;ints=1;inti;for(i=n;i>0;i--) s=s*i;}良好的程序設(shè)計(jì)風(fēng)格:程序結(jié)構(gòu)清晰合理、代碼便于維護(hù),保證程序的質(zhì)量程序設(shè)計(jì)風(fēng)格

良好的程序設(shè)計(jì)風(fēng)格1.源程序文檔化標(biāo)識(shí)符的命名:見名知義sum、r、PI、area…良好的程序設(shè)計(jì)風(fēng)格1.源程序文檔化程序注釋序言性注釋:開始部分,如標(biāo)題、程序的主要功能、主要算法、程序作者…良好的程序設(shè)計(jì)風(fēng)格1.源程序文檔化程序注釋功能性注釋:程序中間,如變量的含義、語句的作用…良好的程序設(shè)計(jì)風(fēng)格1.源程序文檔化視覺組織:書寫程序時(shí)應(yīng)盡量清晰,如空格、空行、縮進(jìn)良好的程序設(shè)計(jì)風(fēng)格2.?dāng)?shù)據(jù)說明規(guī)范化當(dāng)一個(gè)說明語句說明多個(gè)變量時(shí),變量按照字母順序排列。使用注釋來說明復(fù)雜數(shù)據(jù)的結(jié)構(gòu)。良好的程序設(shè)計(jì)風(fēng)格3.語句構(gòu)造

清晰第一,效率第二A=A+BB=A-BA=A-B良好的程序設(shè)計(jì)風(fēng)格4.輸入和輸出盡可能方便用戶的使用

結(jié)構(gòu)化程序設(shè)計(jì)

軟件危機(jī)20世紀(jì)70年代,結(jié)構(gòu)化程序設(shè)計(jì)方法(structuredprogramming)結(jié)構(gòu)化程序設(shè)計(jì)方法引入一些工程的思想和結(jié)構(gòu)化思想,使大型軟件的開發(fā)和編程得到了改善。結(jié)構(gòu)化程序設(shè)計(jì)的原則

1)采用自頂向下、逐步細(xì)化的方法進(jìn)行設(shè)計(jì)2)采用模塊化原則和方法進(jìn)行設(shè)計(jì)將大型任務(wù)從上向下劃分為多個(gè)功能模塊,每個(gè)模塊又可以劃分為若干子模塊,然后分別進(jìn)行模塊程序的編寫。3)限制使用goto語句結(jié)構(gòu)化程序的基本結(jié)構(gòu)結(jié)構(gòu)化程序的基本結(jié)構(gòu):

順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)

順序結(jié)構(gòu)最基本、最常用、最簡單的結(jié)構(gòu)按照書寫順序依次執(zhí)行語句結(jié)構(gòu)化程序的基本結(jié)構(gòu)選擇結(jié)構(gòu)按照給定的條件判斷選擇執(zhí)行相應(yīng)的語句序列結(jié)構(gòu)化程序的基本結(jié)構(gòu)循環(huán)結(jié)構(gòu)通過循環(huán)控制條件來決定是否重復(fù)執(zhí)行相同的語句序列結(jié)構(gòu)化程序的基本結(jié)構(gòu)C語言概述48B語言:Bell實(shí)驗(yàn)室,1970年在PDP機(jī)器上用其編寫UNIX系統(tǒng)CPL語言:劍橋大學(xué),1963年BCPL語言:劍橋大學(xué),1967年C語言:Bell實(shí)驗(yàn)室,1972~1973年用其改寫UNIX系統(tǒng)經(jīng)簡化進(jìn)一步簡化保持精練、接近硬件的優(yōu)點(diǎn),克服數(shù)據(jù)類型過少的不足C語言的歷史C語言的標(biāo)準(zhǔn)化:K&RC(由BrianKernighan和

DennisRitchie共同制定)ANSIC(美國國家標(biāo)準(zhǔn)化協(xié)會(huì))ISOC(國際標(biāo)準(zhǔn)化組織

)C99目前廣泛流行的各種版本C語言編譯系統(tǒng):TurboC、VisualC++、QuickC、BORLANDC……49C語言的發(fā)展50語言簡潔,表達(dá)能力強(qiáng),易于理解只有32個(gè)關(guān)鍵字,9種控制語句數(shù)據(jù)構(gòu)造能力強(qiáng)運(yùn)算符豐富程序書寫格式自由可直接訪問物理地址,實(shí)現(xiàn)對(duì)硬件和低層系統(tǒng)軟件的訪問語言生成的代碼質(zhì)量高可移植性好C語言的特點(diǎn)51【例1.1】計(jì)算并輸出一個(gè)數(shù)a的平方。

voidmain(){

floata,b;a=5.2;b=a*a;printf("b=%f\n",b);}

main

為函數(shù)名程序從這里開始運(yùn)行函數(shù)體開始函數(shù)體結(jié)束函數(shù)體內(nèi)定義a,b為a賦值計(jì)算并輸出平方值b執(zhí)行程序的輸出結(jié)果為:b=27.039997

C程序的基本結(jié)構(gòu)52【例1.2】輸入兩個(gè)數(shù),輸出其中的大數(shù)。intmax(intx,inty)

/*max函數(shù)*/{

intz;if(x>y)z=x;elsez=y;return(z);}voidmain()

/*主函數(shù)*/{inta,b,c;scanf("%d,%d",&a,&b);c=max(a,b);/*調(diào)用max函數(shù),求a和b中大數(shù)*/

printf("max=%d\n",c);}C程序的基本結(jié)構(gòu)系統(tǒng)定義的函數(shù)用戶自定義函數(shù)53C程序由函數(shù)構(gòu)成必須有,且只能有一個(gè)main(主函數(shù))總是從main函數(shù)開始執(zhí)行兩類函數(shù):系統(tǒng)定義的函數(shù),即標(biāo)準(zhǔn)庫函數(shù)

用戶自定義的函數(shù)C程序的基本結(jié)構(gòu)函數(shù)由函數(shù)首部和

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論