《程序设计上机辅导VC++.ppt》由会员分享,可在线阅读,更多相关《程序设计上机辅导VC++.ppt(32页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、开发一个开发一个C程序,包括以下四步:程序,包括以下四步:1)程序代码的录入。程序代码的录入。程序员可以用任一编辑软件(编辑器)程序员可以用任一编辑软件(编辑器)将编写好的将编写好的C程序输入计算机,并以文本程序输入计算机,并以文本文件的形式保存在计算机的磁盘上。编辑文件的形式保存在计算机的磁盘上。编辑的结果是产生一个源程序文件的结果是产生一个源程序文件.c或或.cpp或或.h。C程序习惯上使用小写英文字母,常量和程序习惯上使用小写英文字母,常量和其他用途的符号可用大写字母。其他用途的符号可用大写字母。C语言对语言对大、小写字母是有区别的。关键字必须小大、小写字母是有区别的。关键字必须小写。写
2、。1.C程序的开发步骤程序的开发步骤2)程序编译程序编译 是将编辑好的源文件翻译成二进制目标代是将编辑好的源文件翻译成二进制目标代码。编译过程是使用码。编译过程是使用C语言提供的编译程序语言提供的编译程序(编译器)完成的。不同操作系统下的各种(编译器)完成的。不同操作系统下的各种编译器的使用命令不完全相同,使用时应注编译器的使用命令不完全相同,使用时应注意计算机环境。编译时,编译器首先要对源意计算机环境。编译时,编译器首先要对源程序中的每一个语句检查语法错误,当发现程序中的每一个语句检查语法错误,当发现错误时,就在屏幕上显示错误的位置和错误错误时,就在屏幕上显示错误的位置和错误类型的信息。此时
3、,要再次调用编辑器进行类型的信息。此时,要再次调用编辑器进行查错修改。然后,再进行编译,直至排除所查错修改。然后,再进行编译,直至排除所有语法和语义错误。正确的源程序文件经过有语法和语义错误。正确的源程序文件经过编译后在磁盘上生成目标文件。编译后在磁盘上生成目标文件。3)链接程序链接程序编译后产生的目标文件是可重定位的程序编译后产生的目标文件是可重定位的程序模块,不能直接运行。链接就是把目标文模块,不能直接运行。链接就是把目标文件和其他分别进行编译生成的目标程序模件和其他分别进行编译生成的目标程序模块(如果有的话)及系统提供的标准库函块(如果有的话)及系统提供的标准库函数链接在一起,生成可以运
4、行的可执行的数链接在一起,生成可以运行的可执行的程序映象文件。生成的可执行文件存在磁程序映象文件。生成的可执行文件存在磁盘中。盘中。4)程序运行程序运行 运运行行前前,OS将将要要执执行行的的程程序序装装入入内内存存。装装入入内内存存的的程程序序在在计计算算机机的的操操作作系系统统控控制下执行。制下执行。若若执执行行程程序序后后达达到到预预期期目目的的,则则C程程序序的的开开发发工工作作到到此此完完成成。否否则则,要要进进一一步步检检查查修修改改源源程程序序,重重复复编编辑辑编编译译链链接接运运行行的的过过程程,直直到到取取得得预预期期结结果果为止。为止。与其它目标程序或库与其它目标程序或库链
5、接装配链接装配,生成可执行生成可执行程序程序*.exe.exeVisual C+6.0Visual C+6.0上机操作上机操作程序代码的录入程序代码的录入,生成源程序生成源程序*.cppcpp编辑链接编译执行语法分析查错,翻译语法分析查错,翻译生成目标程序生成目标程序*.objobjfile.exe源程序目标程序 可执行程序内容程序设计语言 机器语言机器语言可执行不可以不可以可以文件名后缀.c或.cpp.obj.exe2.2.Visual C+6.0Visual C+6.0软件简介软件简介 在在Visual C+6.0Visual C+6.0开发环境下,开发环境下,C C程序按工程程序按工程(
6、projectproject)进行组织,每个工程可包括一个或多个进行组织,每个工程可包括一个或多个C/CPPC/CPP源文件,但只能有一个源文件,但只能有一个mainmain函数。函数。有时,为了完成任务经常需要不止一个工程。因有时,为了完成任务经常需要不止一个工程。因此,此,VCVC中将中将1 1个或多个工程组织成一个工作区。个或多个工程组织成一个工作区。工作区一般包括工作区一般包括1 1个或多个工程,也可以是空的工个或多个工程,也可以是空的工作区,但是作区,但是不能创建一个没有工作区的工程不能创建一个没有工作区的工程。所以在所以在VC+6.0VC+6.0中存在如下中存在如下关系:关系:工作
7、区(工作区(1 1个)个)工程(工程(0 0个或多个)个或多个)C/CPPC/CPP文件(文件(0 0个或多个)个或多个)工作区信息保存工作区信息保存在扩展名为在扩展名为.dsw的文件中的文件中工程信息保存在工程信息保存在扩展名为扩展名为.dsp的的文件中文件中在在VCVC中编辑并调试中编辑并调试C C程序主要有如下程序主要有如下3 3种方式:种方式:1 1)创建一个空的工作区)创建一个空的工作区创建一个空的工程创建一个空的工程新建新建一个或多个一个或多个c/cppc/cpp文件加入到工程文件加入到工程编辑、编译并调编辑、编译并调试试2 2)创建一个空的工程,同时也创建一个工作区)创建一个空的
8、工程,同时也创建一个工作区新新建一个或多个建一个或多个c/cppc/cpp文件加入到工程文件加入到工程编辑、编译并编辑、编译并调试调试3 3)新建一个新建一个c/cppc/cpp文件文件编辑编辑编译编译接受创建默认接受创建默认工程与工作区的提示工程与工作区的提示编辑、编译并调试编辑、编译并调试下面介绍第下面介绍第2 2种方式。种方式。下面以例下面以例1.11.1为示例(例为示例(例1.11.1源文件命名为源文件命名为zmy.cppzmy.cpp)介绍在介绍在Visual C+6.0 IDEVisual C+6.0 IDE中建立工程并进行中建立工程并进行C C程序调程序调试的主要操作步骤。试的主
9、要操作步骤。注意,由于注意,由于Visual C+6.0Visual C+6.0的汉化版本很多,菜单的汉化版本很多,菜单项的汉化名称不尽相同(如主菜单项项的汉化名称不尽相同(如主菜单项“Build”Build”,有的有的版本翻译成版本翻译成“组建组建”,有的版本则翻译成,有的版本则翻译成“编译编译”,而其下拉菜单项中第二个子菜单项名也叫而其下拉菜单项中第二个子菜单项名也叫”Build”Build”,有的版本翻译成有的版本翻译成“生成生成”,有的翻译成,有的翻译成“构件构件”),),所以下面在介绍相应菜单项名称时,用圆括号附上其所以下面在介绍相应菜单项名称时,用圆括号附上其英文菜单项名。英文菜单
10、项名。2.1 2.1 启动启动Visual C+6.0Visual C+6.02.2 2.2 工程(工程(ProjectProject)的创建的创建含工作区含工作区的创建的创建2.3 2.3 在工程(在工程(ProjectProject)中添加并编辑源程序中添加并编辑源程序 是否添加到是否添加到现有项目中现有项目中2.4 2.4 编译过程编译过程2.5 2.5 连接过程连接过程2.6 2.6 执行程序执行程序提醒:compile和build命令不必同时使用,可以只用其中的一个。3.Visual C+6.0Visual C+6.0程序调试程序调试 C C语言程序的错误主要包括两大类:一类是语言程
11、序的错误主要包括两大类:一类是语法错语法错误误;一类是;一类是逻辑设计错误逻辑设计错误。语法错误是指违背了语法错误是指违背了C C语言语法规则而导致的错误。语言语法规则而导致的错误。语法错误分为语法错误分为errorerror和和warningwarning两种。两种。如果程序有语法错误,则在编译时,如果程序有语法错误,则在编译时,Visual C+Visual C+6.0 6.0 的编译器将在输出窗口中给出语法错误提示信息,的编译器将在输出窗口中给出语法错误提示信息,错误提示信息一般还可以指出错误发生所在位置的行错误提示信息一般还可以指出错误发生所在位置的行号。用户可以在输出窗口中双击错误提
12、示信息或按号。用户可以在输出窗口中双击错误提示信息或按F4F4键返回到源程序编辑窗口,并通过一个箭头符号定位键返回到源程序编辑窗口,并通过一个箭头符号定位到引起错误的语句,如下页图所示。到引起错误的语句,如下页图所示。3.1 3.1 程序调试时的常见错误分类程序调试时的常见错误分类出错原因:出错原因:语句后忘记加语句后忘记加分号。分号。说明说明:编译器给出的错误提示信息可能编译器给出的错误提示信息可能不十分准确不十分准确,并,并且一处错误往往会引出若干条错误提示信息,因此,且一处错误往往会引出若干条错误提示信息,因此,修改一个错误后最好马上进行程序的编译或运行。修改一个错误后最好马上进行程序的
13、编译或运行。例如,在上页图中,错误提示信息中括号内的数例如,在上页图中,错误提示信息中括号内的数字字5 5指示错误发生在第指示错误发生在第5 5行,指示错误的箭头也指向行,指示错误的箭头也指向第第5 5行,但实际错误发生在第行,但实际错误发生在第4 4行的末尾,因为第行的末尾,因为第4 4行行的末尾少了一个分号。的末尾少了一个分号。如果程序并没有违背如果程序并没有违背C C语言的语法规则,编语言的语法规则,编译器也没有提示出错,而且程序能够成功运行,译器也没有提示出错,而且程序能够成功运行,但程序执行结果却与原意不符,这类程序设计但程序执行结果却与原意不符,这类程序设计上的错误被称为上的错误被
14、称为逻辑设计错误逻辑设计错误。这类错误由。这类错误由于编译器不能给我们出错提示,所以必须利用于编译器不能给我们出错提示,所以必须利用“调试器(调试器(DebugDebug)”对程序进行跟踪调试才能对程序进行跟踪调试才能发现错误。发现错误。菜单项快捷键功能GoF5程序运行到某个断点,程序的结束或用户需要输入的地方Run to CursorCtrl+F10程序执行到光标处Step IntoF11单步执行程序每条指令,可进入被调函数的内部Step OverF10单步执行程序每条指令,不可进入被调函数的内部3.2 3.2 程序调试时调试器程序调试时调试器(Debug)(Debug)的使用的使用表1.1
15、 开始调试(D)子菜单中的菜单项和命令4 4 常见错误示例常见错误示例(1)(1)出错原因:出错原因:变量变量a a事先事先没有定义。没有定义。4 4 常见错误示例常见错误示例(2)(2)出错原因:出错原因:实型变量不实型变量不允许进行允许进行“求余求余”运算运算.4 4 常见错误示例常见错误示例(3)(3)出错原因出错原因a a和和A A是两个是两个不同的变量不同的变量名,而名,而A A没没有定义。有定义。4 4 常见错误示例常见错误示例(4)(4)出错原因:出错原因:语句后忘记加语句后忘记加分号。分号。4 4 常见错误示例常见错误示例(5)(5)本程序实现:若本程序实现:若a与与b相等,则
16、显示相等,则显示ok。编编译无错。译无错。本程序中本程序中a与与b并不相等,但结并不相等,但结果显示果显示ok。错。错。a=b应该改成应该改成a=b。此为典型的逻辑设计此为典型的逻辑设计错误。错误。4 4 常见错误示例常见错误示例(6)(6)程序的原意是先后输程序的原意是先后输入入5 5个数,每输入一个数,每输入一个数后再将它输出。个数后再将它输出。编译无错。由于编译无错。由于for(for()后多加了一个后多加了一个分号,使循环体变为分号,使循环体变为空语句,此时只能输空语句,此时只能输入一个数并输出它。入一个数并输出它。此为典型的逻辑设计此为典型的逻辑设计错误。错误。这里我们介绍了在这里我们介绍了在Visual C+6.0Visual C+6.0中调中调试试C C程序的一些基本知识,但程序的一些基本知识,但Visual C+Visual C+6.06.0的基本操作和相关知识很多,这里就不的基本操作和相关知识很多,这里就不一一介绍了,更深入的了解可以阅读一一介绍了,更深入的了解可以阅读Visual C+6.0Visual C+6.0的相关专业书籍和网络资的相关专业书籍和网络资源。源。更为重要的是,本工具及本课程的学习更为重要的是,本工具及本课程的学习需要大量的上机实践才能熟练掌握。需要大量的上机实践才能熟练掌握。