2.C语言程序四步开发环境介绍及开发步骤(1)

1.C语言程序的四步开发步骤

(1)编辑。可以使用任何编辑软件将写在纸上的C语言程序输入电脑,保存C语言源程序文件*.设置字体、字号等)。

(2)编译。编译过程使用C语言编译器将编辑后的源程序文件“*.c”翻译成二进制目标代码文件“*.obj”。编译器逐句检查源程序是否有语法错误 发现错误后不仅会显示错误的位置(行号),还会告知错误类型信息,我们需要再次回到编辑软件修改源程序的错误,然后再次编译,直到消除所有语法和语义错误。

(3)连接。程序编译后生成的目标文件是可重定位的程序模块,不能直接运行。连接会编译编译生成的每个目标程序模块和提供的库函数“*.lib”由系统或第三方链接在一起生成可执行文件“*.exe”,可以脱离开发环境,直接在操作系统下运行。

(4)运行程序。如果经过测试,运行可执行文件达到了预期的设计目的,那么这个C语言程序的开发就完成了。如果运行出现错误,说明有问题与程序处理的逻辑有关系,需要再做一次,回到编辑环境进一步检查修改源程序是否存在程序逻辑错误,重复编辑→编译→链接→运行的过程,直到得到了预期的结果。

2.Visual C++ 6.0 开发环境介绍

Visual C++6.0(以下简称VC)是微软推出的可视化开发环境Developer Studio下的一个组件c语言程序设计:习题解答与上机指导,它为我们提供了一个集程序创建、编辑、编译、调试等为一体的集成开发。环境(IDE)。

VC集成开发环境功能强大,不仅提供了大量的向导(Wizard),还提供了完整的帮助功能(MSDN)。因此,初学者学习C语言编程,并不需要完全了解开发环境的所有功能。我们在安装VC的时候可以选择完全安装MSDN,遇到问题再去MSDN中的相关说明。通过“开始”菜单或桌面快捷方式启动Visual C++,进入集成开发环境,如图1-1所示。

图 1-1 Visual C++ 界面

与大多数 Windows 应用程序一样,Visual C++ 顶部有菜单,然后是工具栏,中间是工作区(左侧窗口是项目工作区,C 程序员可以在全局选项中查看正在进行的开发) ClassView页面。全局变量和全局函数,右边窗口是编辑窗口,可以同时编辑多个文件)。底部状态栏上方的窗口是输出窗口,主要用于显示编译、连接信息和错误提示。我们可以双击错误提示行,VC会在编辑窗口打开错误代码所在的源程序文件,快速将光标定位到错误行。

在编辑窗口中输入和编辑程序源代码时,源代码会显示“语法着色”。默认情况下,代码是黑色的,带有绿色的注释和蓝色的关键字(指的是 VC 保留的 public、private、new、int 等)。我们可以通过工具菜单下选项对话框中的格式选项卡进一步设置指定的颜色。

2.1 项

在开发应用程序时,往往会有很多源程序文件、菜单、图标、图片等资源。VC通过“项目”来管理上述资源。因此,在开始开发C程序时,我们需要在指定文件夹中创建一个扩展名为.DSW的工程工作区文件,包括工程中所有文件的名称、文件所在目录、编译器和链接器信息。关于项目工作的选项和其他信息;除了带有 .DSP 扩展名的项目日志文件外,还有一个带有 .OPT 扩展名的工作区选项文件(包含 Developer Studio 的所有个人设置 – 包括颜色、字体、工具栏、打开的文件以及 MDI 窗口的位置以及调试中的最新断点)等。打开项目工作区文件时会自动打开其他文件。Res(资源)、Debug(调试)、Release(发布)等子文件夹也在该文件夹下创建。

2.2编辑

在编辑窗口中打开、浏览文件、输入、修改、复制、剪切、粘贴、查找、替换、撤消等操作,可以通过菜单或工具栏按钮来完成。这些类似于 Word 等 Windows 编辑器的使用。完全相同,此处不再赘述。

2.3辅助

VC不仅提供了“语法着色”来帮助我们阅读程序,还可以通过一些快捷键检查常见的括号不匹配错误。MSDN还可以在编辑时提示已有的变量名和函数名。许多程序员使用 Visual Assist X 等工具来协助开发,以减少出现程序错误的可能性。

3.开发 C 程序

