




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
會(huì)計(jì)學(xué)1C語(yǔ)言程序設(shè)計(jì)0909092023/1/172內(nèi)容提要計(jì)算機(jī)組成及工作過(guò)程機(jī)器語(yǔ)言程序設(shè)計(jì)由低級(jí)語(yǔ)言到高級(jí)語(yǔ)言Cisthemostbeautifullanguage!C程序開(kāi)發(fā)過(guò)程第1頁(yè)/共27頁(yè)2023/1/173計(jì)算機(jī)及其組成
計(jì)算工具:石器時(shí)代:石頭、手指、繩子……銅器時(shí)代:算籌(商周時(shí)代)、格子(西方)鐵器時(shí)代:算盤(pán)計(jì)算機(jī):(comput+er):用于計(jì)算的機(jī)器,用來(lái)處理存儲(chǔ)的數(shù)據(jù),處理和存儲(chǔ)是一個(gè)整體.計(jì)算機(jī)的組成:硬件系統(tǒng)+軟件系統(tǒng)
物質(zhì)基礎(chǔ)加在硬件之上,控制硬件完成功能通過(guò)程序設(shè)計(jì)語(yǔ)言來(lái)開(kāi)發(fā)軟件第2頁(yè)/共27頁(yè)2023/1/174馮·諾依曼的程序存儲(chǔ)思想“計(jì)算機(jī)之父”——馮·諾依曼的程序存儲(chǔ)思想:計(jì)算機(jī)應(yīng)該采用二進(jìn)制操作指令也是一種信息,也用二進(jìn)制數(shù)表示程序和數(shù)據(jù)的存儲(chǔ)形式可以完全相同程序本身也可包含數(shù)據(jù)第3頁(yè)/共27頁(yè)2023/1/175關(guān)于第一臺(tái)計(jì)算機(jī)
1946.2.14ENIAC(埃尼阿克)現(xiàn)在保存在賓夕法尼亞大學(xué)這臺(tái)機(jī)器名為“電子數(shù)值積分和計(jì)算機(jī)”(簡(jiǎn)稱(chēng)埃尼阿克,完全是一個(gè)龐然大物,占地面積達(dá)170m2,質(zhì)量達(dá)30t,耗電量也很驚人,功率為150kW,共使用了近兩萬(wàn)個(gè)電子管,在工作時(shí)這些管子看上去活像兩萬(wàn)只點(diǎn)著的燈泡。埃尼阿克主要用來(lái)進(jìn)行彈道計(jì)算的數(shù)值分析第4頁(yè)/共27頁(yè)2023/1/176其他版本的第一臺(tái)計(jì)算機(jī)
圖靈機(jī):計(jì)算機(jī)科學(xué)之父、人工智能之父,”圖靈獎(jiǎng)”德國(guó)人ConranEuse代號(hào)為“Z”的計(jì)算機(jī)哈佛,IBM的Mark系列大型電子計(jì)算機(jī)真正的第一臺(tái)計(jì)算機(jī)是上面三臺(tái)中之一,無(wú)從考證第5頁(yè)/共27頁(yè)2023/1/177控制總線(xiàn)CPU計(jì)算機(jī)硬件的組成運(yùn)算器控制器存儲(chǔ)器接口輸入設(shè)備輸出設(shè)備地址總線(xiàn)數(shù)據(jù)總線(xiàn)進(jìn)行各種算術(shù)運(yùn)算和邏輯運(yùn)算
控制和指揮整個(gè)運(yùn)算過(guò)程,使指令按要求一條一條執(zhí)行。
存放程序指令及數(shù)據(jù)
輸入指令代碼和原始數(shù)據(jù)顯示或打印計(jì)算結(jié)果處理第6頁(yè)/共27頁(yè)2023/1/178關(guān)于二進(jìn)制問(wèn)題“世界上有10種人,一種人懂二進(jìn)制,另一種人不懂”這里的10是一個(gè)二進(jìn)制數(shù),就是十進(jìn)制的2第7頁(yè)/共27頁(yè)2023/1/179關(guān)于二進(jìn)制等進(jìn)制問(wèn)題進(jìn)制每位符號(hào)逢幾進(jìn)一位權(quán)n位數(shù)的不同個(gè)數(shù)例子(結(jié)果統(tǒng)一到十進(jìn)制)十0~91010i10n341=3*102+4*101+1*100=341二0~122i2n101=1*22+0*21+1*20=5八0~788i8n127=1*82+2*81+7*80=87十六0~9A~F1616i16n31D=3*162+1*161+13*160=797另:3位二進(jìn)制數(shù)相當(dāng)于1位八進(jìn)制數(shù):101011B=(53)8=53Q4位二進(jìn)制數(shù)相當(dāng)于1位十六進(jìn)制數(shù):11011001B=(D9)16=D9H=d9H第8頁(yè)/共27頁(yè)2023/1/1710關(guān)于存儲(chǔ)器存儲(chǔ)器的組成:由存儲(chǔ)單元組成,每個(gè)單元1個(gè)字節(jié)(1B),1B=8bit,每個(gè)單元有一個(gè)地址。存儲(chǔ)單元中的內(nèi)容與存儲(chǔ)單元的地址是兩個(gè)概念,其區(qū)別如同房間里的東西與房間號(hào)碼。存儲(chǔ)器的大小指它有多少個(gè)字節(jié),也就是有多少個(gè)不同的地址號(hào),取決于地址總線(xiàn)的根數(shù),n根地址總線(xiàn),存儲(chǔ)器容量為:2n常用存儲(chǔ)單位:1TB=210GB=220MB=230KB=240B存儲(chǔ)器按功能分為3大區(qū)域:程序存儲(chǔ)區(qū)、數(shù)據(jù)存儲(chǔ)區(qū)和棧存放程序中的指令存放程序中的數(shù)據(jù)存取數(shù)據(jù)都在一端,無(wú)需計(jì)算地址,速度快
第9頁(yè)/共27頁(yè)2023/1/1711關(guān)于CPUCPU:CentralProcessorUnit,中央處理器,完成各種處理(運(yùn)算+控制),是計(jì)算機(jī)最核心部件。CPU中設(shè)寄存器的目的:存放數(shù)據(jù)或計(jì)算的中間結(jié)果,不通過(guò)地址總線(xiàn)和數(shù)據(jù)總線(xiàn),處理速度快。寄存器有兩種:通用寄存器和專(zhuān)用寄存器。熟悉兩個(gè)專(zhuān)用寄存器:(1)累加器A:與算術(shù)邏輯運(yùn)算器ALU一起完成各種運(yùn)算(2)程序計(jì)數(shù)器PC:寄存指令的地址,CPU通過(guò)PC取來(lái)一條指令執(zhí)行時(shí),PC便“指向”下一條指令,即PC的值變?yōu)橄乱粭l將要執(zhí)行的指令的地址。除非遇到轉(zhuǎn)移指令或子程序調(diào)用指令,CPU都是通過(guò)PC順序地提取指令。是運(yùn)算器的組成部分,暫存操作數(shù)及運(yùn)算的中間結(jié)果
每一個(gè)都有特定的作用
第10頁(yè)/共27頁(yè)2023/1/1712機(jī)器內(nèi)部執(zhí)行程序的過(guò)程示例程序是一組指令,指令聯(lián)系著存儲(chǔ)器和CPU,每條指令有操作碼,有的指令有操作數(shù),指令存儲(chǔ)在程序存儲(chǔ)區(qū),操作數(shù)存儲(chǔ)在數(shù)據(jù)存儲(chǔ)區(qū)。例:求和程序y=3+4所包含的指令如下:操作碼操作數(shù)指令含義01H3000H將地址為3000H的單元中的數(shù)據(jù)放入累加器A03H3001H將地址為3001H單元中的數(shù)據(jù)與累加器A中的數(shù)據(jù)相加,結(jié)果留在A02H3002H將累加器A中的數(shù)據(jù)存入地址為3002H的單元07H停機(jī)動(dòng)態(tài)演示過(guò)程第11頁(yè)/共27頁(yè)2023/1/1713機(jī)器語(yǔ)言程序設(shè)計(jì)對(duì)計(jì)算機(jī)而言:它的各個(gè)硬件部分存在的意義和相互的聯(lián)系通過(guò)指令來(lái)體現(xiàn)。對(duì)程序設(shè)計(jì)而言:計(jì)算機(jī)就是指令系統(tǒng)。用機(jī)器語(yǔ)言進(jìn)行程序設(shè)計(jì):首先要熟悉計(jì)算機(jī)的指令系統(tǒng),熟悉每一條指令的含義及用法。設(shè)計(jì)算法,根據(jù)算法編寫(xiě)程序。所編寫(xiě)的計(jì)算機(jī)程序體現(xiàn)為一系列指令的集合,每條指令的操作碼和操作數(shù)都用二進(jìn)制數(shù)表示。用機(jī)器語(yǔ)言編寫(xiě)的源程序就是機(jī)器能識(shí)別并執(zhí)行的目標(biāo)程序。第12頁(yè)/共27頁(yè)2023/1/1714一臺(tái)模型機(jī)的指令系統(tǒng)指令名稱(chēng)操作碼|操作數(shù)說(shuō)明取數(shù)01HNA←(N),將地址為N的單元的數(shù)據(jù)存入累加器A存數(shù)02HN(N)←A,將累加器A的數(shù)據(jù)存入地址為N的單元加法03HN將地址為N的單元的數(shù)據(jù)和A中的相加,結(jié)果存入A乘法04HN將地址為N的單元的數(shù)據(jù)和A中的相乘,結(jié)果存入A比較05HNA-(N)比較兩個(gè)數(shù)據(jù)(相減),結(jié)果存入寄存器F轉(zhuǎn)移06HNPC←N用地址N更新程序計(jì)數(shù)器PC的值停機(jī)07H停機(jī)子程序調(diào)用08HN斷口地址進(jìn)棧,用地址N更新程序計(jì)數(shù)器PC的值返回主程序09H斷口地址出棧,用來(lái)更新程序計(jì)數(shù)器PC的值壓棧0aHT寄存器T中的數(shù)據(jù)進(jìn)棧保存(T表示任意寄存器)出棧0bHN出棧,出棧數(shù)據(jù)進(jìn)入寄存器T第13頁(yè)/共27頁(yè)2023/1/1715編程計(jì)算:y=ax2+bx+c
步驟方法一方法二(y=x(ax+b)+c)1取數(shù)a
取數(shù)a2計(jì)算a*x
計(jì)算a*x3計(jì)算a*x*x
計(jì)算a*x+b4計(jì)算b*x計(jì)算x*(a*x+b)5計(jì)算a*x*x+b*x計(jì)算x*(a*x+b)+c6計(jì)算a*x*x+b*x+c(書(shū)中未講,此方法無(wú)需調(diào)用子程序)說(shuō)明:方法一的第4步,也需要用累加器A,而此刻A中是第3步的結(jié)果。這時(shí),只能將第4步定義為一個(gè)子程序,結(jié)果受主程序調(diào)用,因此以上步驟實(shí)質(zhì)上變成:計(jì)算z=b*x(子程序)zz動(dòng)態(tài)演示過(guò)程方法一動(dòng)態(tài)演示過(guò)程方法二第14頁(yè)/共27頁(yè)2023/1/1716子程序調(diào)用中涉及的幾個(gè)概念入口地址:第一條指令在程序存儲(chǔ)區(qū)中的地址。中斷:一個(gè)程序在執(zhí)行過(guò)程中去執(zhí)行另一個(gè)程序。斷口地址:程序中斷時(shí)的下一條指令的地址。保護(hù)現(xiàn)場(chǎng):程序中斷時(shí),有些寄存器存放著中間結(jié)果,將寄存器中的中間結(jié)果放入某地(堆棧)暫存?;謴?fù)現(xiàn)場(chǎng):子程序執(zhí)行完畢,再將主程序的中間結(jié)果放回寄存器。第15頁(yè)/共27頁(yè)2023/1/1717子程序調(diào)用過(guò)程第1步:將主程序的斷口地址壓入堆棧保存。第2步:將子程序的入口地址送入PC。第3步:進(jìn)入子程序后,首先保護(hù)主程序現(xiàn)場(chǎng)。
第4步:執(zhí)行子程序。第5步:子程序執(zhí)行完畢,恢復(fù)主程序現(xiàn)場(chǎng)。第6步:將主程序的斷口地址從棧頂送回PC。y=ax2+bx+c
方法一的清單及執(zhí)行過(guò)程見(jiàn)動(dòng)態(tài)演示。動(dòng)態(tài)演示過(guò)程方法一第16頁(yè)/共27頁(yè)2023/1/1718由低級(jí)語(yǔ)言到高級(jí)語(yǔ)言機(jī)器語(yǔ)言:是第一代程序設(shè)計(jì)語(yǔ)言,是計(jì)算機(jī)硬件系統(tǒng)能識(shí)別和執(zhí)行的唯一語(yǔ)言。機(jī)器語(yǔ)言的3個(gè)局限性:(1)程序不容易讀寫(xiě),操作碼和操作數(shù)都是二進(jìn)制數(shù)(2)對(duì)計(jì)算機(jī)硬件的依賴(lài)性很強(qiáng),可移植性差(3)指令功能簡(jiǎn)單,沒(méi)有按照數(shù)據(jù)類(lèi)型分類(lèi)改進(jìn):用助記符代替機(jī)器的數(shù)字指令,用符號(hào)地址表示存儲(chǔ)單元的數(shù)字地址——匯編語(yǔ)言(第二代程序設(shè)計(jì)語(yǔ)言)改進(jìn):面向問(wèn)題而非面向機(jī)器,與計(jì)算機(jī)硬件結(jié)構(gòu)無(wú)關(guān)改進(jìn):提供豐富的數(shù)據(jù)類(lèi)型,語(yǔ)句一般都采用自然語(yǔ)匯,一條語(yǔ)句往往相當(dāng)于多條指令。
第17頁(yè)/共27頁(yè)2023/1/1719由低級(jí)語(yǔ)言到高級(jí)語(yǔ)言第一種高級(jí)程序設(shè)計(jì)語(yǔ)言:Fortran語(yǔ)言(1954年)高級(jí)語(yǔ)言的發(fā)展:(1)從早期語(yǔ)言到結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言(2)從面向過(guò)程到非過(guò)程化程序設(shè)計(jì)語(yǔ)言(面向?qū)ο螅?)發(fā)展趨勢(shì):面向應(yīng)用第一種結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言:Pascal語(yǔ)言(1970年)高級(jí)語(yǔ)言的種類(lèi)有數(shù)百種,比較熟悉的有:Fortran、Basic、Pascal、C、FoxBASE、FoxPro、Lisp、Prolog、C++、Java、C#等第18頁(yè)/共27頁(yè)2023/1/1720由低級(jí)語(yǔ)言到高級(jí)語(yǔ)言區(qū)分兩組概念:(1)程序設(shè)計(jì)語(yǔ)言與程序(類(lèi)似于漢語(yǔ)與文章的關(guān)系)程序設(shè)計(jì)語(yǔ)言是進(jìn)行程序設(shè)計(jì)的工具,是計(jì)算機(jī)全部指令的集合;而任何計(jì)算機(jī)程序都需要用程序設(shè)計(jì)語(yǔ)言來(lái)編寫(xiě),是為實(shí)現(xiàn)某個(gè)算法從該語(yǔ)言中選擇所需要指令組成的集合。(2)源程序與目標(biāo)程序:源程序:程序員編寫(xiě)的程序目標(biāo)程序:計(jì)算機(jī)最終能識(shí)別并運(yùn)行的程序(二進(jìn)制)源程序目標(biāo)程序用機(jī)器語(yǔ)言編寫(xiě)用匯編語(yǔ)言編寫(xiě)匯編程序用高級(jí)語(yǔ)言編寫(xiě)編譯程序匯編編譯第19頁(yè)/共27頁(yè)2023/1/1721Cisthemostbeautifullanguage!C語(yǔ)言最早的原型是ALGOL601973年,AT&T貝爾實(shí)驗(yàn)室的DennisRitchie(D.M.RITCHIE,被尊為“C語(yǔ)言之父”)在BCPL和B語(yǔ)言的基礎(chǔ)上設(shè)計(jì)出了一種新的語(yǔ)言——C語(yǔ)言,開(kāi)發(fā)UNIX操作系統(tǒng)及其上的應(yīng)用程序。
1999年,ANSI和ISO通過(guò)了最新版本的C語(yǔ)言標(biāo)準(zhǔn)C99,這是關(guān)于C語(yǔ)言的最新、最權(quán)威的定義。選擇學(xué)習(xí)C語(yǔ)言的理由:C語(yǔ)言不僅是面向過(guò)程的程序設(shè)計(jì)語(yǔ)言中功能最強(qiáng)、效率最高的語(yǔ)言,更是面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言C++、Java和C#的基礎(chǔ)。第20頁(yè)/共27頁(yè)2023/1/1722Cisthemostbeautifullanguage!C語(yǔ)言具有很多優(yōu)點(diǎn):簡(jiǎn)潔緊湊、靈活方便運(yùn)算符豐富(34個(gè))數(shù)據(jù)類(lèi)型豐富C是結(jié)構(gòu)式語(yǔ)言,程序?qū)哟吻逦鶦語(yǔ)法限制不太嚴(yán)格,語(yǔ)法比較靈活。C語(yǔ)言允許直接訪(fǎng)問(wèn)物理地址,可直接對(duì)硬件進(jìn)行操作,既可以開(kāi)發(fā)系統(tǒng)軟件,又可以開(kāi)發(fā)應(yīng)用軟件(中級(jí)語(yǔ)言)C語(yǔ)言程序生成代碼質(zhì)量高,程序執(zhí)行效率高
C語(yǔ)言適用范圍大,可移植性好,適合多種操作系統(tǒng),多種機(jī)型第21頁(yè)/共27頁(yè)2023/1/1723
開(kāi)
始
編
輯
編
譯
連
接
執(zhí)
行
有錯(cuò)?
結(jié)果正確?
結(jié)
束
有
源程序
file.c
目標(biāo)程序file.obj
庫(kù)函數(shù)和其它目標(biāo)程序
可執(zhí)行目標(biāo)程序
無(wú)
正確
不正確
C程序開(kāi)發(fā)過(guò)程file.exe編輯程序代碼的錄入,生成源程序*.c編譯鏈接運(yùn)行源程序目標(biāo)程序可執(zhí)行程序內(nèi)容程序設(shè)計(jì)語(yǔ)言代碼機(jī)器語(yǔ)言代碼機(jī)器語(yǔ)言代碼可執(zhí)行?不可以不可以可以擴(kuò)展名.c.obj.exe語(yǔ)法分析查錯(cuò),翻譯生成目標(biāo)程序*.obj與其它目標(biāo)程序或庫(kù)鏈接裝配,生成可執(zhí)行程序*.exe第22頁(yè)/共27頁(yè)2023/1/1724在VC++6.0下開(kāi)發(fā)程序的過(guò)程C程序的開(kāi)發(fā)在特定的集成開(kāi)發(fā)環(huán)境下進(jìn)行本教材中所有的程序在VC++6.0下通過(guò),并且課程配套實(shí)驗(yàn)也要求在VC++6.0下VC++6.0集成環(huán)境中提供了編輯器、編譯器、鏈接器、調(diào)試器等多種工具,使得程序員從源程序的編輯到最后的運(yùn)行均可在集成環(huán)境中完成舉例:
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 ISO/IEC 23090-7:2022/AMD1:2024 EN Information technology - Coded representation of immersive media - Part 7: Immersive media metadata - Amendment 1: Common metadata for imme
- 【正版授權(quán)】 ISO 7718-2:2025 EN Aircraft - Passenger doors interface requirements for connection of passenger boarding bridge or passenger transfer vehicle - Part 2: Upper deck doors
- 【正版授權(quán)】 ISO 16900-11:2025 EN Respiratory protective devices - Methods of test and test equipment - Part 11: Determination of field of vision
- 【正版授權(quán)】 IEC 81355-1:2024 EN/FR Industrial systems,installations and equipment and industrial products - Classification and designation of information - Part 1: Basic rules and clas
- 2025年集成電路代工廠(chǎng)商業(yè)秘密保護(hù)合同
- 2025年動(dòng)力調(diào)諧陀螺平臺(tái)項(xiàng)目建議書(shū)
- 提升學(xué)校藝術(shù)教育影響力的策略計(jì)劃
- 醫(yī)院宣傳工作總結(jié)與改進(jìn)方法計(jì)劃
- 班級(jí)傳統(tǒng)文化傳承活動(dòng)的計(jì)劃
- 營(yíng)養(yǎng)科膳食服務(wù)效果評(píng)估與改進(jìn)計(jì)劃
- 蘇州2025年江蘇蘇州太倉(cāng)市高新區(qū)(科教新城婁東街道陸渡街道)招聘司法協(xié)理員(編外用工)10人筆試歷年參考題庫(kù)附帶答案詳解
- 幼兒園課件:健康教案
- 河南航空港發(fā)展投資集團(tuán)有限公司2025年社會(huì)招聘題庫(kù)
- 2025至2031年中國(guó)助眠床墊行業(yè)投資前景及策略咨詢(xún)研究報(bào)告
- 綿陽(yáng)市高中2022級(jí)(2025屆)高三第二次診斷性考試(二診)語(yǔ)文試卷(含答案)
- 常州初三強(qiáng)基數(shù)學(xué)試卷
- 物業(yè)服務(wù)和后勤運(yùn)輸保障服務(wù)總體服務(wù)方案
- 2025年極兔速遞有限公司招聘筆試參考題庫(kù)含答案解析
- 2024年青海省中考生物地理合卷試題(含答案解析)
- 蘇少版小學(xué)一年級(jí)下冊(cè)綜合實(shí)踐活動(dòng)單元備課
- 鐵嶺衛(wèi)生職業(yè)學(xué)院?jiǎn)握袇⒖荚囶}庫(kù)(含答案)
評(píng)論
0/150
提交評(píng)論