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

正文內(nèi)容

c語言從入門到精通,非常不錯(cuò)的課件第12章-閱讀頁

2025-01-07 12:16本頁面
  

【正文】 如在 C語言程序中有語句 power2(int para1,int para2), 則執(zhí)行該語句時(shí)堆棧中的內(nèi)容如下圖 所示 , 通過 sp便可得到參數(shù)值 , 從而完成參數(shù)的數(shù)據(jù)傳遞 。 main( ) { printf(―2 的 4次方乘以 8為 :%d‖, power2(8,4) )。 下一頁 第 12章 C語言綜合應(yīng)用程序舉例 上一頁 匯編語言子程序如下: .model small .code public _power2 _power2 proc push bp mov bp, sp mov ax, [bp+4] 。 將第二個(gè)參數(shù)的值 4送到 cx中 shl ax, cl。 然后 , 將此 OBJ文件加入到 C程序中 。 將 OBJ文件加入到 C程序 , 對(duì) Turbo C而言 , 非常簡(jiǎn)單 。 下一頁 第 12章 C語言綜合應(yīng)用程序舉例 上一頁 內(nèi)嵌匯編指令的 C 程序結(jié)構(gòu) 在 C程序嵌入?yún)R編指令的格式為: asm 操作碼 操作數(shù) ;或換行 例如: int max( int a, int b) { asm mov ax, a asm cmp ax, b asm jg ok asm mov ax, b ok: return _ax 。 下一頁 第 12章 C語言綜合應(yīng)用程序舉例 上一頁 說明 include int asmmax(int a,int b) { int maxn=0。 將 a的值賦給 ax寄存器 mov dx,word ptr b 。 比較 ax和 dx的大小 jg ok 。 將 dx的值賦給 ax ok: _asm mov word ptr maxn,ax 。 } main( ) { printf(―%d‖,asmmax(10,50))。 } 下一頁 第 12章 C語言綜合應(yīng)用程序舉例 上一頁 例如 內(nèi)嵌匯編指令的 C 程序的編譯和連接 對(duì)于 Turbo C而言 , 內(nèi)嵌匯編指令的 C程序要用 TCC命令行來實(shí)現(xiàn)編譯連接 , 其形式是: TCC命令行選項(xiàng) 文件名 ―命令行選項(xiàng) ” 中與 內(nèi)嵌匯編指令程序 有關(guān)的選項(xiàng)參考書本 。 第 12章 C語言綜合應(yīng)用程序舉例 上一頁 返回 綜合應(yīng)用程序示例 漢字顯示技術(shù) 漢字顯示的基本原理 國(guó)標(biāo)漢字字符集與區(qū)位碼 區(qū)位碼:每個(gè)漢字在漢字庫中有確定的區(qū)號(hào)和位號(hào)。只要知道了區(qū)位碼,就可知道該漢字在字庫中的地址。 16 x 16點(diǎn)陣字庫中,每個(gè)點(diǎn)陣字模用 32個(gè)字節(jié)來描述,其中的每個(gè)點(diǎn)使用一個(gè)二進(jìn)制位。 國(guó)標(biāo)碼 :與區(qū)位碼之間存在著一種簡(jiǎn)單的換算關(guān)系: 國(guó)標(biāo)碼的區(qū)號(hào) = 區(qū)位碼的區(qū)號(hào) + 32( 或 20H) 國(guó)標(biāo)碼的位號(hào) = 區(qū)位碼的位號(hào) + 32( 或 20H) 例如 , “ 計(jì) ” 字的區(qū)位碼為 2838(或 1C26H),其國(guó)標(biāo)碼為 6070(或 3C46H)。它與國(guó)標(biāo)碼也存在一種簡(jiǎn)單的對(duì)應(yīng)關(guān)系: 機(jī)內(nèi)碼區(qū)號(hào) = 國(guó)標(biāo)碼的區(qū)號(hào) + 128( 或 80H) 機(jī)內(nèi)碼位號(hào) = 國(guó)標(biāo)碼的位號(hào) + 128( 或 80H) 例如, “ 啊 ” 字的區(qū)位碼為 1602( 1002H),國(guó)標(biāo)碼為 3022H,機(jī)內(nèi)碼為 B0A2H。再用有關(guān)的位操作和循環(huán)語句,對(duì)字模各個(gè)字節(jié)的每一位進(jìn)行判斷。這樣就可按預(yù)先設(shè)置的顏色在相應(yīng)的位置顯示出該漢字來。 wh=qw100*qh。 因而該漢字在漢字庫中離起點(diǎn)的偏移位置 ( 以字節(jié)為單位 ) , 可由如下表達(dá)式計(jì)算: offset=(94*(qh1)+(wh1))*32L。 下面給出幾種常用漢字庫中地址碼 offset的計(jì)算 公式: ⑴ ucdos中的字庫 16x16點(diǎn)陣字模: offset=((qh1)*94+(wh1))*32L。 ⑶ 16x16點(diǎn)陣字模: offset=((qh7)*94+wh1)*32L。 下一頁 第 12章 C語言綜合應(yīng)用程序舉例 上一頁 西文 DOS環(huán)境下的漢字顯示 漢字顯示方法 在西文 DOS環(huán)境下,可以采用畫點(diǎn)或畫線的方法。 若該位為 1, 則在相應(yīng)的位置上用函數(shù) putpixel( )畫一點(diǎn);若是 0則跳過 。 下一頁 第 12章 C語言綜合應(yīng)用程序舉例 上一頁 下一頁 第 12章 C語言綜合應(yīng)用程序舉例 上一頁 ⑵ 利用畫線函數(shù) lio()顯示漢字 根據(jù)漢字字模點(diǎn)陣信息可以確定組成漢字 16線每條線的線型參數(shù) , 用 setlinestyle()設(shè)置線型 ,再由 lio()函數(shù)畫 16點(diǎn)長(zhǎng)的線 , 重復(fù) 16次這樣的過程 , 畫 16條不同的線型的直線 , 就可組成一個(gè)漢字 。 說明 :參數(shù) linestyle 用于指定畫線的線型;參數(shù)upattern 僅當(dāng)線型參數(shù)為 USERBIT_LINE時(shí)才起作用 。 表示成 16位二進(jìn)制數(shù)時(shí) , 每位代表一個(gè)象素點(diǎn) 。 下一頁 第 12章 C語言綜合應(yīng)用程序舉例 上一頁 漢字的垂直輸出是指將漢字逆時(shí)針方向旋轉(zhuǎn) 90度,然后進(jìn)行輸出顯示。放大漢字的方法是將字模數(shù)據(jù)中的每一位用一個(gè)填充長(zhǎng)方形或橢圓來表示。因此,可以把在程序中用到的漢字制作成小字庫,當(dāng)程序運(yùn)行時(shí),首先把小字庫加載到內(nèi)存,在顯示漢字時(shí)可直接從內(nèi)存中讀取漢字字模數(shù)據(jù)。 下一頁 第 12章 C語言綜合應(yīng)用程序舉例 上一頁 漢字的垂直輸出與放大顯示 小字庫技術(shù) 舉例 :編寫創(chuàng)建一個(gè)名為 。 main() { unsigned char hzmatrix[MAXNUM][32]。 long p。 int quma,weima。 下一頁 第 12章 C語言綜合應(yīng)用程序舉例 上一頁 FILE *fp,*cclibfile。 if(fp==NULL) {printf(―\Can’t open write file! Press any key to halt… ‖)。 exit(1)。 if(cclibfile==NULL) {printf(―\Can’t open hzk16 file! Press any to halt… ‖)。 exit(1)。 While(*hzstring) { quma=*hzstring0xa0。 /*計(jì)算位號(hào) */ p=(quma1)*94+weima1。 /*字模首址 */ hzcode[i]=100*quma+weima。 /*將文件指針指向字模首地址 */ fread(buf,sizeof(unsigned char),32,cclibfile)。j32。/*將字模數(shù)據(jù)存入 hzmatrix*/ hzstring+=2。 } fwrite(hzcode,sizeof(hzcode),1,fp)。 /* 向字庫文件寫入字模 */ fclose(fp)。 } 第 12章 C語言綜合應(yīng)用程序舉例 上一頁 例題:小字庫的使用。 返回
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1