3.1 开发单个C语言程序

1. 创建一个工作文件夹。

由于开发过程会产生一系列文件,因此建议为每个新开发的 C 程序创建一个工作文件夹。您还可以集中所有工作文件夹,例如 E:\LXH\EX01-01、E:\LXH\EX03-02 等。

2. 启动 Visual C++。

3. 创建一个新的 C 语言源程序。

选择菜单:File下的New菜单项,出现如图1-2所示的新建(new)对话框。

图 1-2 选择菜单 File 下的 New 菜单项

选择Files选项卡下的C++ Source File,在“E:\LXH\EG01-01”文件夹下创建一个C程序:eg01-01.c,如图1-3所示。

图 1-3 文件选项卡

4. 输入和编辑源程序。

注意不要输入中文标点,及时按Ctrl+S保存文件,如图1-4所示。

图 1-4 输入源程序

5. 编译c语言程序设计:习题解答与上机指导,链接。

点击“Build MiniBar”工具栏上的“Build”按钮进行编译连接。也可以选择Build(F7)菜单项或Build菜单下的Rebuild All菜单项。更简单的方法是直接按F7功能键。Visual C++会提示创建默认工作区,如图在图 1-5 中。

图 1-5 创建默认工作区

单击“是”按钮。如果编译完全成功,将显示“0 个错误,0 个警告”。如果有语法错误,返回4修改源程序。然后,再次编译,直到消除所有错误。

6. 运行

单击“Build MiniBar”工具栏上的“Execute Program”按钮运行程序。也可以选择 Build 菜单下的 Execute eg01-01.exe 菜单项。更简单的方法是直接按功能键Ctrl+F5运行程序。如果运行结果正确,C语言程序的开发到这里就完成了。否则,程序中的逻辑错误返回4,修改源程序,重复编译-链接-运行的过程,直到得到预期的结果。

7. 关闭

如果不退出Visual C++,再开发下一个C程序,需要选择菜单File下的关闭工作区菜单项关闭当前工作区,然后按照步骤1-7开发下一个C程序

3.2添加多个C语言源程序

在用 C 语言开发应用程序时,经常会用到多个 C 语言源程序。

现有C语言源程序文件“sayhello.c”:

#包括

无效的说你好(无效)

{

printf(“你好\n”);

}

将其添加到“eg01-01.c”的步骤如下:首先,打开“eg01-01.dsw”,在工程工作区的ClassView页面点击Globals选项,然后选择“项目到项目”菜单项“文件…”菜单下的“添加”

图1-6 添加多个源程序文件

然后在“Insert Files intoProject”对话框中选择“sayhello.c”:

图1-7 选择要添加的源程序文件

然后在main()函数中添加子函数描述和调用:

图1-8 添加子功能说明及调用

程序运行结果如图1-9所示:

图 1-9 程序运行结果

4.调试 C 程序

初学者学习 C 语言编程,当他们看到自己程序中的错误时,常常会不知所措。有的同学一上电脑,只要程序能流畅运行,就以为大功告成,没想到程序还存在一些隐患。如果你想犯更少或更少的错误,你需要了解错误的类型以及如何在 C 编程中纠正它们。C语言编程中的错误可以分为语法错误、连接错误、逻辑错误和操作错误。

语法错误:编写程序时违反了 C 语言的语法。不正确的语法、拼写错误的关键字、缺少标点符号、不匹配的数据操作类型、不匹配的括号等都是语法错误。进入程序编译阶段,编译系统会给出错误行和相应的“错误信息”。我们可以双击错误提示行,快速将光标定位到错误代码所在的错误行上。根据错误提示修改源程序,消除错误。

链接错误:如果使用了错误的函数调用,例如错误的函数名或不存在的函数名,编译系统将在链接时捕获此错误。修正方法同1。

逻辑错误:虽然程序没有上述两个错误,但程序运行的结果却与预期的效果不符。逻辑错误往往是由于程序使用的算法有问题,或者编写的程序逻辑与算法不完全匹配。逻辑错误比语法错误更难消除。程序员需要一步步调试程序,检查循环和分支调用是否正确,变量值是否按预期变化。

运行错误:程序没有上述错误,但运行结果是对是错。运行错误往往是由于程序的容错能力低,在设计中可能只考虑一部分数据,而不能应用于其他数据。比如打开文件时,不检测是否打开成功就开始读写文件。结果,程序运行时,如果文件能顺利打开,说明程序运行正常;否则,程序运行不正确。为避免此类错误,需要反复测试程序,完成算法,使程序适应各种情况下的数据。

