版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、13.1 13.1 多模块程序设计基础多模块程序设计基础13.2 13.2 图形处理基础图形处理基础13.3 13.3 操作系统接口操作系统接口13.4 C13.4 C程序中的汉字显示技术程序中的汉字显示技术 11.1 11.1 多模块程序设计多模块程序设计13.1 13.1 多模块程序设计基础多模块程序设计基础一一. 多模块程序的建立多模块程序的建立 使用多模块编程技术的处理过程大致如下:使用多模块编程技术的处理过程大致如下: 首先将一个大型程序根据其功能合理地划分为首先将一个大型程序根据其功能合理地划分为若干个小的源程序,每个小源程序均以程序文件若干个小的源程序,每个小源程序均以程序文件(
2、文件扩展名为(文件扩展名为.C.C)的形式保存在磁盘上。例如,)的形式保存在磁盘上。例如,一个较在程序应该分解成一个较在程序应该分解成file1.cfile1.c、file2.cfile2.c、file3.cfile3.c、.等多个源程序,各自独立地保存在磁等多个源程序,各自独立地保存在磁盘上。这些源程序可以进行单独编译,形成盘上。这些源程序可以进行单独编译,形成.OBJ.OBJ文文件,然后将这些文件组合成一个大的程序。件,然后将这些文件组合成一个大的程序。#include #include ”file2.c” /*将源程序将源程序file2.c包含到源程序包含到源程序file1.c中中*/v
3、oid main() A2();file2.c为:为:#include void A2()例如,一个大型程序分解为例如,一个大型程序分解为file1.c、file2.c两个小源程序两个小源程序.1include方法方法file1.c为:为: 11.1 11.1 多模块程序设计多模块程序设计 在Turbo C中,可以建立一个工程文件(文件扩展名为.prj),将各个源程序模块的文件名包含其中。再用编译器进行编译,将工程文件中指定的多个文件进行编译,生成多个目标文件和一个可执行的文件。2建立project文件 当某个文件有错时,例如,file1.c有错误时,编译器会报告错误。用户可对file1.c进
4、行修改,修改后再编译时,编译器只会对file1.c进行重新编译,其它模块不再被编译,原来生成的目标文件仍可使用。 11.1 11.1 多模块程序设计多模块程序设计【例13-1】从键盘上输入两个整数,输出最大值、最小值及平均值。分析:在多模块设计中,首先是源程序拆分成几个小的源程序,每个小的源程序完成一个简单的功能。这里,可将源程序文件分成个小源程序:file1.c、file2.c、file3.c和file4.c。其中file1.c是主函数,它的功能是从键盘输入两个整数i,j,然后分别调用函数max、min和average,最后在主函数中输出最大值、最小值及平均值。文件file2.c、file3
5、.c和file4.c分别为求两个整数的最大值、最小值和平均值。 11.1 11.1 多模块程序设计多模块程序设计(1)建立一个以.prj为扩展名的工程文件 建立.prj工程文件与编写源程序的方法相同,只是这个文件的每行都是C的源程序名,例如文件内容为:file1.cfile2.cfile3.cfile4.c /* 源程序的扩展名.c可以省略 */ 然后以.prj为扩展名将以上文件存盘,例如文件名为file.prj。 11.1 11.1 多模块程序设计多模块程序设计(2)对工程文件处理 在主菜单窗口下,选择菜单项Project/Project name,系统弹出一个如图13-1所示的窗口。这时,
6、可在该窗口直接输入文件名file.prj或通过通配符选择文件file.prj。然后按热键Ctrl-F9或选择菜单项Compile/Compile to OBJ,即可对文件file.prj进行编译、连接,最后生成同名的可执行文件file.exe。(3)选择菜单项Run/Run,运行file.exe文件, 11.1 11.1 多模块程序设计多模块程序设计二。二。 程序模块之间的通信程序模块之间的通信 一个大型程序分解成若干个程序模块后,各个模块之间常常需要相互联系,一个模块中的函数可能要调用另一个模块中的函数;函数间也常常需要传递参数,返回处理结果。因此,在多模块编程中,需要解决模块之间的通信问题
7、。 在C语言的多模块编程中,模块间通信往往使用外部变量。function1()/*file1.c*/ extern int student; extern int student;/*file2.*/ fun1()student=50; 11.1 11.1 多模块程序设计多模块程序设计13.2 13.2 图形处理基础图形处理基础 一一. 图形程序运行的条件图形程序运行的条件 显示器的图形驱动程序主要有:显示器的图形驱动程序主要有: att.bgi、cga.bgi、egavga.bgi、herc.bgi、 ibm8514.bgi、pc3270.bgi 、 bgiobj.exe. 图形程序运行的基
8、本条件是:图形程序运行的基本条件是: 将相应的显示驱动程序装入内存运行。将相应的显示驱动程序装入内存运行。 在在C语言中,可通过调用函数语言中,可通过调用函数initgraph对图形系统对图形系统进行初始化来实现。进行初始化来实现。 11.2 11.2 图形处理基础图形处理基础二二. 基本图形处理函数及基本图形处理方法基本图形处理函数及基本图形处理方法 图形屏幕的坐标与象素点屏幕左上角(0,0)右下角(x,y)xyx方向y方向 11.2 11.2 图形处理基础图形处理基础1图形系统初始化函数(1)显示模式控制函数initgraphvoid far initgraph(int far *grap
9、hdriver,int far *graphmode,char far *path);int graphdriver=EGA;int graphmode=EGAHI;initgraph(&graphdriver,&graphmode, ”tc”);int graphdriver=DETECT;int graphmode;intgraph(&graphdriver,&graphmode, tc); 11.2 11.2 图形处理基础图形处理基础(2)检测显示器硬件函数detectgraphvoid far detectgraph(int far *graphdriver,int far * gra
10、phmode);(3)清屏函数cleardevice void far cleardevice(void);(4)恢复文本显示方式(或关闭图形系统)函数closegraphvoid far closegraph(void); 11.2 11.2 图形处理基础图形处理基础void far restorecrtmode(void);(5)恢复文本工作模式函数restorecrtmode(6)设置图形工作模式函数setgraphmode void far setgraphmode(void); 11.2 11.2 图形处理基础图形处理基础2基本图形处理函数(1)画点、线函数 画点函数putpixel
11、void far putpixel(int x,int y,int color); 画线函数linevoid far line(int startx,int starty,int endx,int endy); 例: 编程,从在屏幕的左上角到屏幕的右下角画一条直线。 11.2 11.2 图形处理基础图形处理基础(2)画多边形、矩形和条形图函数 画多边形函数drawpolyvoid far drawpoly(int numpoints,int far *points); 画矩形函数rectanglevoid far rectangle(int left, int top, int right,
12、int bottom); 画实心条形图函数barvoid far bar(int left,int top,int right,int bottom); 11.2 11.2 图形处理基础图形处理基础 画三维条形图函数bar3void far bar3d(int left,int top,int right,int bottom,int depth,int topflag);depth(left,top)(right,bootom)topflag=1(a)depth(left,top)(right,bootom)topflag=0(b)图13-3 函数bar3d参数的含义 11.2 11.2 图
13、形处理基础图形处理基础(3)画圆、圆弧、扇形、椭圆函数 画圆函数circlevoid far circle(int x,int y,int radius); 画圆弧函数arcvoid far arc(int x,int y,int start,int end,int radius); 画扇形函数pieslicevoid far pieslice(int x,int y,int start,int end,int radius); 画椭圆函数ellipsevoid far ellipse(int x,int y,int start,int end,int xradius,int yradius)
14、; 11.2 11.2 图形处理基础图形处理基础起始角=0结束角=起始角和结束角注意:在Turbo C中对于角的规定是:屏幕x轴方向为0度,当半径从此处逆时针方向旋转时,则依次是90度、180度、270度。当为360度时,和x轴正向重合,即旋转了一周. 11.2 11.2 图形处理基础图形处理基础3颜色控制函数 在初始化图形系统时,函数initgraph的参数graphmode用来确定屏幕显示模式,也就是用来选择“调色板”。 屏幕上显示出的点、线、面的颜色称为前景色,而衬托它们的背景颜色称为背景色。模 式调色板号颜色值0123CGAC0CGAC1CGAC2CGAC30123背景色背景色背景色背
15、景色绿青淡绿淡青红洋红淡红淡洋红黄白棕淡灰 11.2 11.2 图形处理基础图形处理基础16个标准色及其颜色值颜色值颜色宏 名颜色值颜色宏 名01234567黑蓝绿青红洋红棕浅灰BLACKBLUEGREENCYANREDMAGENTABROWNLIGHTGRAY89101112131415深灰淡蓝淡绿淡青淡红淡洋红黄白DARKGRAYLIGHTBLUELIGHTGREENLIGHTCYANLIGHTREDLIGHTMAGENTAYELLOWWHITE 11.2 11.2 图形处理基础图形处理基础(1)前景颜色设置函数setcolorvoid far setcolor(int color);(
16、2)背景颜色设置函数setbkcolorvoid far setbkcolor(int color);(3)填色函数setfillstylevoid far setfillstyle(int pattern,int color);(4)封闭图形的填充函数floodfillvoid far floodfill(int x,int y,int bordercolor);例,设计一个简单动画,将一个三维条形图从屏幕左上角向右下角移动。 11.2 11.2 图形处理基础图形处理基础4视口操作函数 在图形工作方式下,用户可以在屏幕上设置一个窗口,该窗口称为视口(viewport)。 视口中坐标也是以其左
17、上角为参考点,每个视口的左上角坐标也为(0,0),它与物理屏幕坐标(左上角为(0,0)无关, (0,0) (400,150)(200,100)(200,50) 11.2 11.2 图形处理基础图形处理基础(1)在屏幕上设置视口的函数setviewportvoid far setviewport(int x1,int y1,int x2,int y2,int clipflag);(2)视口清除函数clearviewportvoid far clearviewport(void);例,利用视口的设置,设计一个简单动画,将一个方块图从屏幕左上角向右下角移动。 11.2 11.2 图形处理基础图形处理
18、基础5图形模式下字符输出函数(1)当前位置文本输出函数outtextvoid far outtext(char *str);(2)字符输出定位函数outtextxy(3)改变字型、大小和方向的函数settextstylevoid far outtextxy(int x,int y,char *str);void far settextstyle(int font,int direction,int charsize); 11.2 11.2 图形处理基础图形处理基础字体值含义DEFAULT_FONTTRIPLEX_FONTSMALL_FONTSANS_FONTGOTHIC_FONT0123488
19、点阵三倍笔划小号笔划字体无衬线笔划黑体笔划字符的字体字符的字体 11.2 11.2 图形处理基础图形处理基础13.3 13.3 操作系统接口操作系统接口一一. DOS简介简介1. DOS的基本功能是对系统的基本输入输出进行控制及对内存和进程的管理。 2. DOS为用户引用其功能子程序,提供系统的软中断。 通过CPU的软中断指令INT n调用相应的程序。指令中的n是中断调用号(中断类型号),中断调用号不同,则调用的程序就不同。3. 在Turbo C编译系统中,函数int86用于实现ROM-BIOS系统调用。 11.3 11.3 操作系统接口操作系统接口二二. 操作系统接口库函数操作系统接口库函数
20、1通用软中断调用库函数int86int int86(int intno,uinon REGS * inregs,uinon REGS * outregs);软中断号实现功能软中断号实现功能05H10H11H12H13H屏幕打印显示器I/O处理设备列表内存空间管理磁盘I/O处理14H15H16H17H1AH串行接口I/O处理磁带机控制键盘I/O处理打印机I/O处理时钟处理常用常用BIOS例行程序的软中断号和实现功能例行程序的软中断号和实现功能 11.3 11.3 操作系统接口操作系统接口功能号AH功能和使用的寄 存 器功能号AH功能和使用的寄 存 器0设置屏幕显示方式AL为显示代码3读光标位置,
21、BH:页号返回在以下寄存器中DH:行坐标DL:列坐标CL:显示模式1设置光标类型CH:光标开始CL:光标结束8读光标位置的字符,BH:页号返回值AL:读取的字符AH:字符的属性2设置光标位置DH:行坐标DL:列坐标BH:页号9显示字符AL:字符的ASCII码BL:字符显示属性BH:显示页号CX:重复次数INT 10H的部分功能的部分功能 11.3 11.3 操作系统接口操作系统接口2系统功能调用库函数(1)系统功能调用库函数intdosint intdos(union REGS *inregs,union REGS *outregs);(2)系统功能调用库函数intdosxint intdos
22、x(union REGS *inregs,union REGS *outregs,struct SREGS *segregs); segregs是一个结构SREGS类型的指针,结构SREGS类型在dos.h头文件中定义如下:struct SREGSunsigned intes; /*附加段*/unsigned intds; /*数据段*/unsigned intss; /*堆栈段*/unsigned intcs; /*代码段*/ 11.3 11.3 操作系统接口操作系统接口3发送DOS命令库函数systemint system(char *cmd);三三. 鼠标器及其应用鼠标器及其应用1鼠标器概况2鼠标器驱动程序device=mouse.s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度鱼塘承包与渔业生态旅游合作合同4篇
- 2025年度LED节能灯具采购与安装一体化合同范本3篇
- 二零二五年度木材加工设备租赁合同样本2篇
- 二零二五年度农机行业人才引进与培养合同4篇
- 二零二五年度大摩退出中金项目合同终止倒计时通知2篇
- 2025年度南京家庭装修工程竣工验收备案合同4篇
- 2025年度个人光伏发电贷款担保合同3篇
- 2025版文化娱乐场所租赁及活动策划服务合同模板4篇
- 2025版储罐泄漏检测与预防措施合同范本3篇
- 2025版农民合作社农村农村电商扶贫项目融资合同3篇
- 《装配式蒸压加气混凝土外墙板保温系统构造》中
- T-CSTM 01124-2024 油气管道工程用工厂预制袖管三通
- 2019版新人教版高中英语必修+选择性必修共7册词汇表汇总(带音标)
- 新译林版高中英语必修二全册短语汇总
- 基于自适应神经网络模糊推理系统的游客规模预测研究
- 河道保洁服务投标方案(完整技术标)
- 品管圈(QCC)案例-缩短接台手术送手术时间
- 精神科病程记录
- 阅读理解特训卷-英语四年级上册译林版三起含答案
- 清华大学考博英语历年真题详解
- 人教版三年级上册口算题(全册完整20份 )
评论
0/150
提交评论