版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第13章 C語(yǔ)言綜合應(yīng)用程序設(shè)計(jì),13.1 多模塊程序設(shè)計(jì)基礎(chǔ),13.2 圖形處理基礎(chǔ),13.3 操作系統(tǒng)接口,13.4 C程序中的漢字顯示技術(shù),11.1 多模塊程序設(shè)計(jì),13.1 多模塊程序設(shè)計(jì)基礎(chǔ),一. 多模塊程序的建立,使用多模塊編程技術(shù)的處理過(guò)程大致如下: 首先將一個(gè)大型程序根據(jù)其功能合理地劃分為若干個(gè)小的源程序,每個(gè)小源程序均以程序文件(文件擴(kuò)展名為.C)的形式保存在磁盤上。例如,一個(gè)較在程序應(yīng)該分解成file1.c、file2.c、file3.c、.等多個(gè)源程序,各自獨(dú)立地保存在磁盤上。這些源程序可以進(jìn)行單獨(dú)編譯,形成.OBJ文件,然后將這些文件組合成一個(gè)大的程序。,#includ
2、e #include ”file2.c” /*將源程序file2.c包含到源程序file1.c中*/ void main() A2(); ,file2.c為: #include void A2() ,例如,一個(gè)大型程序分解為file1.c、file2.c兩個(gè)小源程序.,1include方法,file1.c為:,11.1 多模塊程序設(shè)計(jì),在Turbo C中,可以建立一個(gè)工程文件(文件擴(kuò)展名為.prj),將各個(gè)源程序模塊的文件名包含其中。再用編譯器進(jìn)行編譯,將工程文件中指定的多個(gè)文件進(jìn)行編譯,生成多個(gè)目標(biāo)文件和一個(gè)可執(zhí)行的文件。,2建立project文件,當(dāng)某個(gè)文件有錯(cuò)時(shí),例如,file1.c有錯(cuò)
3、誤時(shí),編譯器會(huì)報(bào)告錯(cuò)誤。用戶可對(duì)file1.c進(jìn)行修改,修改后再編譯時(shí),編譯器只會(huì)對(duì)file1.c進(jìn)行重新編譯,其它模塊不再被編譯,原來(lái)生成的目標(biāo)文件仍可使用。,11.1 多模塊程序設(shè)計(jì),【例13-1】從鍵盤上輸入兩個(gè)整數(shù),輸出最大值、最小值及平均值。 分析: 在多模塊設(shè)計(jì)中,首先是源程序拆分成幾個(gè)小的源程序,每個(gè)小的源程序完成一個(gè)簡(jiǎn)單的功能。 這里,可將源程序文件分成個(gè)小源程序:file1.c、file2.c、file3.c和file4.c。其中file1.c是主函數(shù),它的功能是從鍵盤輸入兩個(gè)整數(shù)i,j,然后分別調(diào)用函數(shù)max、min和average,最后在主函數(shù)中輸出最大值、最小值及平均值
4、。文件file2.c、file3.c和file4.c分別為求兩個(gè)整數(shù)的最大值、最小值和平均值。,11.1 多模塊程序設(shè)計(jì),(1)建立一個(gè)以.prj為擴(kuò)展名的工程文件 建立.prj工程文件與編寫源程序的方法相同,只是這個(gè)文件的每行都是C的源程序名,例如文件內(nèi)容為: file1.c file2.c file3.c file4.c /* 源程序的擴(kuò)展名.c可以省略 */ 然后以.prj為擴(kuò)展名將以上文件存盤,例如文件名為file.prj。,11.1 多模塊程序設(shè)計(jì),(2)對(duì)工程文件處理 在主菜單窗口下,選擇菜單項(xiàng)Project/Project name,系統(tǒng)彈出一個(gè)如圖13-1所示的窗口。這時(shí),可在
5、該窗口直接輸入文件名file.prj或通過(guò)通配符選擇文件file.prj。然后按熱鍵Ctrl-F9或選擇菜單項(xiàng)Compile/Compile to OBJ,即可對(duì)文件file.prj進(jìn)行編譯、連接,最后生成同名的可執(zhí)行文件file.exe。 (3)選擇菜單項(xiàng)Run/Run,運(yùn)行file.exe文件,,11.1 多模塊程序設(shè)計(jì),二。 程序模塊之間的通信,一個(gè)大型程序分解成若干個(gè)程序模塊后,各個(gè)模塊之間常常需要相互聯(lián)系,一個(gè)模塊中的函數(shù)可能要調(diào)用另一個(gè)模塊中的函數(shù);函數(shù)間也常常需要傳遞參數(shù),返回處理結(jié)果。因此,在多模塊編程中,需要解決模塊之間的通信問(wèn)題。 在C語(yǔ)言的多模塊編程中,模塊間通信往往使用
6、外部變量。,function1()/*file1.c*/ extern int student; ,extern int student;/*file2.*/ fun1() student=50; ,11.1 多模塊程序設(shè)計(jì),13.2 圖形處理基礎(chǔ),一. 圖形程序運(yùn)行的條件,顯示器的圖形驅(qū)動(dòng)程序主要有: att.bgi、cga.bgi、egavga.bgi、herc.bgi、 ibm8514.bgi、pc3270.bgi 、 bgiobj.exe.,圖形程序運(yùn)行的基本條件是: 將相應(yīng)的顯示驅(qū)動(dòng)程序裝入內(nèi)存運(yùn)行。 在C語(yǔ)言中,可通過(guò)調(diào)用函數(shù)initgraph對(duì)圖形系統(tǒng)進(jìn)行初始化來(lái)實(shí)現(xiàn)。,11.2
7、 圖形處理基礎(chǔ),二. 基本圖形處理函數(shù)及基本圖形處理方法,圖形屏幕的坐標(biāo)與象素點(diǎn),11.2 圖形處理基礎(chǔ),1圖形系統(tǒng)初始化函數(shù),(1)顯示模式控制函數(shù)initgraph void far initgraph(int far *graphdriver,int far *graphmode,char far *path);,int graphdriver=EGA; int graphmode=EGAHI; initgraph( /*附加段*/,unsigned intds; /*數(shù)據(jù)段*/,unsigned intss; /*堆棧段*/,unsigned intcs; /*代碼段*/,11.3 操
8、作系統(tǒng)接口,3發(fā)送DOS命令庫(kù)函數(shù)system,int system(char *cmd);,三. 鼠標(biāo)器及其應(yīng)用,1鼠標(biāo)器概況,2鼠標(biāo)器驅(qū)動(dòng)程序,device=mouse.sys/1 /*其中的“1”表示安裝在COM1接口*/,3鼠標(biāo)器光標(biāo),4. 鼠標(biāo)器INT 33H功能調(diào)用,11.3 操作系統(tǒng)接口,11.4 漢字顯示技術(shù),13.4 C程序中的漢字顯示技術(shù),一. 漢字顯示的基本原理,1國(guó)標(biāo)漢字字符集與區(qū)位碼,2漢字內(nèi)碼,3內(nèi)碼與區(qū)位碼的轉(zhuǎn)換關(guān)系及字模顯示技術(shù),二. 中文DOS下顯示漢字,在中文DOS方式下編制顯示漢字程序的一般方法是: 1啟動(dòng)中文DOS系統(tǒng),如UCDOS、聯(lián)想DOS等。 2利
9、用中文編輯器編寫C語(yǔ)言源程序,在源程序中的字符串直接用漢字書寫。注意,C語(yǔ)言中的標(biāo)識(shí)符不能使用漢字。 3在TC集成開發(fā)環(huán)境下編譯連接帶有漢字的源程序,生成可執(zhí)行文件。 4在中文DOS系統(tǒng)中運(yùn)行可執(zhí)行文件。,11.4 漢字顯示技術(shù),三. 西文DOS下顯示漢字,在西文DOS下漢字顯示的基本方法是:獲取漢字的漢字庫(kù)字模數(shù)據(jù),根據(jù)字模數(shù)據(jù)中各個(gè)字節(jié)的每一位是1還是0,確定對(duì)應(yīng)輸出的象素點(diǎn)是亮還是暗;對(duì)于為1的位,輸出亮點(diǎn),所有亮點(diǎn)的組合就是一個(gè)漢字的字形。,在實(shí)際處理中,可以采用畫點(diǎn)或畫線的方法顯示漢字。,11.4 漢字顯示技術(shù),1利用畫點(diǎn)函數(shù)putpixel顯示漢字,(1)打開點(diǎn)陣字庫(kù)。 (2)計(jì)算字模地址,
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 貸款轉(zhuǎn)讓制度
- 質(zhì)量責(zé)任登記制度
- 財(cái)務(wù)審批審核制度
- 2026廣西貴港市桂平市尋旺鄉(xiāng)中心幼兒園招聘專任教師、安保人員3人參考考試題庫(kù)附答案解析
- 2026云南臨滄市雙江仁康醫(yī)院招聘8人備考考試題庫(kù)附答案解析
- 2026年荊州市公安縣事業(yè)單位人才引進(jìn)52人參考考試題庫(kù)附答案解析
- 2026中國(guó)兵器工業(yè)試驗(yàn)測(cè)試研究院招聘?jìng)淇伎荚囶}庫(kù)附答案解析
- 2026衢州龍游縣糧食收儲(chǔ)有限公司公開招聘派遣制工作人員2人備考考試試題附答案解析
- 上海華福證券AI互聯(lián)網(wǎng)組2026屆實(shí)習(xí)生招聘參考考試試題附答案解析
- 2026重慶九龍坡區(qū)中梁山街道辦事處招聘1人參考考試題庫(kù)附答案解析
- 廣州西關(guān)大屋介紹
- 基于機(jī)器視覺的SLM金屬3D打印設(shè)備視覺標(biāo)定技術(shù)研究
- CJ/T 192-2017內(nèi)襯不銹鋼復(fù)合鋼管
- 2025年馬口鐵印鐵制罐項(xiàng)目可行性研究報(bào)告
- 全過(guò)程咨詢技術(shù)標(biāo)-監(jiān)理大綱篇
- DB65-T 4828-2024 和田玉(子料)鑒定
- 直播場(chǎng)景搭建與布局設(shè)計(jì)
- 數(shù)據(jù)生命周期管理與安全保障
- 吊頂轉(zhuǎn)換層設(shè)計(jì)圖集
- 優(yōu)勝教育機(jī)構(gòu)員工手冊(cè)范本規(guī)章制度
- 120MPa輕質(zhì)高強(qiáng)混凝土的配制技術(shù)
評(píng)論
0/150
提交評(píng)論