为了方便程序员排除程序中的逻辑错误,VC提供了强大的调试功能。每当我们创建一个新的 VC 项目时,默认状态是 Debug 版本。调试版会执行编译命令_D_DEBUG将头文件调试语句的ifdef分支代码添加到可执行文件中;同时添加的调试信息允许开发人员观察变量并逐步执行程序。因为debug版本包含很多信息,所以生成的Debug版本可执行文件会比Release版本大很多。

4.1 设置断点

VC可以在程序中设置断点来跟踪程序的实际执行流程。设置断点后,可以按“F5”功能键启动Debug模式,程序会在断点处停止。然后我们可以单步执行程序,观察变量的值如何变化,并确认程序的行为符合预期。设置断点的方法是:将光标停在要暂停的行上,选择“Build MiniBar”工具栏按钮“Insert/Remove Breakpoint(F9)”按钮添加断点,如图1-10. 如图,断点所在的代码行最左边出现一个暗红色实心点,表示断点设置成功。

图 1-10 设置断点

如果该行已设置断点,再次按“F9”功能键将清除断点。

4.2 个调试命令

我们也可以在VC的“Build”菜单下的“Start Debug”(开始调试)中点击Go(F5)命令进入调试状态,Build菜单会自动变成Debug菜单,提供如下特殊调试顺序:

Go(F5) 从当前语句运行程序,直到程序结束或断点。

Step Into(F11) 进入下一条语句并跟踪遇到的函数。

Step Over(F10) Step over (跳过被调用函数)

Run to Cursor(Ctrl+F10) 将程序运行到光标所在的代码行。

Step out(Shift+F11) 在函数调用之外执行语句,在函数调用语句处终止。

Stop Debugging(Shift+F5) 停止调试,返回正常编辑状态

运行程序时必须使用 Go 命令(而不是 Execute)来启动调试模式。在调试模式下,程序在一条语句处停止,语句左侧出现一个黄色小箭头。在任何时候,我们都会中断程序、单步执行、查看变量并检查调用。例如按“F5”功能键进入调试模式,程序运行到断点暂停;连续按“F10”功能键,然后逐行执行程序,直到程序结束。

需要注意的是,如果希望能够逐行单步执行程序,则在编写程序时必须每行只写一条语句。

4.3 视图变量

在单步调试的过程中,我们可以在下面的Variables子窗口和Watch(监控)子窗口中动态查看变量的值,如图1-11所示。Variables 子窗口自动显示当前运行上下文中每个变量的值,而 Watch 子窗口只显示在此 Watch 子窗口中输入的变量或表达式的值。随着程序一步步运行,您也可以直接用鼠标指向程序中的变量,查看其值。例如,在图1-11中,我们可以清楚的看到程序给自动变量first、second、big分配了内存,但是它们的初始值是随机的。

图 1-11 查看变量

变量子窗口有 3 个选项卡:Auto、Locals 和 This。

Auto Tab:显示当前语句和前一个语句使用的变量,也显示使用 Step over 或 Step out 命令后函数的返回值。

Locals 选项卡:显示当前函数使用的局部变量。

This选项卡:显示This指向的对象(C语言不使用this)。

如果变量太多,自动显示的Variables窗口难以查看,也可以点击右侧的Watch按钮。

在子窗口中添加要监控的变量名称。例如,图 1-11 将变量“first”添加到 Watch1 子窗口。我们也可以直接拖动变量到Watch

子窗口的空白名称框。添加后,将显示变量的值。并且随着单步调试的进行,您将首先看到变量

值逐渐变化。如果每个变量的值按照设想的方式逐渐变化,程序运行正确,开发成功结束。如果发现变量值的变化与假设不一致,说明程序存在逻辑错误,需要停止调试,返回编辑窗口,检查错误并修改程序。

4.4 查看内存

数组和指针指向一块连续内存中的多条数据。您可以使用 memory 函数来显示由数组和指针指向的连续内存的内容。点击Debug工具栏上的内存按钮,会弹出一个对话框,在这里可以输入数组或指针的地址,可以显示该地址所指向的内存内容。如图1-12所示:

图 1-12 检查内存

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论