为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

C语言函数

2013-07-03 9页 doc 247KB 20阅读

用户头像

is_095865

暂无简介

举报
C语言函数时间延迟函数 函数名: delay 功 能: 将程序的执行暂停一段时间(毫秒) 用 法: void delay(unsigned milliseconds); 重画屏幕区域的函数 函数名:getimage 功 能:将指定区域的一个位图存到主存中 用 法:void far getimage( int left, int top, int right, int bottom, void far *bitmap); 函数名:putimage 功 能:在屏幕上输出一个位图 用 法:void ...
C语言函数
时间延迟函数 函数名: delay 功 能: 将程序的执行暂停一段时间(毫秒) 用 法: void delay(unsigned milliseconds); 重画屏幕区域的函数 函数名:getimage 功 能:将指定区域的一个位图存到主存中 用 法:void far getimage( int left, int top, int right, int bottom, void far *bitmap); 函数名:putimage 功 能:在屏幕上输出一个位图 用 法:void far putimage( int x, int y, void far *bitmap, int op ); 图像大小函数 函数名: imagesize 功 能: 返回保存位图像所需的字节数 用 法: unsigned far imagesize( int left, int top, int right, int bottom ); 异或模式函数 函数名: setwritemode 功 能: 设置图形方式下画线的输出模式 用 法: void far setwritemode(int mode); 参数MODE可以被设置位COPY_PUT或者XOR_PUT两种模式。当mode被设置为XOR_PUT,其后的图形操作将都采用异或方式。此外之前提到的putimage()函数也可以采用异或模式向屏幕复制图像。 检测键盘输入函数 函数名: kbhit 功 能: 检查当前按下的键 用 法: int kbhit(void); 键盘接口函数 函数名: bioskey 功 能: 直接使用BIOS服务的键盘接口 用 法: int bioskey(int cmd); 该函数通过bois中断0x16执行键盘操作,由参数cmd来决定具体的操作。 Cmd 具体操作 0 读取按键的ascii码 1 测试是否有按键 如果没有按键 返回0 如果按键为ctrl+brk 返回-1 如果是其他按键 返回按键本身键值(直到此按键被取出后恢复0) 2 返回shift key 状态 以下是当cmd为2的时候,返回值的具体含义 cmd返回值 触发特殊键 0X01 Left ctrl 0X02 Left alt 0X04 Right ctrl 0X08 Right alt 0X10 Scroll lock 0X20 Num lock 0X40 Caps lock 0X80 Sys rq bioskey()函数的优点在于: 1.和kbhit()函数一样可以在不影响主程序运行的情况下检测是否有按键; 2.可以方便地检测普通键具体ASCII码和扫描码; 3.可以方便地检测功能键具体扫描码; 4.可以检测特殊按键; 5.只需要一个函数就能解决检测按键和读入按键的任务。 声音与延迟函数 函数名: sound 功 能: 以指定频率打开PC扬声器 用 法: void sound(unsigned frequency); 函数名: nosound 功 能: 关闭PC扬声器 用 法: void nosound(void); 函数名: delay 功 能: 将程序的执行暂停一段时间(毫秒) 用 法: void delay(unsigned milliseconds); sound()函数用于让pc喇叭发声,nosound()函数用于使正在发声的pc喇叭静音。要使程序中的发声的具体,是调用sound()函数并延迟一定时间,然后使用nosound()函数静音,具体语句实现方法如下: sound(100); delay(100); nosound(); 产生随即数函数 函数名: rand 功 能: 随机数发生器 用 法: void rand(void); 函数名: random 功 能: 随机数发生器 用 法: int random(int num); 初始化随机数函数 函数名: randomize 功 能: 初始化随机数发生器 用 法: void randomize(void); in86()函数 函数名: int86 功 能: 通用8086软中断接口 用 法: int int86( int intr_num, union REGS *inregs, union REGS *outregs ); 其中intr_num为软中断号,函数通过inregs寄存器向中断发出具体功能命令,函数将中断调用结果返回寄存器outregs。 memset()函数 函数名: memset 功 能: 设置s中的所有字节为ch, s数组的大小由n给定 用 法: void *memset(void *s, char ch, unsigned n); VGA显示模式表 模式(16进制) 适配器 显示类型 颜色 字符格式 屏幕大小 字符大小 缓冲区首址 属性类型 0/1 CGA 文本 16/16 40*25 320*200 8*8 B8000 彩色 EGA 文本 16/64 40*25 320*350 8*14 B8000 彩色 VGA 文本 16/256K 40*25 360*400 9*16 B8000 彩色 CGA 文本 16/16 80*25 640*200 8*8 B8000 彩色 2/3 EGA 文本 16/64 80*25 640*350 8*14 B8000 彩色 VGA(3+) 文本 16/256K 80*25 720*400 9*16 B8000 彩色 CGA 图形 4/16 40*25 320*200 8*8 B8000 彩色 4/5 EGA 图形 4/64 40*25 320*200 8*8 B8000 彩色 VGA 图形 4/256K 40*25 320*200 8*8 B8000 彩色 CGA 图形 2/16 40*25 640*200 8*8 B8000 单色 6 EGA 图形 2/64 40*25 640*200 8*8 B8000 单色 VGA 图形 2/256K 40*25 640*200 8*8 B8000 单色 7 MDA/EGA 文本 单色 80*25 720*350 9*14 B0000 单色 VGA(7+) 文本 单色 80*25 720*400 9*16 B0000 单色 D EGA 图形 16/64 40*25 320*200 8*8 A0000 彩色 VGA 图形 16/256K 40*25 320*200 8*8 A0000 彩色 E EGA 图形 16/64 80*25 640*200 8*8 A0000 彩色 VGA 图形 16/256K 80*25 640*200 8*8 A0000 彩色 F EGA/VGA 图形 单色 80*25 640*350 8*14 A0000 单色 10 EGA 图形 16/64 80*25 640*350 8*14 A0000 彩色 VGA 图形 16/256K 80*25 640*350 8*14 A0000 彩色 11 VGA 图形 2/256K 80*30 640*480 8*16 A0000 彩色 12 VGA 图形 16/256K 80*30 640*480 8*16 A0000 彩色 13 VGA 图形 256/256K 40*25 320*200 8*8 A000 彩色 常规内存函数 申请函数:malloc(),farmalloc(),calloc(),farcalloc(),realloc(),farealloc() 函数名: malloc 功 能: 内存分配函数 用 法: void *malloc(unsigned size); 函数名: farmalloc 功 能: 从远堆中分配存储块 用 法: void far *farmalloc(unsigned long size); 函数名: calloc 功 能: 分配主存储器 用 法: void *calloc(size_t nelem, size_t elsize); 函数名: farcalloc 功 能: 从远堆栈中申请空间 用 法: void far *farcalloc( unsigned long units, unsigned ling unitsz ); 函数名: realloc 功 能: 重新分配主存 用 法: void *realloc(void *ptr, unsigned newsize); 函数名: farrealloc 功 能: 调整远堆中的分配块 用 法: void far *farrealloc( void far *block, unsigned long newsize ); 使用函数:memcpy(),memset(),memmove(),movedata() 函数名: memcpy 功 能: 从源source中拷贝n个字节到目标destin中 用 法: void *memcpy(void *destin,void *source,unsigned n); 函数名: memset 功 能: 设置s中的所有字节为ch, s数组的大小由n给定 用 法: void *memset(void *s, char ch, unsigned n); 函数名: memmove 功 能: 移动一块字节 用 法: void *memmove(void *destin,void *source,unsigned n); 函数名: movedata 功 能: 拷贝字节 用 法: void movedata(int segsrc, int offsrc, int segdest, int offdest, unsigned numbytes); 释放函数:free(),farfree() 函数名: free 功 能: 释放已分配的块 用 法: void free(void *ptr); 函数名: farfree 功 能: 从远堆中释放一块 用 法: void farfree(void); 指针操作函数:MK_FP(),FP_OFF(),FP_SEG() 函数名: MK_FP 功 能: 设置一个远指针 用 法: void far *MK_FP(unsigned seg, unsigned off); 函数名: FP_OFF 功 能: 获取远地址偏移量 用 法: unsigned FP_OFF(void far *farptr); 函数名: FP_SEG 功 能: 获取远地址段值 用 法: unsigned FP_SEG(void far *farptr); XMS功能调用索引表: 功能号 功能 版本 功能00H 功能01H 功能02H 功能03H 功能04H 功能05H 功能06H 功能07H 功能08H 功能09H 功能0AH 功能0BH 功能0CH 功能0DH 功能0EH 功能0FH 功能10H 功能11H 取XMS版本号 请求高内存区HMA 释放高内存区HMA 全程启用A20 全程停用A20 局部启用A20 局部停用A20 查询A20状态 查询自由扩展内存 分配扩展内存块 释放扩展内存块 移动扩展内存块 锁住扩展内存块 扩展内存块解锁 取EMB句柄信息 重新分配扩展内存块 请求上位存储块UMB 释放上位存储块UMB XMS规范V2.0 XMS规范V2.0 XMS规范V2.0 XMS规范V2.0 XMS规范V2.0 XMS规范V2.0 XMS规范V2.0 XMS规范V2.0 XMS规范V2.0 XMS规范V2.0 XMS规范V2.0 XMS规范V2.0 XMS规范V2.0 XMS规范V2.0 XMS规范V2.0 XMS规范V2.0 XMS规范V2.0 XMS规范V2.0 EMS功能调用索引: 功能号 功能 功能40H 功能41H 功能42H 功能43H 功能44H 功能45H 功能46H 功能47H 功能48H 功能4BH 功能4CH 功能4DH 取得EMS程序状态 取得物理映射页面的段地址 获取逻辑页页数信息 分配句柄和内存 内存映射 释放句柄和内存 获取EMM的版本号 保存指定句柄映射关系 恢复指定句柄映射关系 获取EMM的句柄数 获取指定句柄所分配的逻辑页页数 取所有句柄分配情况 键盘扫描码表: 键名 扫描码 键名 扫描码 键名 扫描码 Esc 1 A 30 F1 59 ! or 1 2 S 31 F2 60 @ or 2 3 D 32 F3 61 # or 3 4 F 33 F4 62 $ or 4 5 G 34 F5 63 % or 5 6 H 35 F6 64 ^ or 6 7 J 36 F7 65 & or 7 8 K 37 F8 66 * or 8 9 L 38 F9 67 ( or 9 10 : or ; 39 F10 68 ) or 0 11 “ or ‘ 40 F11 133 - 12 ~ or ` 41 F12 134 = 13 Left shift 42 Numlock 69 Bksp 14 \ 43 Scroll lock 70 Tab 15 Z 44 Home or 7 71 Q 16 X 45 Up or 8 72 W 17 C 46 Pgup or 9 73 E 18 V 47 Gray - 74 R 19 B 48 Left or 4 75 T 20 N 49 Center or 5 76 Y 21 M 50 Right or 6 77 U 22 < or , 51 Gray + 78 I 23 > or . 52 End or 1 79 O 24 ? or / 53 Down or 2 80 P 25 Right shift 54 Pgdn or 3 81 { or [ 26 Prt sc or * 55 Ins or 0 82 } or ] 27 Alt 56 Del or . 83 enter 28 Space bar 57 ctrl 29 Caps lock 58 键盘ASCII码表 ASCII字符集 (0 - 127) 代码 字符 代码 字符 代码 字符 代码 字符 0   32 [空格] 64 @ 96 ` 1 33 ! 65 A 97 a 2 34 " 66 B 98 b 3 35 # 67 C 99 c 4 36 $ 68 D 100 d 5 37 % 69 E 101 e 6 38 & 70 F 102 f 7 39 ' 71 G 103 g 8 ** 40 ( 72 H 104 h 9 ** 41 ) 73 I 105 i 10 ** 42 * 74 J 106 j 11   43 + 75 K 107 k 12   44 , 76 L 108 l 13 ** 45 - 77 M 109 m 14 46 . 78 N 110 n 15 47 / 79 O 111 o 16 48 0 80 P 112 p 17 49 1 81 Q 113 q 18 50 2 82 R 114 r 19 51 3 83 S 115 s 20 52 4 84 T 116 t 21 53 5 85 U 117 u 22 54 6 86 V 118 v 23 55 7 87 W 119 w 24 56 8 88 X 120 x 25 57 9 89 Y 121 y 26 58 : 90 Z 122 z 27 59 ; 91 [ 123 { 28 60 < 92 \ 124 |   29 61 = 93 ] 125 } 30 ‑ 62 > 94 ^ 126 ~ 31 ​ 63 ? 95 _ 127 &127; ** 数值 8.9.10 和 13 可以分别转换为退格符、制表符、换行符和回车符。这些字符都没有图形表示,但是对于不同的应用程序,这些字符可能会影响文本的显示效果。 ASCII字符集 (128 - 255) 代码 字符 代码 字符 代码 字符 代码 字符 128 € 160 [空格] 192 À 224 à 129 ? 161 ¡ 193 Á 225 á 130 ? 162 ¢ 194 Â 226 â 131 ? 163 £ 195 Ã 227 ã 132 ? 164 ¤ 196 Ä 228 ä 133 … 165 ¥ 197 Å 229 å 134 ? 166 ¦ 198 Æ 230 æ 135 ? 167 § 199 Ç 231 ç 136 ? 168 ¨ 200 È 231 ç 137 ‰ 169 © 201 É 232 è 138 ? 170 ª 202 Ê 233 é 139 ? 171 « 203 Ë 234 ê 140 ? 172 ¬ 204 Ì 235 ë 141 ? 173 ​ 205 Í 236 ì 142 ? 174 (R) 206 Î 237 í 143 ? 175 ¯ 207 Ï 238 î 144 ? 176 ° 208 Ð 239 ï 145 ‘ 177 ± 209 Ñ 240 ð 146 ’ 178 ² 210 Ò 241 ñ 147 “ 179 ³ 211 Ó 242 ò 148 ” 180 ´ 212 Ô 243 ó 149 ? 181 µ 213 Õ 244 ô 150 – 182 ¶ 214 Ö 245 õ 151 — 183 · 215 × 246 ö 152 ? 184 ¸ 216 Ø 247 ÷ 153 ™ 185 ¹ 217 Ù 248 ø 154 ? 186 º 218 Ú 249 ù 155 ? 187 » 219 Û 250 ú 156 ? 188 ¼ 220 Ü 251 û 157 ? 189 ½ 221 Ý 252 ü 158 ? 190 ¾ 222 Þ 253 ý 159 ? 191 ¿ 223 ß 254 þ 方块表示在当前平台下不支持。 中断改写中断服务程序函数 (1)取得中断向量入口的函数getvect(intr-num),它读取中断名为intr-num的向量。 函数名: getvect 功 能: 取得中断向量入口 用 法: void interrupt(*getvect(int intr_num)); (2)设置中断向量入口的函数servect(intr-num,*isr),它将intr-num的向量指置为指向新中断服务程序地址的远指针。 函数名: setvect 功 能: 设置中断向量入口 用 法: void setvect(int intr_num, void interrupt(*isr)()); (3)通用的8086软中断接口函数int86(intr-num,inregs,outregs),它执行一个由参数intr-num所指定的8086软中断,并且在执行前,把inregs中的寄存器值拷到各个寄存器中,返回时把寄存器的值拷到outregs中。 函数名: int86 功 能: 通用8086软中断接口 用 法: int int86( int intr_num, union REGS *inregs, union REGS *outregs ); TSR函数 1.退出并驻留内存函数keep(status,int size),它将当前函数驻留在空间为size个节(每节16个字节)的内存,其余部分被释放,出口状态保存在status中。 函数名: keep 功 能: 退出并继续驻留 用 法: void keep(int status, int size); 2.释放先前分配的DOS内存块函数freemem(seg),它将段地址为seg的内存块释放。在TSR中用于释放环境块。 函数名: freemem 功 能: 释放先前分配的DOS内存块 用 法: int freemem(unsigned seg); 3.设置远指针的宏MK_FP(seg,offs),seg为段地址,offs为偏移量。在TSR中用于访问内存中的特殊单元。 函数名: MK_FP 功 能: 设置一个远指针 用 法: void far *MK_FP(unsigned seg, unsigned off);
/
本文档为【C语言函数】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索