c语言高级编程.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《c语言高级编程.ppt》由用户(hwpkd79526)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 高级 编程
- 资源描述:
-
1、l屏幕文本输出屏幕文本输出l图形程序设计图形程序设计l硬件驱动硬件驱动l键盘鼠标输入方法编程键盘鼠标输入方法编程l其它高级编程技术其它高级编程技术l1.11.1文本方式的控制文本方式的控制l1.21.2窗口设置和文本输出函数窗口设置和文本输出函数l1.31.3清屏和光标操作函数清屏和光标操作函数l1.41.4屏幕文本移动与存取函数屏幕文本移动与存取函数l1.51.5状态查询函数状态查询函数l文本方式就是显示文本的模式,它的显文本方式就是显示文本的模式,它的显示单位是字符而不是图形方式下的象素,示单位是字符而不是图形方式下的象素,在屏幕上显示字符的位置坐标用行和列在屏幕上显示字符的位置坐标用行和
2、列表示。表示。l缺省方式下,每屏为缺省方式下,每屏为8080列列2525行,行,Turbo CTurbo C规定屏的左上角为规定屏的左上角为l l行行l l列,屏的右下角列,屏的右下角为为2525行行8080列。列。lTurbo CTurbo C支持的文本显示方式有支持的文本显示方式有5 5种,它种,它们可以用文本显示方式设置函数来进行们可以用文本显示方式设置函数来进行设置。设置。其中newmode的值可分别为:l04025黑白显示l14025彩色显示l28025黑白显示l38025彩色显示l78025单色显示l-1上一次的显示方式l文本颜色设置函数文本颜色设置函数void void text
3、colortextcolor(intint color)color)控制文本显示的前景色,即字符显控制文本显示的前景色,即字符显示的颜色,其参数示的颜色,其参数colorcolor仅能选择仅能选择1717种颜色,种颜色,即值为即值为016016。l文 本 背 景 颜 色 设 置 函 数文 本 背 景 颜 色 设 置 函 数 v o i d v o i d textbackgroundtextbackground(intint color)color)设置文本显设置文本显示的背景颜色,其参数示的背景颜色,其参数colorcolor仅能选择仅能选择8 8种颜色,种颜色,即值为即值为0707。l文本
4、属性设置函数文本属性设置函数void void textattrtextattr(int int attrattr)设置字符显示的颜色,背景色,字设置字符显示的颜色,背景色,字符显示是否闪烁,显示属性参数符显示是否闪烁,显示属性参数attrattr可用一个可用一个字节即字节即8 8位来描述。位来描述。lvoid highvideo(void)用高亮度显示字符。lvoid lowvideo(void)用低亮度显示字符。lvoid normvideo(void)将设置通常亮度显示字符。l在文本方式下,没进行窗口设置时,即在文本方式下,没进行窗口设置时,即窗口设置缺省时,认为整个屏幕为显示窗口设置缺
5、省时,认为整个屏幕为显示窗口,窗口,lTurbo CTurbo C提供了窗口设置函数提供了窗口设置函数window()window(),可由用户根据自己的需要来重新设定显可由用户根据自己的需要来重新设定显示窗口。当设定后,以后的控制台示窗口。当设定后,以后的控制台I/OI/O操操作作(即文本输入输出即文本输入输出),就可均在此窗口,就可均在此窗口中进行。中进行。lvoid window(void window(intint x1 x1,intint y1 y1,intint x2 x2,intint y2)y2);l其中其中(x1x1,y1)y1)为窗口的左上角坐标,为窗口的左上角坐标,(x2
6、x2,yzyz)为窗口的右下角坐标,这些坐标是以为窗口的右下角坐标,这些坐标是以整个屏幕为参考坐标系。整个屏幕为参考坐标系。l利用窗口函数可以在屏幕上定义多个不利用窗口函数可以在屏幕上定义多个不同窗口,以显示不同的信息。同窗口,以显示不同的信息。lprintfprintf()(),putcputc()(),puts()puts(),putcharputchar()()和输和输出函数以整个屏幕为窗口的,它们不受由出函数以整个屏幕为窗口的,它们不受由windowwindow设置的窗口限制,也无法用函数控制它设置的窗口限制,也无法用函数控制它们输出的位置。们输出的位置。lTurbo CTurbo C
7、提供了三个文本输出函数,提供了三个文本输出函数,int int cprintfcprintf(char(char*formatformat,);int int cputscputs(char(char*strstr);int putchint putch(int chint ch);它它们受窗口的控制,窗口内显示光标的位置,就们受窗口的控制,窗口内显示光标的位置,就是它开始输出的位置。是它开始输出的位置。lvoid void clrscrclrscr(void)(void);清除窗口中的文本,清除窗口中的文本,并将光标移到当前窗口的左上角,即并将光标移到当前窗口的左上角,即(1,(1,1)1)
8、处。处。l void void clreolclreol(void)(void);除当前窗口中从除当前窗口中从光标位置开始到本行结尾的所有字符,光标位置开始到本行结尾的所有字符,但不改变光标原来的位置。但不改变光标原来的位置。l void void dellinedelline(void)(void);删除一行字符,删除一行字符,该行是光标所在行。该行是光标所在行。lvoid void gotoxygotoxy(intint x x,intint y)y);把光标移把光标移到窗口内的到窗口内的(x x,y)y)处,处,x x,y y坐标是相对坐标是相对窗口而言。它多和窗口而言。它多和cprin
9、tfcprintf函数配合,以函数配合,以指定输出开始位置。指定输出开始位置。lvoid void movetextmovetext(intint x1 x1,intint y1 y1,intint x2x2,intint y2 y2,intint x3 x3,intint y3)y3);l该函数将把屏幕上左上角为该函数将把屏幕上左上角为(xlxl,y1)y1),右下角右下角为为(x2x2,y2)y2)的矩形内文本拷贝到左上角为的矩形内文本拷贝到左上角为(x3x3,y3)y3)的一个新矩形区内。这里的一个新矩形区内。这里x x,y y坐标是以整坐标是以整个屏幕为窗口坐标系,即屏幕左上角为个屏幕
10、为窗口坐标系,即屏幕左上角为(1(1,1)1)。l该函数与开设的窗口无关,且原矩形区文本不该函数与开设的窗口无关,且原矩形区文本不变。变。1、存文本函数存文本函数void void gettextgettext(int xlint xl,intint y1y1,intint x2 x2,intint y2 y2,void void*buffer)buffer);把左把左上角为上角为(xlxl,y1)y1),右下角为右下角为(x2x2,y2)y2)的矩形区的矩形区内的文本存到由指针内的文本存到由指针bufferbuffer指向的一个内存缓指向的一个内存缓冲区内。冲区内。2 2、取文本函数、取文本
11、函数void void puttextputtext(intint x1 x1,intint y1y1,intint x2 x2,intint y2 y2,void void*buffer)buffer);把由把由bufferbuffer指针指向的缓冲区内所存文本复制到屏指针指向的缓冲区内所存文本复制到屏幕上一矩形区内,该矩形区左上角为幕上一矩形区内,该矩形区左上角为(x1x1,y1)y1),右下角为右下角为(x2x2,y2)y2)。lvoid gettextinfo(struct text_info*f);l这里的text_info是在conio.h头文件中定义的一个结构;l显示当前屏幕的显
12、示方式,当前窗口的坐标、当前光标的位置,文本的显示属性等。lTurbo CTurbo C为用户提供了一个功能很强的画图软为用户提供了一个功能很强的画图软件库,它又称为件库,它又称为BorlandBorland图形接口图形接口(BGI)BGI),它包它包括图形库文件括图形库文件(graphics.lib)graphics.lib),图形头文件图形头文件(graphics.h)graphics.h)和许多图形显示器和许多图形显示器(图形终端图形终端)的的驱动程序驱动程序(如如CGA.BGICGA.BGI、EGAVGA.BGIEGAVGA.BGI等等)。及一。及一些字符集的字体驱动程序些字符集的字体
13、驱动程序(如如gothgoth.chrchr黑体字黑体字符集等符集等)。l编写图形程序时用到的一些图形库函数均在编写图形程序时用到的一些图形库函数均在graphics.libgraphics.lib中,执行这些函数时,所需的有中,执行这些函数时,所需的有关信息关信息(如宏定义等如宏定义等)则包含在则包含在graphics.hgraphics.h头文头文件中。件中。l显示器的屏幕如同一张坐标纸,显示器的屏幕如同一张坐标纸,在其上显示图形时,图形上任一在其上显示图形时,图形上任一点的位置均有确定的坐标,即可点的位置均有确定的坐标,即可用用x x,y y坐标值来表示。坐标值来表示。l显示器显示的图形
14、均由一些圆点组成显示器显示的图形均由一些圆点组成(其其亮度、颜色不同亮度、颜色不同),这些点称为象素,这些点称为象素(或或称象点称象点),它们是组成图形的最小单位。,它们是组成图形的最小单位。l象素的大小可以通过设置不同的显示方象素的大小可以通过设置不同的显示方式来改变。象素在屏幕上的位置则可由式来改变。象素在屏幕上的位置则可由其所在的其所在的x x,y y坐标来决定。坐标来决定。l计算机中要显示的字符和图形均以数字形式存储在存计算机中要显示的字符和图形均以数字形式存储在存储器中,而显示器接收的应是模拟信号。储器中,而显示器接收的应是模拟信号。l常用的显示器有三条模拟红绿兰颜色的模拟信号输入常
15、用的显示器有三条模拟红绿兰颜色的模拟信号输入线,每条输入线的电压决定了颜色的亮度,只要能产线,每条输入线的电压决定了颜色的亮度,只要能产生出可区分的电压来,它们不同的组合,便可使显示生出可区分的电压来,它们不同的组合,便可使显示器显示出不同的颜色来。器显示出不同的颜色来。l插在插在PCPC微机插槽中的图形卡微机插槽中的图形卡(即适配器即适配器),其作用就是,其作用就是将要显示的字符和图形以数字形式存储在卡上的视频将要显示的字符和图形以数字形式存储在卡上的视频存储器存储器VRAMVRAM中,再将其变成视频模拟信号送往相应适中,再将其变成视频模拟信号送往相应适配的显示器进行显示,也即适配器在计算机
16、主机和显配的显示器进行显示,也即适配器在计算机主机和显示器之间起到了信息转换和视频发送作用。示器之间起到了信息转换和视频发送作用。l由于计算机配有的显示器种类不同,因而适配器种类由于计算机配有的显示器种类不同,因而适配器种类不同不同l1 1单色显示适配器单色显示适配器(MDA)MDA);仅显示一种颜色,仅支持仅显示一种颜色,仅支持80802525行的字符显示。行的字符显示。l2 2彩色图形适配器彩色图形适配器(CGA)CGA);这是这是PC/XTPC/XT等微机配用的显等微机配用的显示器图形卡,它可以产生单色或彩色字符和图形。示器图形卡,它可以产生单色或彩色字符和图形。l3 3增强型图形适配器
17、增强型图形适配器EGA)EGA);除支持除支持CGACGA的四种显示的四种显示模式外,还增加了分辨率为模式外,还增加了分辨率为640640200200的的1616色显示方式,色显示方式,(EGAHI)EGAHI),也可显示也可显示1616色。色。l4 4视频图形阵列适配器视频图形阵列适配器(VGA)VGA);它是目前流行的它是目前流行的PCPC微微机显示标准,它支持机显示标准,它支持CGACGA,EGAEGA的所有显示方式,但自的所有显示方式,但自己还有己还有640640480480的高分辨显示方式的高分辨显示方式(VGAHI)VGAHI)、640640350350的中分辨显示方式的中分辨显示
18、方式(VGAMED)VGAMED)和和640640200200的低分辨显示的低分辨显示方式方式(VGALO)VGALO),它们均可有它们均可有1616种显示颜色可供选择。种显示颜色可供选择。l5 5TVGATVGA;它是目前市面上最流行的它是目前市面上最流行的PC 486PC 486,586586微机配的显示器标准,在图形方式下,它微机配的显示器标准,在图形方式下,它可有可有640640400400,640640480480,800800600600,10241024768768及及76876810241024等分辨率,可选颜色达等分辨率,可选颜色达256256种,在文本方式下,可支持种,在文
19、本方式下,可支持2525、3030、4343、6060行,行,132132列的字符显示。它也兼容列的字符显示。它也兼容CGACGA、EGAEGA、VGAVGA的显示方式,由于的显示方式,由于Turbo CTurbo C早于该产品出现,早于该产品出现,因而上述增强了的显示方式均不支持,但对于因而上述增强了的显示方式均不支持,但对于高级编程者,可通过对高级编程者,可通过对TVGATVGA各专用寄存器直接各专用寄存器直接编程来实现这些功能。编程来实现这些功能。l6 6PVGAPVGA;它是它是paradise VGAparadise VGA的缩写,它由的缩写,它由Western DigitalWes
20、tern Digital公司生产,有的叫公司生产,有的叫SVGA(SVGA(香港香港SurperkingSurperking公司生产的公司生产的386386微机上使用微机上使用)。还有。还有称为称为EVGA(Extended VGA)EVGA(Extended VGA),它们和它们和PVGAPVGA在软硬在软硬件上均是兼容的。件上均是兼容的。PVGAPVGA完全兼容完全兼容CGACGA、EGAEGA、VGAVGA的所有工作方式,它还有自己一些特有的的所有工作方式,它还有自己一些特有的工作模式,与工作模式,与TVGATVGA类似。类似。l7 7XGAXGA;XGAXGA是是IBMIBM公司新推出
21、的一种增强性图公司新推出的一种增强性图形适配器,它是形适配器,它是VGAVGA的换代产品,具有更高的的换代产品,具有更高的分辨率和性能,它有和分辨率和性能,它有和CGACGA,EGAEGA,VGAVGA全兼容全兼容的工作方式,但显示速度却比的工作方式,但显示速度却比VGAVGA快一倍。快一倍。l8 8CVGACVGA;这是国内研制的带有显示汉字这是国内研制的带有显示汉字功能的功能的VGAVGA图形适配器,它带有汉字字库,图形适配器,它带有汉字字库,该适配器提供了和该适配器提供了和CGACGA、EGAEGA、VGAVGA全兼容全兼容的工作方式,还提供了在文本工作方式的工作方式,还提供了在文本工作
22、方式下的高分辨图形显示功能。在它的下的高分辨图形显示功能。在它的ROM ROM BIOSBIOS中提供了中提供了INT10HINT10H的功能号为的功能号为3030H H38H38H的功能调用,因而提供了方便的汉字的功能调用,因而提供了方便的汉字处理功能。处理功能。l文本方式或称字符显示方式文本方式或称字符显示方式l图形显示方式图形显示方式l它们的主要差别是显示存储器它们的主要差别是显示存储器(VRAM)VRAM)中存的信中存的信息不同。字符方式时,息不同。字符方式时,VRAMVRAM存放要显示字符的存放要显示字符的ASCIIASCII码,用它作为地址,取出字符发生器码,用它作为地址,取出字符
23、发生器ROM(ROM(固定存储器固定存储器)中存放的相应字符的图象中存放的相应字符的图象(又又称字模称字模),变成视频信号在显示器屏上进行显,变成视频信号在显示器屏上进行显示。图形方式时,则要显示的图形的图象直接示。图形方式时,则要显示的图形的图象直接存在存在VRAMVRAM中,中,VRAMVRAM中某地址单元存放的数就表中某地址单元存放的数就表示了相应屏幕上某行和列上的象素及颜色。示了相应屏幕上某行和列上的象素及颜色。l1 1MCGA(MCGA(多色图形阵列多色图形阵列);它和;它和VGAVGA是是PS/2PS/2系列微机的系列微机的主要适配器,主要适配器,MCGAMCGA功能上同功能上同C
24、GACGA相似,它和相似,它和CGACGA是部分是部分兼容的,但有些功能又和兼容的,但有些功能又和VGAVGA类似,可有类似,可有640640480480的二的二色模式。色模式。l2 2IBM8514IBM8514;该适配器可插入该适配器可插入PS/2PS/2微机中,它有较强微机中,它有较强的图形功能,最高分辨率可达的图形功能,最高分辨率可达10241024768768,可有,可有256256种种颜色。颜色。l3 3HERCHERC;大力神公司生产的一种单色适配器,是大力神公司生产的一种单色适配器,是PCPC系系列微机早期的第三种显示标准列微机早期的第三种显示标准(其它两种其它两种MDAMDA
25、和和CGA)CGA),它采用它采用720720348348高分辨单色显示模式。高分辨单色显示模式。l4 4EGAMONOEGAMONO;EGAEGA单色适配器,它只有一种单色适配器,它只有一种640640350350单单色显示模式。色显示模式。l即要用什么类型的图形显示适配器的驱即要用什么类型的图形显示适配器的驱动程序,动程序,l采用什么模式的图形方式采用什么模式的图形方式(也就是相应程也就是相应程序的入口地址序的入口地址),l适配器驱动程序的寻找路径名。适配器驱动程序的寻找路径名。l注意:所用系统的显示适配器一定要支注意:所用系统的显示适配器一定要支持所选用的显示模式,否则将出错。持所选用的
展开阅读全文