《C语言程序设计案例教程第1章 初步了解C语言程序设计.ppt》由会员分享,可在线阅读,更多相关《C语言程序设计案例教程第1章 初步了解C语言程序设计.ppt(27页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、C语言程序设计案例教程第1章 初步了解C语言程序设计第1章初步了解C语言程序设计1.1C语言概述1.1.1了解C语言1.C语言的发展C语言是1972年由美国的DennisRitchie设计发明的,早期的C语言主要是用于UNIX系统。到了八十年代,C开始进入其它操作系统,并很快在各类大、中、小和微型计算机上得到了广泛的使用,成为当代最优秀的程序设计语言之一。许多著名的系统软件,例如Windows2000、Linxu等都大量使用了C语言进行程序设计,DBASE等软件则完全是由C语言编写的。C语言的功能非常强大,它虽然是高级语言,但也可以完成许多只有低级语言(例如汇编语言)才能完成的、面向机器的底层
2、工作,因此也被叫做“中级语言”。随着微型计算机的日益普及,出现了许多C语言版本。由于没有统一的标准,使得这些C语言之间出现了一些不一致的地方。为了改变这种情况,美国国家标准研究所(ANSI)为C语言制定了一套ANSI标准,为现行的C语言国际标准版本。后又有C+和VisualC+成以版本,它们都是在C语言基础之上发展的语言的超集,C+语言是面向对象的程序设计语言,VisualC+是事件驱动的程序设计语言。学会C语言会有利于C+和VisualC+的学习。在程序设计课程计体系中,语言是众多后继课程的基本编程工具,特别是与Windows编程有关的课程。因此,与计算机相关的专业都把语言程序设计列为基础课
3、程之一,学好C语言,对将来学习更为高级的程序设计课程,具有重要的意义。2.C语言的特点C语言主要特点简介如下。(1)中级语言:编程语言有“高级”和“低级”之分,但并不标志解决问题能力的高低,而是表示与计算机的的硬件系统练习的程度。作为中级语言的C语言不仅据用高级语言的可读性好、可移植性好、容易学习等特点,而且兼有低级语言(汇编语言)可以直接控制计算机硬件(可以像汇编语言一样对位、字节和地址进行操作,这是计算机最基本的操作)和运行效率高等优点。(2)结构化语言:它是一种结构化语言。它层次清晰,便于按模块化方式组织程序,易于调试和维护。结构化语言的显著特点是代码及数据的分隔化,即程序的各个部分除了
4、必要的信息交流外彼此独立。种结构化方式可使程序层次清晰,于使用、护以及调试。语这便维C言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。(3)语言功能强大:它具有各种各样的数据类型,并引入了指针概念,可使程序运行效率更高。C语言具有强大的图形功能,支持多种显示器和驱动器,而且计算功能、逻辑判断功能也比较强大,可以实现决策目的。另外,C语言的编程自由度较大,程序书写形式也很自由,因此可以大大方便程序设计人员。(4)适用范围广泛:它的表现能力和处理能力极强。它不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构。它还可以直接访问内存
5、的物理地址,进行位(bit)一级的第1章初步了解C语言程序设计操作。由于语言实现了对硬件的编程操作,因此语言集高级语言和低级语言的功能于一体。既可用于系统软件的开发,也适合于应用软件的开发。(5)适合于多种操作系统:例如,可适合于UNIX、Windows、Linux等操作系统。正是由于C语言的这些特性,决定了它成为一种重要的程序设计语言,通常所使用的软件中,相当多的程序都是由C语言编写而成。(6)可移植性强:在C语言中,没有依赖于硬件的输入输出语句。程序的输入/输出功能是通过调用函数来实现的,这些函数是由独立于C语言的系统程序模块库提供的。C语言本身并不依赖与计算机的硬件系统,从而便于在硬件不
6、同的各类各型计算机之间实现程序的移植,因此形成了多种版本的语言。3.C语言程序开发流程使用高级语言编写的程序称为程序的“源代码”,编写C语言程序的过程称为代码编辑。C程序源代码的输入和编辑可以用专门的代码编辑器来完成,也可以用普通的纯文本处理器(例如Windows中的记事本)来进行。由于计算机只能识别二进制代码指令,源代码不能直接被计算机所识别和执行,必须将C语言源代码进行编译,转化为二进制的计算机指令,才能够被计算机所执行。从理论上讲,任何高级语言都有两种执行方式,一种是解释执行方式,解释程序每读一条语句,就翻译成相应的机器语言指令,例如BASIC语言就采用该种方式(个别C语言在调试阶段采用
7、这种方式);另一种是编译执行方式,编译系统编译源程序后,将所有语句翻译成机器指令,产生一个目标文件。连接目标程序后产生一个可执行文件,然后执行这个可执行文件。将C语言源代码转化为二进制指令的过程称为编译(Compile),这需要有专门的编译器来执行。编译后的二进制代码文件叫做目标文件,该文件的扩展名为“.obj”。目标文件也不能直接在计算机中执行,还需要通过连接(Link)程序将它与C语言的库文件进行连接,最后生成可执行程序文件,可执行程序文件的扩展名为“.exe”。从源文件到可执行程序中经过的流程如图111所示。图111C程序编译流程1.1.2C语言的编程工具目前,都把负责代码编辑的编辑器、
8、程序调试器、编译目标代码的编译器和连接库文件生成目标文件的连接器综合在起来,组成一个C语言的编程工具(也称为集成开发环境)。这种编程工具软件有很多,其中最有名、使用最多的是Borland公司的TurboC系列集成开发环境和Microsoft公司的VisualC+系列软件。要学习用C语言编写程序,必须先学会使用C语言的编程工具软件。1.TurboCTurboC以其编译速度快、代码执行效率高而著称,是C程序员最乐于使用的编程工具。2TurboC版本很多,目前主要使用TurboC2.0和TurboC3.0版本,它们都有汉化版本。(1)TurboC的安装:TurboC的安装极为简单,双击安装程序“IN
9、STALL.EXE”的图标,运行安装程序,后可以按照提示信息一步步进行程序的安装,以这里不再详细叙述。TurboC安装后,在C盘根目录下会自动生成一个“TC”文件夹,其内是安装的TurboC有关文件。(2)TurboC的启动:可以单击“开始”“所有程序”“附件”“命令提示符”菜单命令,调出“命令提示符”窗口,再输入“C:TCBINTC”命令,然后按Enter键,即可启动TurboC3.0。也可以双击“C:TCBIN”路径下的“TC”程序图标纠正了原TurboC中的一些Bug(错误),集成了中文DOS运行环境,无需另行下载安装,即可直接采用中文界面进行操作;可以在Windows环境下方便地安装T
10、urboCv2.0,本安装程序可以将TurboC安装在任意指定目录,无需修改Options菜单里的Directory选项,即可正常编译标准C程序;提供了源代码编辑器,让习惯于Windows环境操作的朋友使用方便;汉化TurboC2.0和TurboC+3.0的安装程序名称分别为“WY_TC20H_B1009.EXE”或“WY_TCPP30H_B1005.EXE”,安装汉化TurboC3.0后,建立的C程序文件将保存在“安装目录Project”目录下,程序输出的.OBJ和.EXE文件将保存在“安装目录Output”目录下。(4)TurboC+3.0版本与TurboC2.0版本的主要区别。Turbo
11、C3.0修正了TurboC2.0中存在的一些Bug(错误)。TurboC+3.0支持多窗口操作,窗口间可以快速切换。完全支持鼠标操作(单击选择、拖曳和右击等),照顾了习惯于图形界面操作的用户。建立即时帮助系统,只需要选定关键字后按Ctrl+F1键,即可查看详细的帮助。并且每个函数都具有完整的示例解释说明,只需要复制到新文件即可运行,无论对C语言初学者还是C+高手都是不错的实例教材。可以自定义语句按照语法高亮多色显示,令代码编写、程序查错时更直观方便。提供的一个程序编辑器,该程序编辑器的查找、替换等编辑功能更方便易用,建立和管理Project项目更方便。TurboC2.0程序文件的扩展名是“.C
12、”,TurboC+3.0程序文件的扩展名可以以扩展名“.C”保存,也可以以扩展名“.CPP”保存。建立和管理Project项目更方便容易。2.VisualC+6.0除了Borland公司的TurboC系列集成开发环境外,Microsoft公司的VisualC+系列也是常用的C语言开发工具。随着近几年C+语言程序的普及,VisualC+集成开发环境作为一种功能强大的程序编译器也被相当多的程序员所使用,使用VisualC+也能够完成C语言的编译。由于VisualC+集成开发环境运行于Windows平台下,对于习惯于图形界面的用户来说是比较易学的。VisualC+也有多种版本,本书中使用的是比较普及
13、的VisualC+6.0中文版集成开发环境。VisualC+6.0集成开发环境的安装比较简单,双击安装程序“Setup.exe”的图标,运行安装程序,以后可以按照提示信息一步步完成程序的安装,在这里不再详细叙述。安装后,单击“开始”“程序”“MicrosoftVisualStudio6.0”“MicrosoftVisual3,启动TurboC。(3)汉化TurboC:它在原TurboC的基础之上进行了汉化,还具有以下特点。第1章初步了解C语言程序设计C+6.0”菜单命令,即可启动VisualC+6.0中文版集成开发环境。3.两种编程工具比较(1)VisualC+6.0由于是在Windows下运
14、行,具有图形窗口界面,因此比DOS下的TurboC更易于操作,但同时也可以发现,由于VisualC+6.0集成太多功能,而且主要用于C+程序的设计,因此占用资源较多,不象TurboC那样简洁。(2)VisualC+6.0在对程序进行编译时所耗时间太长,远大于TurboC的编译时间。(3)比较编译的结果,使用VisualC+6.0编译的程序会生成多个中间文件,最终得到的可执行文件较大;使用TurboC编译的程序生成的中间文件较少,最终得到的可执行文件远小于VisualC+6.0生成的文件。注意:在TurboC下的数据/变量所占存储空间大小与VisualC+6.0有所不同,如:int型变量在Tur
15、boC下编译时占2个字节,而在VisualC+6.0下编译时占4个字节。因此,在进行内存地址的引用时会有所不同。本书中的所有例子都可在TurboC2.0、TurboC+3.0和VisualC+6.0等C软件下正常运行,但为了便于初学者学习,在讲解时主要是以TurboC+3.0环境下为主。1.2设计第一个C语言程序本节介绍采用TurboC+3.0设计一个C语言程序“TC11.CPP”的方法和步骤,为全书的学习打下一个良好的基础。“TC11.CPP”程序运行后,会在DOS窗口内显示如图121所示文字。该程序的设计、保存、编译与连接,以及运行程序和调试程序的方法介绍如下,同时还介绍汉化TurboC+
16、3.0的基本使用方法。图121“TC11.CPP”C语言程序的运行结果1.2.1编辑和保存C程序程序1.启动和退出汉化TurboC+3.0如果安装汉化TurboC+3.0时选择了安装目录是“C:TCPP30H”,则会在“C:TCPP30H”目录下建立一个“Project”文件夹和一个“Output”文件夹。默认情况下,“Project”文件夹用来保存C程序文件,“Output”文件夹用来保存程序输出的“.OBJ”和“.EXE”文件。在安装汉化TurboC+3.0后,会在“开始所有程序程序设计TurboC+3.0汉化版”菜单下创建一组命令,如图122所示。单击“TurboC+3.0汉化版”菜单中
17、的“TurboC+3.0英文”菜单命令或“TurboC+3.0”菜单命令,可调出英文TurboC+3.0工作环境,如图123所示。图122“TurboC+3.0汉化版”菜单4图123英文的TurboC+3.0工作环境单击“TurboC+3.0汉化版”菜单中的“TurboC+3.0汉字”菜单命令或“TurboC+3.0汉化”菜单命令,可以调出一个“重要提示”对话框,单击该对话框内的“是”按钮后,可以调入CCDOS汉字系统,并调出虚拟的汉化TurboC+3.0工作环境,如图124所示。单击“否”按钮,可以调入CCDOS汉字系统,并调出汉化的TurboC+3.0工作环境。通常C程序内要显示汉字时,可
18、以进入汉化的TurboC+3.0工作环境。单击“TurboC+3.0汉化版”菜单中的“TurboC+3.0向导”菜单命令,会调出“TurboC+运行向导”对话框,如图125所示,单击该对话框内“主要功能”栏内不同的选项,相当于执行相应的菜单命令。图124汉化的TurboC+3.0工作环境图125“TurboC+运行向导”对话框本书如果没有特殊声明,均指在英文或汉化的TurboC+3.0工作环境内操作。在英文TurboC+3.0工作环境内,单击“File”(文件)“Quit”(退出)菜单命令或按Alt+X键,可以关闭英文TurboC+3.0工作环境,退出TurboC+3.0。2.新建和打开C程程
19、序(1)新建C语言程序:英文TurboC+3.0工作环境如图123所示,单击其内的“File”(文件)“New”新建)单命令,调出(菜会“C:TCPP30HProject”件夹内的文“NONAME00.C”C语言程序,该程序内给出了一段C语言小程序,同时还给出了TurboC+3.0汉化版编译环境的简要说明。读者可以用记事本打开“NONAME00.C”C语言程序,观看TurboC+3.0汉化版编译环境的简要说明,其内包括TurboC+常用快捷键和CCDOS的基本操作等。用鼠标拖曳选中“NONAME00.C”C语言程序内所有内容,再单击“Edit”编辑)“Clear”(清除)单命令或Ctrl+De
20、lete键,选中的内容删除。可以单击菜将也“Edit”(编辑)“Cut”(剪切)菜单命令或按Shift+Delete键,将选中的内容剪切到剪贴板内。如果“C:TCPP30HProject”文件夹内没有“NONAME00.C”C语言程序,则会新建一个空C语言程序窗口。如果已经打开了一个C语言程序窗口,则单击其内的“File”(文件)5第1章初步了解C语言程序设计“New”(新建)菜单命令,会新建一个空C语言程序窗口。(2)打开C语言程序:单击英文TurboC+3.0工作环境内的“File”(文件)“Open”(打开)菜单命令,调出“OpenaFile”(打开一个文件)对话框,如图126所示(还没
21、有输入文件名称)。在“Name”(名字)栏内输入要打开的文件名称(此处输入“TC11.C”),该文件应该在“C:TCPP30HProject”文件夹内。如果要打开其他文件夹内的C语言程序文件,应输入文件的路径。图126“OpenaFile”(打开一个文件)对话框然后,单击“OpenaFile”(打开一个文件)对话框内的“Open”(打开)按钮,即可打开“TC11.C”C语言程序的窗口,如图127所示。如果单击“Replace”(替换)按钮,可以关闭原C语言程序窗口,打开指定的“TC11.C”C语言程序窗口,完成替换工作。如果单击“Cancel”(取消)按钮,可以关闭“OpenaFile”(打开
22、一个文件)对话框,取消打开操作。3.输入和编辑C程程序(1)输入C语言程序:可以在英文TurboC+3.0工作环境内新建的C语言程序窗口内直接输入C语言程序。另外,可以在Windows的记事本内输入C语言程序,再以扩展名“.C”或“.CPP”保存在“C:TCPP30HProject”文件夹内。也可以单击“TurboC+3.0汉化版”菜单中的“代码编辑器”菜单命令。调出“代码编辑器”软件窗口,如图127所示,利用它可以轻松输入和编辑C语言程序,再将该程序保存在“C:TCPP30HProject”文件夹内。图127“代码编辑器”窗口然后,在英文TurboC+3.0工作环境内打开需要的C语言程序。这
23、里,我们在英文TurboC+3.0工作环境内输入如下的“TC11.C”程序。此时的英文TurboC+3.0工作环境如图128所示。/*TC11*/*/6#includestdio.hmain()printf(WelcometoTurboC+3.0World!n)程序中,代码的前2行为文件头,对程序作相关说明,“/*”和“*/”符号之间的内容(可以是多行)是注释内容,用来帮助读懂程序,不参与程序的执行。“/*”与“*/”必须同时存在。“#includestdio.h”语句是程序的预处理命令(在以后的章节将对它作详细解释),引用了C语言的标准库“stdio.h”,使下面的printf()语句得以顺
24、利执行。main()是C语言程序的主函数入口,所有的C语言程序都是从这里开始执行。下一行的左花括号“”与最后一行的右花括号“”之间是函数的主体,它们必须是成对出现。“printf(WelcometoTurboC+3.0World!n)”语句使用了C语言的输出函World!n”。C语数printf()用来输出双引号内的字符串“WelcometoTurboC+3.0语句的最后是分号“”,所有的C语句都必须以分号结束。言中的字符串都必须用半角双引号“”括起来。其中的“n”是转义字符,表示换行。这行图128在英文TurboC+3.0工作环境内输入程序(2)编辑C语言程序:通过按方向键可以移动光标。在英
25、文TurboC+3.0工作环境内“Edit”(编辑)菜单内提供了一些菜单命令,利用它们可以简化程序的输入和编辑程序。单击“Edit”“Clear”(清除)菜单命令或Ctrl+Delete键,将选中的内容删除。单击“Edit”“Cut”(剪切)菜单命令或按Shift+Delete键,将选中的内容剪切到剪贴板内。单击“Edit”“Copy”(拷贝)菜单命令或按Ctrl+Ins键,将选中的内容拷贝到剪贴板内。单击“Edit”“Paste”(粘贴)菜单命令或按Shift+Ins键,将剪贴板内的内容粘贴到当前光标处。另外,英文TurboC+3.0还提供了许多编辑快捷键,如表121所示,利用它们也可以简化
26、程序的输入和编辑程序。表121编辑快捷键及其说明编辑快捷键PageUpHome向前翻一页将光标移到所在行的开始处说明编辑快捷键PageDnEnd向后翻一页将光标移到所在行的结尾处说明7第1章Ctrl+N初步了解C语言程序设计Ins插入/改写方式切换在光标所在行的上边插入新的一行DelCtrl+YCtrl+KWCtrl+QFCtrl+F1删除光标处的字符删除光标所在的一行保存选中的内容到文件查找文字获得有关函数的帮助信息Ctrl+QYCtrl+TCtrl+KPCtrl+QA从光标处删除到行尾删除光标所在处右边的词打印选中的内容查找并替换文字4.保存C程程序和改变当前目录在英文TurboC+3.0
27、工作环境内的“File”菜单内提供了一些菜单命令,用来保存C语言程序、改变默认目录和切换到DOS状态,简介如下。注意:在进行程序的编译执行前最好先保存程序,以免由于错误引起的程序崩溃而丢失文件。(1)Save(保存):单击该菜单命令,可以将当前的C语言程序以原来的名称保存,如果是第1次保存文件,则合执行Saveas(另存为)菜单命令的作用一样。(2)Saveas(另存为):单击该菜单命令,会调出“SaveFileAs”(保存文件为)对话框,如图129所示。输入文件名称后,单击“OK”按钮,即可将当前的C语言程序保存在“Project”文件夹内。如果输入新路径和文件名称,可将程序保存在指定的文件
28、夹内。图129“SaveFileAs”(保存文件为)对话框(3)Saveall(全部保存):单击该菜单命令,可以将当前所有打开的C语言程序保存。(4)Changedir(改变目录):单击该菜单命令,可以调出“ChangeDirectory”(改变目录)对话框,如图1210所示。利用该对话框可以显示当前目录,可以改变显示的目录。图1210“ChangeDirectory”(改变目录)对话框8(5)DOSshell:单击该菜单命令,可以暂时退出TurboC+3.0工作环境,进入DOS窗口,如图1211所示。此时可以输入和执行DOS命令。如果要回到TurboC+3.0工作环境,可以在DOS窗口内下输
29、入“EXIT”命令,再按Enter键即可。图1211DOS窗口1.2.2编译、运行和调试C程序1.编译与连接程序(1)编译:在将C程序(例如,图128所示程序)以名称“TC11.C”保存后,单击“Compile”(编译)“Compile”菜单命令或按Alt+F9键,即可将当前程序进行编译,在“Output”文件夹内生成目标文件“TC11.OBJ”文件,同时调出“Compile”信息窗口,如图1212所示。按任意键,即可完成“TC11.C”程序的编译工作。另外,按按F10键或Alt+C键,激活“Compile”(编译)菜单,按“”或“”光标移动键,选中“Compile”菜单内的“Compile”
30、菜单命令,再按Enter键,也可以当前程序进行编译。图1212“Compile”信息窗口如果程序有错误,此时将弹出提示编译出错的信息窗口,并在屏幕下方的“Message”)(窗口中显示相关的错误信息。图1213“Message”窗口中显示相关的错误信息(2)连接:在生成目标文件“TC11.OBJ”文件后,单击“Compile”(编译)“Link”9第1章初步了解C语言程序设计(连接)菜单命令,即可将当前程序生成的目标文件“TC11.OBJ”与库文件进行连接,在“Output”文件夹内生成可执行文件“TC11.EXE”,同时调出“Linking”信息窗口,如图1214所示。按任意键,即可完成目标
31、文件“TC11.OBJ”与库文件进行连接并生成可执行文件“TC11.EXE”的任务。另外,按按F10键或Alt+C键,激活“Compile”(编译)菜单,按“”或“”光标移动键,选中“Compile”菜单内的“Link”菜单命令,再按Enter键,也可以将当前程序的目标文件“TC11.OBJ”与库文件进行连接,生成可执行文件“TC11.EXE”。图1214“Linking”信息窗口(3)生成:在将C程序(例如,图128所示程序)以名称“TC11.C”保存后,单击“Compile”(编译)“Make”(生成)菜单命令或按F9键,即可一次性完成编译和链接的任务,在“Output”文件夹内生成目标文
32、件“TC11.OBJ”和可执行文件“TC11.EXE”,同时调出“Linking”信息窗口,如图1215所示。按任意键,结束编译和链接的任务。另外,按按F10键或Alt+C键,激活“Compile”(编译)菜单,按“”或“”光标移动键,选中“Compile”菜单内的“Make”菜单命令,再按Enter键,也可以将当前程序进行编译和链接,生成可执行文件。图1215调出“Linking”信息窗口在进行编译、链接或生成操作后,会在“Message”窗口中显示相关的信息。(4)辅助操作:“Compile”菜单内的其他菜单命令有以下作用。“Buildall”菜单命令:执行该菜单命令,可以重建所有文件。重
33、新编译项目里的所有文件,并进行装配生成.EXE文件。“Information”菜单命令:执行该菜单命令,可以调出“Information”信息框,显示相应的统计信息,如图1216所示。“Removemessages”菜单命令:执行该菜单命令,可以清除“Message”窗口内的编译信息文字。10图1215调出“Information”信息框2.运行程序(1)运行程序:如果程序已经进行了编译和连接,生成了可执行文件,则单击“Run”(运行)“Run”菜单命令或按Ctrl+F9键,即可运行与当前程序对应的扩展名为“.EXE”的可执行文件,“Output”窗口内显示出运行结果,如图1216所示。单击“
34、Window”(窗口)“Output”菜单命令,可以调出或关闭“Output”窗口。图1216“Output”窗口内显示程序的运行结果如果当前程序没有生成可执行文件,则单击“Run”“Run”菜单命令或按Ctrl+F9键后,首先对程序进行编译和连接,生成扩展名为“.EXE”的可执行文件,然后再运行刚生成的可执行文件。按Alt+F5键,可以切换到DOS窗口并显示“Output”窗口内的运行结果。再按任意键,可以回到TurboC+3.0工作环境。(2)“Run”(运行)菜单内其他菜单命令的作用:按Alt+R键,可以激活“Run”菜单,按“”或“”光标移动键,选中“Run”菜单内的菜单命令,再按En
35、ter键,可以执行选好总的菜单命令。“Run”(运行)菜单内其他菜单命令的作用简介如表121所示。表121“Run”(运行)菜单内其他菜单命令的名称和它的作用菜单命令Programreset(程序重启)Gotocursor(执行到光标处)Traceinto(跟踪进入)作用热键Ctrl+F2F4中止当前的调试,释放分给程序的空间在调试程序时,使程序运行到“编辑”窗口内的光标所在行。光标所在行必须为一条可执行语句,否则提示错误在程序运行时对运行状态进行跟踪,他可以跟踪到函数内部,F711第1章初步了解C语言程序设计以便用户观察程序的运行情况(例如,变量质的变化)Stepover(单步执行)在程序运
36、行时,用户可以根据此命令对程序进行分段执行,调用函数时不会跟踪进函数内部Arguments(运行参数)单击该菜单命令可以调出“Progrem来输入运行参数Arguments”对话框,用F83.错误种类和调试程序在编写程序中,产生一些语法错误是难免的,这就需要对程序进行调试。TurboC+3.0为用户提供了强大的调试功能,在程序进行编译时,会对程序中的错误进行诊断,并显示相应的提示信息。(1)错误种类:编译诊断的错误可以分为致命错误、错误和警告,简介如下。致命错误:它大多数是编译程序内部发生错误,发生这类错误时,编译中止,只能重新启动TurboC。幸运的是,这类错误很少发生,但是为了安全,编译前
37、最好先保存工程。错误(Errors):它通常是在编译时,因为程序语法不当所引起的,比如:缺少括号、变量未声明等。产生错误时,编译程序会出现报错提示,根据提示对源程序进行修改即可。这类错误是最容易出现的。警告(Warnings):它是指被编译程序怀疑有错,但不确定,有时可以强行编译通过。(2)简单错误的程序调试:下面介绍利用TurboC+3.0对有简单错误的程序进行调试的基本方法。将图128所示“TC11.C”程序中第6行末尾的“)”删除,按F9键,编译程序,会弹出“Compiling”(编译)窗口,显示程序的错误个数等信息,如图1217所示。可以看到编译出现两处错误“Errors:2”,1个警
38、告“Warnings:1”。图1217“Message”窗口中显示相关的错误信息按任意键,此时程序的“Message”窗口被激活,光标变为深红色小矩形块,光标定位在出现第一个错误(或警告)的语句行,同时,编辑窗口内会显示该错误和警告的提示性息,如图1218所示。此处,因为语句行末尾缺少一个“”,因而产生一个警告(Warnings)和一个错误(Errors)。12图1218“Message”窗口中显示相关的错误信息从这个结果可以看到,程序中只有一处错误,由于编译器并没有想象中的那样聪明,因此会产生2条或多条错误消息,其实这些错误都是由一条错误而引起的错误提示。在图128所示TC11.C”序中第6
39、行末尾的补一个”去除了一个警告“程“,(Warnings)和一个错误(Errors)。然后,再按F9键,编译程序,再弹出“Compiling”(编译)窗口,如图1219所示。可以看到,编译出现一个错误“Errors:1”。图1219“Message”窗口中显示相关的错误信息在图128所示“TC11.C”程序中第6行“”左边补一个“)”,即可去除一个错误(Errors)。然后,再按F9键,编译程序,再弹出“Making”(编译)窗口,编译正常,没有错误产生。提示:在程序中出现多条错误时,如果不能明显示地看出错误所在,当改正一条错误后,就应该先编译一下,以避开由于编译器的缺陷而产生的错误提示。当查
40、找错误时,为方便查看,可以按F5键,放大“Message”窗口;按F6键,扩大“Message”窗口;按F6键,在编辑窗口和消息窗口间来回切换,以便于查找错误。(3)程序调试(Debug)菜单命令:程序的调试可以利用“Debug”(调试)菜单内的菜单命令来完成。单击其中的“watch”(监视)菜单命令,会调出“watch”(监视)菜单,该菜单内有4个菜单命令,利用这4个菜单命令,可以插入、编辑和删除监视点。watch(监视)菜单命令下边的两条菜单命令也是有关监视点的菜单命令。(Debug)菜单内所有菜单命令的名称和它的作用如表122所示。表122“Debug”(调试)菜单内其他菜单命令的名称和
41、它的作用菜单命令Inspect(数据类型)作用热键Alt+F4单击它,会调出“DataInspect”对话框,用来输入数据类型13第1章Evaluate/modif(查看表达式的值)初步了解C语言程序设计Ctrl+F4单击它,会调出“EvaluateAndModif”对话框,用来输入或修改变量或表达式;当程序执行到断点时,查看变量或表达式的值,也可以修改表达式的值Callstack列,即堆栈)(函数调用序用来检查堆栈情况。若断点设置在函数中,将在屏幕上弹头出窗口显示函数调用顺序在watch(监视)菜单中,向监视窗口插入一监视表达式Ctrl+F3Addwatch(插入监视表达式)Deletewa
42、tch(删除监视表达式)Editwatch(编辑监视表达式)Removeallwatches清除所有监视表达式)Togglebreakpoint设置或清除断点)Breakpoints(断点列表)Ctrl+F7在watch(监视)菜单中,从监视窗口中删除当前监视的表达式在watch(监视)菜单中,在监视窗口中编辑一个监视表达式在watch(监视)菜单中,从监视窗口中删除所有的监视表达式对光标所在的行设置或清除断点Ctrl+F8单击它,可以所有设置的断列出来4.改变默认路径和调整窗口(1)改变默认路径:在默认情况下,“Project”文件夹用来保存C程序文件,“Output”文件夹用来程序输出的“
43、.OBJ”和“.EXE”文件。如果要改变保存C程序文件、“.OBJ”文件和“.EXE”文件的默认文件夹,可以单击“Options”(选项)“Directories”(路径)菜单命令,调出“Directories”对话框,如图1220所示。其内有4个文本输入框,它们的作用如表123所示。图1220“Directories”对话框表123“Directories”窗口内4个文本输入框的作用输入文本框的名称IncludeDirectoriesLibraryDirectories作用用来设置包含文件的默认路径;当有多个子目录时,需用“”将各路径分开用来设置库文件的默认路径;当有多个子目录时,需用“”将
44、各路径分开用来设置输出文件(扩展名为“.OBJ”“.EXE”和“.MAP”)的默认路径、用来设置程序文件的默认路径OutputDirectoriedSourceDirectoried(2)窗口类型:TurboC+3.0的窗口通常有“Message”(信息)、“Output”(输出)、“Watch”(监视)“Usescreen”用户屏幕)“寄存器”Register)窗口,用、(和(等利“Window”菜单内第2栏中的菜单命令,可以调出相应的窗口。14“Message”(信息)窗口如图1213所示,用来显示提示信息;“Output”(输出)窗口如图1216所示,用来显示程序运行结果;“Watch”
45、(监视)窗口如图1221所示,用来显示监视信息;“Usescreen”(用户屏幕)窗口,按任意键可以返回TurboC+3.0工作环境;“寄存器”(Register)等窗口如图1222所示,用来显示CPU寄存器内数值。图1221“Watch”窗口图1222“寄存器”窗口(3)调整窗口:利用“Window”菜单内第1栏和第3栏中的菜单命令,可以调整当前窗口的大小、调整窗口位置、放大窗口、平铺或层叠所有打开的窗口,还可以改变当前窗口,关闭窗口。简介如下。单击“Size/Move”(大小或移动)菜单命令后,用鼠标拖曳当前窗口上边边框的白色双线或文字,可以调整当前窗口的位置。用鼠标拖曳当前窗口四边白色双
46、线,可以调整窗口的大小(不包括“Watch”窗口)。单击“Zoom”(放大)菜单命令后,可以使当前窗口铺满整个TurboC+3.0工作环境的窗口。单击“Tile”(平铺)菜单命令后,可以使所有打开的窗口会平铺整个TurboC+3.0工作环境的窗口。单击“Cascade”(层叠)菜单命令后,可以使所有打开的窗口会层叠整个TurboC+3.0工作环境的窗口。单击“Next”(下一个)菜单命令,可以使下一个窗口成为当前窗口。单击“Close”(关闭)菜单命令,可以关闭当前窗口。单击“Closeall”(全部关闭)菜单命令,可以关闭所有窗口。单击“Listall”(全部列表显示)菜单命令,可以调出“W
47、indowList”对话框,如图1223所示。可以看到,“WindowList”对话框内的列表框中会列出所有打开的窗口,选中其中的一个窗口名称,单击“OK”按钮,即可使选中的窗口成为当前窗口。单击一个窗口内部,可以使该窗口成为当前窗口。图1223“WindowList”对话框15第1章初步了解C语言程序设计1.3基本数据类型、常量与变量1.3.1标识符与关键字在程序设计中,常用具有一定意义的名字来标识程序中的变量、字符常量、函数、数组、类、标号以及其他用户自定义的数据类型,以方便在程序设计中按名字来访问数据,这个名字称为标识符。在C语言程序中,标识符的命名规则如下。(1)标识符通常由18个字符
48、组成,首字符必须是下划线或英文字母。气候的字符只能是下划线“_”、数字(0)和英文字母。(2)C语言中,以识别标识符中字母的大小写,义标识符时必须注意字母的大小写,可定通常使用英文小写字母。例如:SUM和Sum在C语言中就是两个不同的标识符,一定要注意这一点。(3)在C语言程序中,还有一类特殊的标识符,它们仅供系统专用,不能用来作为用户定义的标识符,这就是关键字。关键字通常也称为保留字,它们是由语言规定的具有特定意义的的系统保留标识符,们不能被用作程序中的标识符。下是C语言保留的关键字。它以_cstypedefsignedelseif_dsint_esbreakcharunsignedstru
49、ct_sspascalasmnearexterncontinuesizeoflongreturnstaticcdeclautoswitchunionforconstvoiddoublefloatfarenumhugeregistershortinterruptwhiledefaultdocasevolatilegoto(4)标识符的命名最好考虑所描述对象的含义,以增加可读性。下面都是合法的标识符:Name、Nl、abc、sum、_VAR10、year_2011、_986、ID_list1下面都是非法标识符:N3、2TEL、nabc#、str1、mailyahoo、+N2、!hkl、$AB、%1
50、23用户定义的标识符不应与关键字相同。1.3.2基本数据类型数据类型就是数据所具有的类型,用于说明数据的类别,以便于在内存中为其分配相应的存储空间。C语言提供了丰富的数据类型,可以分为基本类型、结构类型和其他一些类型。本节主要介绍基本数据类型,其他类型在以后的章节中学习。C语言的基本数据类型主要有整型、实型(也叫浮点型)和字符型等。基本数据类型的名称、类型说明符、占字节数和取值范围如表131所示。表131类型整型名称短整型整型长整型无符号短整型无符号整型基本数据类型的名称、类型说明符、占字节数和取值范围类型说明符shortint或shortintlongint或longunsignedshor