freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

c語言課程設(shè)計(jì)指導(dǎo)書-展示頁

2025-03-15 16:42本頁面
  

【正文】 eft, int top, int right, int bottom); 定義屏幕上的一個矩形域作為 窗口 。文本方式屏幕的最大分辨單位是單個字符,字符顯示的位置用行和列坐標(biāo)來表示。圖形方式時,則要顯示的圖形的圖像直接存在 VRAM 中, VRAM 中某地址單元存放的數(shù)就表示了相應(yīng)屏幕上某 行和列上的像素及顏色。 1. 常見顯卡及其模式 課程設(shè)計(jì)指導(dǎo)書 7 2. 顯示器工作方式 顯示器有兩種工作方式,即文本顯示方式和圖形顯示方式,它們的主要差別是顯示存儲器 (VRAM)中存的信息不同。不同種類的顯卡支持的顯示模式種類不同,而且同一顯卡一般可以支持多種 顯示模式。 } while(mousekey==i)。 /* 鼠標(biāo)器光標(biāo) y 方向坐標(biāo) */ mousekey=。s); mousex=。 /* 3 號鼠標(biāo)器功能 :取按鈕狀態(tài)和鼠標(biāo)位置 */ int86x(0x33, amp。 struct SREGS s。 mousey=y。s)。r, amp。 /* 設(shè)定光標(biāo) x坐標(biāo) */ =y。 =4。s); } /*設(shè)定鼠標(biāo)光標(biāo)的初始位置 */ void cursorXY(unsigned int x, unsigned int y) { union REGS r。r, amp。s); } /* 關(guān)閉鼠標(biāo)器光標(biāo) */ void cursorOff() { union REGS r; struct SREGS s; = 2。r, amp。 2.常用功能 /* 顯示鼠標(biāo)器光標(biāo) */ void cursorOn() { union REGS r; struct SREGS s; = 1。鼠標(biāo)驅(qū)動程序由生產(chǎn)鼠標(biāo)的廠家提供,它提供了許多鼠標(biāo)操作的功能。 二、 鼠標(biāo) 1.原理 DOS 操作系統(tǒng)和 Turbo C 。 int kbhit(void)。 return 。rg,amp。 =0。 課程設(shè)計(jì)指導(dǎo)書 5 方法二:通過庫函數(shù) int86(),調(diào)用 BIOS 的 INT 16H、功能號為 0 的中斷。若返回非 0 值,則表示有鍵按下,若為 0 表示沒鍵按下。當(dāng)按下時,若返回值的低 8 位為非零,則表示為普通鍵,其值代表該鍵的 ASCII 碼。 /*參數(shù) cmd 用來確定函數(shù)如何操作 */ cmd=0 bioskey()返回按健的鍵值,該值是 2 個字節(jié)的整型數(shù)。因此,如果按下的是普通鍵,鍵盤中斷處理在 AL 中存放該鍵的 ASCII 碼;如果是特殊功能鍵,則 AH 中存放擴(kuò)充碼, AL 的值為 0。 由于 ASCII 碼不能將 PC鍵盤上的鍵全部包括,因此有些控制鍵如 Ctrl、 Alt、 End、 Home等用擴(kuò)充的 ASCII 碼表示,擴(kuò)充碼用兩個字節(jié)的數(shù)表示。 課程設(shè)計(jì)指導(dǎo)書 4 第三節(jié) C 語言的高級編程技術(shù)的實(shí)現(xiàn) ? 操作手段 一、 鍵盤 1. 原理 在鍵盤內(nèi)有一個微處理器,用來掃描和檢測每個鍵的按下和抬起狀態(tài),然后以程序中斷( INT 9H)的方式與主機(jī)通信,向主機(jī)傳送一個字節(jié)的按鍵掃描碼。例如,有一主程序名為 ,它包含頭文件 ,而另一文件是 ,它也包含頭文件 ,此時 project 文件的內(nèi)容應(yīng)寫成如下形式: () () 這樣,一旦 被修改,則對該 project 文件進(jìn)行編譯時, 及 將被重新編譯。 另外,當(dāng)多個源文件之間用頭文件來進(jìn)行接口時,在 project 文件中應(yīng)該用圓括號將這些頭文件括起來(多個頭文件之間可用逗號、空格或分號分隔)。 二、 Project 方法 假設(shè)一個程序分成了 和 兩個 源文件, project工程文件法生成可執(zhí)行程序的步驟如下: ( 1)用 TC編輯器建立一個文本文件,內(nèi)容為: 保存于文件 中。 一、 include 方法 假設(shè)一個程序分成了 和 兩個源文件 文件中定義了函數(shù) A2() : include void A2() { ... } 中的 main()函數(shù)調(diào)用 A2()函數(shù),則 寫成: include include “” /*include預(yù)處理命令 */ main() { ... A2()。它們可進(jìn)行單獨(dú)編譯,形成 .OBJ 文件。 ? 簡化用戶操作,減少用戶出錯處理 。 ? 輸出格式應(yīng)滿足用戶要求,符合使用意圖 。 ? 輸入格式與用戶水平相適應(yīng) 。 ? 語句和表達(dá)式要清晰、易讀,如表達(dá)式 . 三、 輸入輸出風(fēng)格 ? 提高輸入操作的堅(jiān)固性,以適當(dāng)方式對輸入數(shù)據(jù)進(jìn)行檢驗(yàn),以確認(rèn)每個輸入數(shù)據(jù)的有效性;對無效數(shù)據(jù),也能給出必要的提示,而不導(dǎo)致死機(jī)。 ? 在條件或循環(huán)結(jié)構(gòu)中盡量避免采用 “非 ”條件測試 。 ? 當(dāng)程序中變量很多時,毫無規(guī)則地命名變量名,會造成程序中混亂。 ? 最好能在名字中指出變量的類型 ,如: int nValue 。 ? 語句括號風(fēng)格 使用縮進(jìn)書寫格式,選擇統(tǒng)一的語句括號(花括號)風(fēng)格,可以突出結(jié)構(gòu)的層次關(guān)系。一般說來包括如下幾個主要方面 : ? 使用足夠的注釋 為了幫助閱讀者理解程序,應(yīng)當(dāng)使用足夠的注釋。 b = temp。 完全可以用 temp = a。 b = a – b。這樣不斷向下層延伸、細(xì)化,直到對問題求解過程準(zhǔn)確描述為止。一般說來,上層模塊不涉及問題的細(xì)節(jié),只說明“做什么”,在 C 語言程序中用調(diào)用語句實(shí)現(xiàn);細(xì)節(jié)由下層,解決“怎么做”。 層次結(jié)構(gòu)要求與之適應(yīng)的自頂向下,逐步細(xì)化的程序設(shè)計(jì)方法。層次結(jié)構(gòu)要求與之適應(yīng)的自頂向下、逐步細(xì)化的程序設(shè)計(jì)方法。 隨著程序的模塊化,每一個模塊的規(guī)??s小,但隨著模塊的增加,模塊間的通信復(fù)雜化起來,如何組織模塊的問題又突出起來。 C語言用函數(shù)支持模塊化程序設(shè)計(jì)。 數(shù)據(jù)的局 部化主要是指變量只使用在程序的局部,即在一個程序的一部分可以自由地命名變量,而不影響其他部分。這就是程序設(shè)計(jì)的局部化準(zhǔn)則。這將大大增加程序設(shè)計(jì)和閱讀的困難程度。課程設(shè)計(jì)指導(dǎo)書 1 高級語言課程設(shè)計(jì)指導(dǎo)書 第一章 課程設(shè)計(jì)開發(fā) 第一節(jié) 程序設(shè)計(jì)風(fēng)格 開發(fā)一個大型程序需要有良好的程序風(fēng)格。 程序的風(fēng)格具體地表現(xiàn)為如下 3 個方面: ? 程序邏輯風(fēng)格 ? 程序正文書寫的風(fēng)格 ? 程序輸入輸出風(fēng)格 一、 邏輯風(fēng)格 1. 程序的局部化和模塊化 隨著問題的復(fù)雜化,程序的規(guī)模不斷擴(kuò)大,程序行明顯增加,使用的變量數(shù)量也將增加,程序的流程將更復(fù)雜。解決這一問題的方法之一是使程序的一部分不過多地、過遠(yuǎn)的影響程序的其他部分。 程序的局部化包括了數(shù)據(jù)的局部化和處理的局部化。 程序的局部化的最好實(shí)現(xiàn)方法是模塊化的程序設(shè)計(jì)。一個模塊與其他模塊只用參數(shù)和返回值進(jìn)行通信,并且只在調(diào)用和返回時才起作用。 實(shí)踐證明,系統(tǒng)部門間最有效的組織形式是層次結(jié)構(gòu)。這樣不斷向下層延伸、細(xì)化,直到把問題求解過 程準(zhǔn)確描述為止。自頂向下要求設(shè)計(jì)者首先縱觀全局,進(jìn)行總的決策,確定最上層的模塊(即主函數(shù))。當(dāng)然,“怎么做”中也包含相對于再下層的“做什么”。 2. 數(shù)據(jù)風(fēng)格 1)數(shù)據(jù)類型和數(shù)據(jù)結(jié)構(gòu)的使用要清晰,如要有限制地使用指針等 ; 2)采用必要的符號常量 ; 3. 算法風(fēng)格 1)算法要簡潔,明了, 少使用技巧; 如 a = a + b。 a = a – b。 a = b。 表示 2)盡量避免使用多重循環(huán)嵌套或條件嵌套結(jié)構(gòu); 課程設(shè)計(jì)指導(dǎo)書 2 3)充分利用庫函數(shù) ; 4)要注意浮點(diǎn)運(yùn)算的誤差; 二、 正文風(fēng)格 正文書寫風(fēng)格的核心是提高程序書面的可讀性。特別要注意在下列地方使用注釋: ? 一個文件文件名 ; ? 程序或函數(shù)的功能 ; ? 變量的用途; ? 特殊數(shù) 據(jù)結(jié)構(gòu)的特點(diǎn)和實(shí)現(xiàn)方法; ? 特殊技巧; ? 任何容易誤解或別人不容易看得懂的地方。 ? 標(biāo)識符風(fēng)格 ? 按 “見名知義 ”的原則和較長的描述性名字命名對象(變量、函數(shù)、 …… )名,同時采用駝峰式命名法或加下劃線命名法,如: PrintEmployeePaychecks 。 ? 函數(shù)的命名,最好采用動賓結(jié)構(gòu) ,如: void ResetCounter() 。因此初學(xué)者從一開始就要注意培養(yǎng)自己的變量命名習(xí)慣 . ? 語句和表達(dá)式風(fēng)格 ? 使用冗余的圓括號使表達(dá)式易讀 。 ? 盡量避免復(fù)雜條件測試 。 ? 輸入格式簡單、單一、統(tǒng)一,容易核對 。 ? 輸入 時能給用戶以提示,指明可使用的選擇和邊值 。 ? 對輸出操作有必要的提示 。 課程設(shè)計(jì)指導(dǎo)書 3 第二節(jié) 多文件的程序 當(dāng)一個程序較大時,可將一個程序分成幾個部分,每個部分可單獨(dú)成為一個源文件,這些文件通過全局變量或函數(shù)相聯(lián)系。 可以采用兩種方法將這些文件組合成一個完整的應(yīng)用程序。 ... } 這樣,編譯器會根據(jù) include 預(yù)處理命令,將 文件中該預(yù)處理命令出現(xiàn)的行用 文件的內(nèi)容進(jìn)行改寫,得到一個合并的源文件再進(jìn)行編譯,最終產(chǎn)生可執(zhí)行的程序。 ( 2)在 TC 環(huán)境中,按 ALT+P,選擇 Project 菜單中的 Project name 項(xiàng),填入文件名 后,按 F9 鍵,即可生成 的可執(zhí)行文件。這樣一旦頭文件 改變時,這些源文件將被重新編譯。 這里需要指出的是,在多個文件中一定要注意全局變量,靜態(tài)全局變 量以及函數(shù)的使用,以免產(chǎn)生錯誤。接著 ROM 中 BIOS 內(nèi)的鍵盤中斷處理程序,將按鍵掃描碼翻譯成對應(yīng)的 ASCII 碼或擴(kuò)充的 ASCII碼,存放在 AX寄存器中。第一個字節(jié)是 0,第二個字節(jié)是0~255的數(shù)。 掃描碼: 它不是 ASCII 碼;其 0~6 位標(biāo)識了每個鍵在鍵盤上的位置,最高位為 0 對應(yīng)該鍵是被按下; 1對應(yīng)松開;它并不能區(qū)別大小寫字母,而且一些特殊鍵不產(chǎn)生掃描碼直接引起中斷調(diào)用 2. 方法 方法一:直接使用聲明在 中的庫函數(shù) bioskey(); int bioskey ( int cmd )。若沒有鍵按下,則該函數(shù)一直等待,直到有鍵按下。若返回值的低 8 位為 0,則高 8 位表示為擴(kuò)展的 ASCII碼,表示按下的是特殊功能鍵 cmd=1 bioskey()查詢是否有鍵按下。 cmd=2 bioskey()將返回一些控制鍵是否被按過,按過的狀態(tài)由該函數(shù)返回的低 8 位的各位值來表示: 字節(jié)位 對應(yīng)的 16 進(jìn)制數(shù) 含義 0 0x01 右邊的 shift 鍵被按下 1 0x02 左邊的 shift 鍵被按下 2 0x04 Ctrl鍵被按下 3 0x08 Alt 鍵被按下 4 0x10 Scroll Lock 已打開 5 0x20 Num Lock 已打開 6 0x40 Caps Lock 已打開 7 0x80 Insert 已打開 如選參數(shù) cmd 為 2,若 key 值為) 0x09,則表示右邊的 shift 鍵被按下,同時Alt 鍵也被按下。它將按鍵的掃描碼存放在 AH 寄存器中; /* 讀鍵函數(shù),返回掃描碼 */ int getKeySCode() { union REGS rg。 int86(0x16,amp。rg)。 } 方法三:簡單地利用聲明在 中的庫函數(shù) kbhit()。 若按了鍵盤,該函數(shù)返回值 1,否則返回值 0。要操縱鼠標(biāo)器,首先必須安裝相應(yīng)的鼠標(biāo)驅(qū)動程序。這些功能可以通過 INT 33H 鼠標(biāo)中斷調(diào)用來使用 。 /* 1 號鼠標(biāo)器功能 :顯示鼠標(biāo)光標(biāo) */ msvisible= TRUE; int86x(0x33, amp。r, amp。 /* 2 號鼠標(biāo)器功能 :不顯示鼠標(biāo)光標(biāo) */ msvisible= FALSE; int86x(0x33, amp。r, amp。 課程設(shè)計(jì)指導(dǎo)書 6 struct SREG s。 /* 4 號鼠標(biāo)器功能 :設(shè)置鼠標(biāo)光標(biāo)位置 */ =x。 /* 設(shè) 定光標(biāo) y 坐標(biāo) */ int86x(0x33, amp。r, amp。 mousex=x。 } /*報告鼠標(biāo)器當(dāng)前光標(biāo)位置和當(dāng)前按鍵狀態(tài) */ void mouseRead() { union REGS rl,r2。 =3。r1,& r2, amp。 /* 鼠標(biāo)器光標(biāo)
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1