




已阅读5页,还剩29页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第13章C语言综合应用程序设计 13 1多模块程序设计基础 13 2图形处理基础 13 3操作系统接口 13 4C程序中的汉字显示技术 11 1多模块程序设计 13 1多模块程序设计基础 一 多模块程序的建立 使用多模块编程技术的处理过程大致如下 首先将一个大型程序根据其功能合理地划分为若干个小的源程序 每个小源程序均以程序文件 文件扩展名为 C 的形式保存在磁盘上 例如 一个较在程序应该分解成file1 c file2 c file3 c 等多个源程序 各自独立地保存在磁盘上 这些源程序可以进行单独编译 形成 OBJ文件 然后将这些文件组合成一个大的程序 include include file2 c 将源程序file2 c包含到源程序file1 c中 voidmain A2 file2 c为 includevoidA2 例如 一个大型程序分解为file1 c file2 c两个小源程序 1 include方法 file1 c为 11 1多模块程序设计 在TurboC中 可以建立一个工程文件 文件扩展名为 prj 将各个源程序模块的文件名包含其中 再用编译器进行编译 将工程文件中指定的多个文件进行编译 生成多个目标文件和一个可执行的文件 2 建立project文件 当某个文件有错时 例如 file1 c有错误时 编译器会报告错误 用户可对file1 c进行修改 修改后再编译时 编译器只会对file1 c进行重新编译 其它模块不再被编译 原来生成的目标文件仍可使用 11 1多模块程序设计 例13 1 从键盘上输入两个整数 输出最大值 最小值及平均值 分析 在多模块设计中 首先是源程序拆分成几个小的源程序 每个小的源程序完成一个简单的功能 这里 可将源程序文件分成 个小源程序 file1 c file2 c file3 c和file4 c 其中file1 c是主函数 它的功能是从键盘输入两个整数i j 然后分别调用函数max min和average 最后在主函数中输出最大值 最小值及平均值 文件file2 c file3 c和file4 c分别为求两个整数的最大值 最小值和平均值 11 1多模块程序设计 1 建立一个以 prj为扩展名的工程文件建立 prj工程文件与编写源程序的方法相同 只是这个文件的每行都是C的源程序名 例如文件内容为 file1 cfile2 cfile3 cfile4 c 源程序的扩展名 c可以省略 然后以 prj为扩展名将以上文件存盘 例如文件名为file prj 11 1多模块程序设计 2 对工程文件处理在主菜单窗口下 选择菜单项Project Projectname 系统弹出一个如图13 1所示的窗口 这时 可在该窗口直接输入文件名file prj或通过通配符选择文件file prj 然后按热键Ctrl F9或选择菜单项Compile CompiletoOBJ 即可对文件file prj进行编译 连接 最后生成同名的可执行文件file exe 3 选择菜单项Run Run 运行file exe文件 11 1多模块程序设计 二 程序模块之间的通信 一个大型程序分解成若干个程序模块后 各个模块之间常常需要相互联系 一个模块中的函数可能要调用另一个模块中的函数 函数间也常常需要传递参数 返回处理结果 因此 在多模块编程中 需要解决模块之间的通信问题 在C语言的多模块编程中 模块间通信往往使用外部变量 function1 file1 c externintstudent externintstudent file2 fun1 student 50 11 1多模块程序设计 13 2图形处理基础 一 图形程序运行的条件 显示器的图形驱动程序主要有 att bgi cga bgi egavga bgi herc bgi ibm8514 bgi pc3270 bgi bgiobj exe 图形程序运行的基本条件是 将相应的显示驱动程序装入内存运行 在C语言中 可通过调用函数initgraph对图形系统进行初始化来实现 11 2图形处理基础 二 基本图形处理函数及基本图形处理方法 图形屏幕的坐标与象素点 11 2图形处理基础 1 图形系统初始化函数 1 显示模式控制函数initgraphvoidfarinitgraph intfar graphdriver intfar graphmode charfar path intgraphdriver EGA intgraphmode EGAHI initgraph graphdriver graphmode tc intgraphdriver DETECT intgraphmode intgraph graphdriver graphmode tc 11 2图形处理基础 2 检测显示器硬件函数detectgraph voidfardetectgraph intfar graphdriver intfar graphmode 3 清屏函数cleardevicevoidfarcleardevice void 4 恢复文本显示方式 或关闭图形系统 函数closegraph voidfarclosegraph void 11 2图形处理基础 voidfarrestorecrtmode void 5 恢复文本工作模式函数restorecrtmode 6 设置图形工作模式函数setgraphmode voidfarsetgraphmode void 11 2图形处理基础 2 基本图形处理函数 1 画点 线函数 画点函数putpixel voidfarputpixel intx inty intcolor 画线函数line voidfarline intstartx intstarty intendx intendy 例 编程 从在屏幕的左上角到屏幕的右下角画一条直线 11 2图形处理基础 2 画多边形 矩形和条形图函数 画多边形函数drawpoly voidfardrawpoly intnumpoints intfar points 画矩形函数rectangle voidfarrectangle intleft inttop intright intbottom 画实心条形图函数bar voidfarbar intleft inttop intright intbottom 11 2图形处理基础 画三维条形图函数bar3 voidfarbar3d intleft inttop intright intbottom intdepth inttopflag 11 2图形处理基础 3 画圆 圆弧 扇形 椭圆函数 画圆函数circle voidfarcircle intx inty intradius 画圆弧函数arc voidfararc intx inty intstart intend intradius 画扇形函数pieslice voidfarpieslice intx inty intstart intend intradius 画椭圆函数ellipse voidfarellipse intx inty intstart intend intxradius intyradius 11 2图形处理基础 注意 在TurboC中对于角的规定是 屏幕x轴方向为0度 当半径从此处逆时针方向旋转时 则依次是90度 180度 270度 当为360度时 和x轴正向重合 即旋转了一周 11 2图形处理基础 3 颜色控制函数 在初始化图形系统时 函数initgraph的参数graphmode用来确定屏幕显示模式 也就是用来选择 调色板 屏幕上显示出的点 线 面的颜色称为前景色 而衬托它们的背景颜色称为背景色 11 2图形处理基础 16个标准色及其颜色值 11 2图形处理基础 1 前景颜色设置函数setcolor voidfarsetcolor intcolor 2 背景颜色设置函数setbkcolor voidfarsetbkcolor intcolor 3 填色函数setfillstyle voidfarsetfillstyle intpattern intcolor 4 封闭图形的填充函数floodfill voidfarfloodfill intx inty intbordercolor 例 设计一个简单动画 将一个三维条形图从屏幕左上角向右下角移动 11 2图形处理基础 4 视口操作函数 在图形工作方式下 用户可以在屏幕上设置一个窗口 该窗口称为视口 viewport 视口中坐标也是以其左上角为参考点 每个视口的左上角坐标也为 0 0 它与物理屏幕坐标 左上角为 0 0 无关 0 0 400 150 200 100 200 50 11 2图形处理基础 1 在屏幕上设置视口的函数setviewport voidfarsetviewport intx1 inty1 intx2 inty2 intclipflag 2 视口清除函数clearviewport voidfarclearviewport void 例 利用视口的设置 设计一个简单动画 将一个方块图从屏幕左上角向右下角移动 11 2图形处理基础 5 图形模式下字符输出函数 1 当前位置文本输出函数outtext voidfarouttext char str 2 字符输出定位函数outtextxy 3 改变字型 大小和方向的函数settextstyle voidfarouttextxy intx inty char str voidfarsettextstyle intfont intdirection intcharsize 11 2图形处理基础 字符的字体 11 2图形处理基础 13 3操作系统接口 一 DOS简介 1 DOS的基本功能是对系统的基本输入输出进行控制及对内存和进程的管理 2 DOS为用户引用其功能子程序 提供系统的软中断 通过CPU的软中断指令INTn调用相应的程序 指令中的n是中断调用号 中断类型号 中断调用号不同 则调用的程序就不同 3 在TurboC编译系统中 函数int86用于实现ROM BIOS系统调用 11 3操作系统接口 二 操作系统接口库函数 1 通用软中断调用库函数int86 intint86 intintno uinonREGS inregs uinonREGS outregs 常用BIOS例行程序的软中断号和实现功能 11 3操作系统接口 INT10H的部分功能 11 3操作系统接口 2 系统功能调用库函数 1 系统功能调用库函数intdos intintdos unionREGS inregs unionREGS outregs 2 系统功能调用库函数intdosx intintdosx unionREGS inregs unionREGS outregs structSREGS segregs segregs是一个结构SREGS类型的指针 结构SREGS类型在dos h头文件中定义如下 structSREGS unsignedintes 附加段 unsignedintds 数据段 unsignedintss 堆栈段 unsignedintcs 代码段 11 3操作系统接口 3 发送DOS命令库函数system intsystem char cmd 三 鼠标器及其应用 1 鼠标器概况 2 鼠标器驱动程序 device mouse sys 1 其中的 1 表示安装在COM1接口 3 鼠标器光标 4 鼠标器INT33H功能调用 11 3操作系统接口 11 4汉字显示技术 13 4C程序中的汉字显示技术 一 汉字显示的基本原理 1 国标汉字字符集与区位码 2 汉字内码 3 内码与区位码的转换关系及字模显示技术 二 中文DOS下显示汉字 在中文DOS方式下编制显示汉字程序的一般方法是 1 启动中文DOS系统 如UCDOS 联想DOS等 2 利用中文编辑器编写C语言源程序 在源程序中的字符串直接用汉字书写 注意 C语言中的标识符不能使用汉字 3 在TC集成开发环境下编译连接带有汉字的源程序 生成可执行文件 4 在中文DOS系统中运行可执行文件 11 4汉字显示技术 三 西文DOS下显示汉字 在西文DOS下汉字显示的基本方法是 获取汉字的汉字库字模数据 根
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 北京市房屋租赁合同自行成交版
- 2025年二级建造师之二建机电工程实务考试题库附完整答案(夺冠系列)
- 面向2025年医疗美容消费者心理与服务质量提升路径研究报告
- 短视频平台内容监管困境突破与2025年社会责任构建研究报告
- 中医应对考试题及答案大全
- 中医消渴试题及答案
- 宁波北仑区教育局招聘事业编制教师笔试真题2024
- 汽车常识题库及答案
- 皮卡车考试题库及答案
- 配电安全题库及答案
- 2023年海南省社区网格员真题九十天冲刺打卡单选题+多选题+填空题+判断题+客观题A卷
- 《初中数学变式题》课件
- 2024年个人信用报告(个人简版)样本(带水印-可编辑)
- FZ∕T 73037-2019 针织运动袜行业标准
- 急危重症的观察与处理课件
- 开发旅游地接服务人员潜力的培训计划
- 第五章 第三节 罪犯的义务
- XF-T 3004-2020 汽车加油加气站消防安全管理
- 湘艺版四年级下册音乐教案(全套)
- 2.2算法的概念及其描述课件人教中图版高中信息技术必修1
- 出货管理实施手册标准版
评论
0/150
提交评论