如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
第14章14C语言高级编程技术使用过Windows系统的用户都感受到了图形用户界面的直观和高效。所有Windows系统的应用程序都拥有相同或相似的基本外观,包括窗口、菜单、工具条、状态栏等。用户只要掌握其中一个,就不难学会其他软件,从而降低了学习成本和难度。而且Windows是一个多任务的操作环境,它允许用户同时运行多个应用程序,或在一个程序中同时做几件事情。例如,我们可以边欣赏MP3的音乐边IE冲浪,可以在运行Word时同时编辑多个文档等。用户直接通过鼠标或键盘来使用应用程序,或在不同的应用程序之间进行切换,非常方便。这些都是单任务、命令行界面的DOS操作系统所无法比拟的。TC2.0或TC3.0均是在DOS环境下运行的C系统。不过,无论采用TC,还是VC、BC,所产生的C可执行程序都是基于DOS系统的。C语言发展如此迅速,而且成为最受欢迎的语言之一,主要因为它具有强大的功能。C是一种“中”级语言,它把高级语言的基本结构和语句与低级语言的实用性结合起来。C语言可以对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。C语言具有各种各样的数据类型,并引入了指针概念,可使程序效率更高。另外C语言也具有强大的图形功能,支持多种显示器和驱动器。而且计算功能、逻辑判断功能也比较强大,可以实现决策目的。C系统提供了大量的功能各异的标准库函数,减轻了编程的负担。所以要用C语言实现具有类Windows系统应用程序界面特征的、或更生动复杂的DOS系统的程序,就必须掌握更高级的编程技术。本章介绍了如何利用TC系统所提供的相关函数实现菜单设计、图形绘制、动画的播放、乐曲的演奏、汉字的显示、图片的显现等技术。14.1文本的屏幕输出和键盘输入在前面几章的实例中,程序运行的结果都显示在黑色屏幕上,颜色单调。这并不是说C语言的所有结果都只能显示在黑色屏幕上,与其他的高级语言一样,C语言也可以显示多样的界面。例如,编写一个程序,将屏幕垂直平分成两个窗口,左边窗口为蓝色背景,白色前景,右边窗口为绿色背景,红色前景。两个窗口都设计为文本输入,即在窗口中可以输入文字,在C语窗口屏幕中显示出来。使用【Tab】键在左右两个窗口中切换,每个窗口都有光标,活动窗口言光标进行闪烁。开发这时前面不曾接触到的新概念,如文本窗口、前景色、背景色,以及如何在屏幕中显示全程文本输入的窗口;如何设置窗口的前景色、背景色或闪烁等显示属性;如何通过按键来控制窗指口的切换等。这就涉及了有关文本的屏幕输出和键盘的输入知识。下面就来介绍这两个方面的南内容。14.1.1文本屏幕输出显示器的屏幕显示方式有两种:文本方式和图形方式。本节将介绍文本方式,而图形方式将会在后面一节介绍。文本方式就是显示文本的模式,它的显示单位是字符而不是图形方式下的像素,因而在屏幕上显示字符的位置坐标就用行和列表示。TurboC的字符屏幕函数主要包括文本窗口大小的设定、窗口颜色的设置、窗口文本的清除和输入输出等函数。这些函数的有关信息(如宏定义等)均包含在conio.h头文件中,因此在用户程序中使用这些函数时,必须用include将conio.h包含进程序。1.文本窗口定义TurboC默认定义的文本窗口为整个屏幕,共有80列25行的文本单元。规定整个屏幕的左上角为1行1列,右下角坐标为25行80列,并规定沿水平方向为X轴,方向朝右;沿垂直方向为Y轴,方向朝下。每个单元包括一个字符和一个属性,字符即ASCII码字符,属性规定该字符的颜色和强度。除了这种默认的80列25行的文本显示方式外,TurboC还支持另外4种文本显示方式,可以用文本显示方式设置函数textmode来进行设置,该函数调用的形式为:textmode(newmode)其中,newmode参数可以选用如表14-1所示的任一种方式,可以用表中指出的方式代号,也可以用对应的符号常量。该函数将清除屏幕,以整个屏幕为当前窗口,并移动到屏幕的左上角。该函数无返回值。表14-1文本显示方式方式符号常量显示列×行数和颜色0BW4040×25黑白显示1C4040×25彩色显示2BW8080×25黑白显示534续表方式符号常量显示列×行数和颜色3C8080×25彩色显示7MONO80×25单色显示-1LASTMODE上一次的显示方式表中的LASTMODE方式指上一次设置的文本显示方式,它常用于在图形方式到文本方式的切换。关于颜色,将在文本颜色设置函数中介绍,MONO方式用在MGA显示器上。第还可以通过窗口设置函数让用户根据自己的需要重新设定显示窗口。14TurboCwind