当前位置:文档之家› c语言.实验1 基本操作及调试

c语言.实验1 基本操作及调试

实验1、C程序的编程环境和运行方法一、实验目的1、编辑简单的C程序,以此熟悉Dev-C++( 或Visual C++6.0)集成开发环境,并初步认识C程序的组成及书写风格;2、熟悉C语言源程序在Dev-C++( 或Visual C++6.0)中编辑、编译、连接和运行的全过程以及每一步骤的作用;3、了解编译过程中的语法错误信息并了解修改语法错误的方法;4、理解程序调试的概念,初步熟悉C程序的调试方法。

二、实验内容㈠基本操作1、创建工作目录在D盘新建一个实验1的工作文件夹,文件夹以班名+学号后两位+sy1来命名(例如:17数媒1班3号同学的实验1工作文件夹命名为sm103sy1。

注意:文件夹及文件的命名尽量不要用汉字!);2、安装Dev-C++用拷贝的编译软件压缩包(注意:用本次实验文件夹中提供的低版本编译软件Dev-Cpp 5.10 TDM-GCC 4.8.1 Setup.exe),在机房电脑(或自带笔记本)上练习安装Dev-C++并做必要的设置。

3、编译软件的基本操作启动Dev-C++,熟悉其中常用菜单、工具按钮的功能;㈡简单C程序的编辑、编译、连接和运行(以Dev-C++环境为例)1、创建一个简单的C源程序(1)启动Dev-C++后,单击“文件”菜单下的“新建”命令,选择“源代码”即创建了一个C源文件(2)在代码编辑窗口输入以下代码(注释语句不用输入):#include <stdio.h> // 这是编译预处理命令int main( ) //主函数{ // 函数体开始的标志printf ("This is a C program.\n"); // 输出双引号里面的文字信息return 0; // main函数的返回值为0}检查是否有编辑错误,确定无错误后单击“文件”菜单下的“保存”命令,以sy1-1为文件名,选择文件类型为c,将源文件保存到工作文件夹中(见下图)。

2、编译连接、运行程序⑴编译连接:检查源程序语法错误单击“运行”菜单中的“编译”命令,或单击工具栏中的“编译”工具,或按功能键F9,可以一次性完成对源程序的编译和连接过程,并在信息窗口显示信息。

若程序有语法或连接错误,则找到出错行对源程序进行修改,直至信息窗口出现“错误0,警告0”字样,表示编译正确(如下图所示);⑵运行:单击“运行”菜单中的“运行”命令,或单击工具栏中的“运行”工具,或按功能键F10,运行程序显示运行结果,按任意键退出运行窗口,返回编辑窗口。

编译连接运行调试⑶关闭文件:单击“文件”菜单下的“关闭”。

如需打开一个已经存在的C程序,可以直接双击该程序文件,或单击“文件”菜单下的“打开”命令。

自行练习:按照上述步骤再创建一个C源程序,命名为sy1-2.c,编译、连接并运行程序。

代码如下(注释语句不用输入):#include <stdio.h> //编译预处理命令int main( ) // 定义主函数{ // 函数开始int a,b,sum; // 程序声明部分,定义a、b、sum为整型变量a = 123; // 对变量a赋值b = 456; // 对变量b赋值sum = a + b; // 进行a+b 的运算,并把结果存放在变量sum中printf("sum is %d\n",sum); // 输出结果,注意格式return 0;}运行结果应该为:sum is 579㈢调试程序1、语法错误的检查通过编译即可。

每次改错都是从第一处错误改起,每改一处后要重新编译,直至没有错误。

练习:打开源程序sy1-3error.c,该程序的功能是在屏幕上输出“Welcome to You!”,其中存在3处语法错误,请根据编译给出的出错提示,依次进行修改,调试程序使其能运行,在屏幕上输出Welcome to You!。

2、逻辑错误的检查逻辑错误的检查-单步调试逻辑错误的检查需要用到Dev-C++的动态调试工具(见上图中的“调试”按钮),使用之前要做如下设置:设置如下:单击“工具”菜单下的“编译选项”命令,弹出“编译器选项”对话框;单击其中的“代码生成/优化”标签,再选择其中的“连接器”标签,将其中的“产生调试信息”的值选为“yes”,然后单击“确定”按钮,完成设置(如下图所示)。

①打开源程序sy1-4error.c,编译通过,然后运行程序,从键盘输入3 5后回车(输入时3与5之间有个空格),结果出现运行错误(如下图所示),说明程序中存在逻辑错误,需要用动态调试工具进行调试;②调用动态调试工具栏先设好断点(程序中怀疑出错的地方)。

方法是在某行的行号左边单击一下(例如在第2行的行号左边单击),然后单击“调试”工具按钮,出现调试工具栏及调试窗口(如下图)红色高亮显示的是断点所在行,蓝色高亮显示的是将要执行的语句③开始调试程序(主要熟悉程序的单步执行方法及其过程中查看变量的值)单击调试工具栏上的“下一步”,等待用户在运行窗口上输入变量a和b的值(注意这里输入两个数3和5之间用空格隔开)。

为了观察程序错误所在,首先要看两个变量是否得到正确的值,为此,添加对变量或表达式的查看。

方法是:单击调试工具栏中的“添加查看”按钮,在弹出的窗口中输入想查看的变量a、b及表达式a+b,这样在调试窗口上方左边的变量窗口中可以观察到变量值或表达式的值的变化情况,从而发现错误所在(如下图)从上面的测试情况看,用户正确输入了变量a和b的值,分别是3和5,但在查看窗口中发现变量a和b并未获得正确的输入,说明输入语句中存在错误。

仔细看,是漏了&运算符;注意:观察某个变量的当前取值还可以通过设置“环境选项”更方便得到,具体设置方法:单击“工具”菜单下的“环境选项”命令,弹出“环境选项”对话框;勾选其中“浏览Debug变量”下的“查看鼠标指向的变量”,然后单击“确定”按钮,完成设置。

这样在调试过程中,鼠标指向的变量的当前取值会自动出现的左边一栏中,方便分析程序出错之处(如下图所示)。

⑷结束调试单击调试工具栏上的“停止调试”按钮,程序调试结束,返回到程序编辑窗口。

删除断点,修改错误,重新编译运行,结果正确。

说明:程序的单步执行是检查程序中逻辑错误的最简单的一种方法,适合语句不多的程序的查错;对于比较复杂的程序,还需要结合设置断点、跟踪代码等方法。

程序的逻辑查错比较复杂,首先需要熟悉动态调试工具的使用,此外还需要有较强的分析能力(后者需要长期大量的实践积累经验,更多的调试方法将在后续实验中结合实例进行练习)。

附:简单C程序在VC++6.0中的编辑、编译连接、运行及调试方法示例注:若电脑中的Dev C++不能正常使用,也可以尝试用VC++6.0。

㈠简单C程序的编辑、编译、连接和运行(以VC++6.0环境为例)1、创建一个简单的C源程序⑴启动Visual C++6.0后,单击“文件”菜单下的“新建”命令,在打开的“新建”对话框中选择“文件”标签,选择其中“C++ Source File”,指定源文件保存位置为之前创建的工作文件夹d:\ sm103sy1,然后输入文件名(例如本次实验第1个源代码可以命名为sy1-1.c,记得带扩展名.c);⑵在代码编辑窗口输入如下代码(注释语句不用输入),检查是否有编辑错误,确定无错误后保存源文件。

#include <stdio.h> // 这是编译预处理命令main( ) // 定义主函数{ // 函数体开始的标志printf ("This is a C program.\n"); // 输出双引号里面的文字信息}2、编译、连接并运行程序⑴编译:检查源程序语法错误。

单击“编译”菜单中的“编译”命令,或单击工具栏中的“编译”工具,或按组合键“Ctrl+F7”对源程序sy1-1.c进行编译,若程序有语法错误,则找到出错行对源程序进行修改,直至无语法错误,生成扩展名为.obj的目标文件;⑵连接:若源程序没有语法错误,单击“编译”菜单中的“构件”命令,或单击工具栏中的“连接”工具,或按功能键F7,将.obj文件与库函数进行连接,无误后生成扩展名为.exe的可执行文件;⑶运行:单击“编译”菜单中的“执行命令”,或单击工具栏中的“!”工具,或按组合键“Ctrl+F5”,运行上步骤得到的可执行文件,屏幕上显示出程序的运行结果。

⑷关闭工作区:单击“文件”菜单下的“关闭工作区”。

练习:按照上述步骤再创建一个C源程序,命名为sy1-2.c,编译、连接并运行程序。

代码如下(注释语句不用输入):#include <stdio.h> //编译预处理命令main( ) // 定义主函数{ // 函数开始int a,b,sum; // 程序声明部分,定义a、b、sum为整型变量a = 123; // 对变量a赋值b = 456; // 对变量b赋值sum = a + b; // 进行a+b 的运算,并把结果存放在变量sum中printf("sum is %d\n",sum); // 输出结果,注意格式}运行结果应该为:sum is 579注意:新建源程序前务必关闭工作区!㈡调试程序1、语法错误的检查程序编辑完后,通过编译可以发现程序中存在的语法错误。

如果编译后有多个错误,应拖动出错信息窗口右侧的向上滚动条定位到第一个错误信息处双击,进行相应语句行的修改,改完后再进行编译,直到没有语法错误。

打开源程序sy1-3error.c,该程序的功能是在屏幕上输出“Welcome to You!”,其中存在3处语法错误,请根据编译给出的出错提示,依次进行修改,调试程序使其能运行得到正确结果。

2、逻辑错误的检查当一个C源程序经编译、连接无误,但运行时结果不正确,或出现死机、无限循环等情况时,则说明程序中存在逻辑错误。

逻辑错误的检查需要用到Visual C++6.0的动态调试工具,通过单步执行、设置断点、跟踪程序的执行过程、观察变量和表达式的值等多种方法来进行逻辑错误的排查。

⑴按下图给出的代码创建一个C程序sy1-4exp.c,编译、连接无误后,运行程序将得到正确的输出结果;⑵调用动态调试工具栏选择菜单“工具”-“定制”,在对话框中单击“工具栏”选项卡,勾选其中的“调试”复选框,在程序窗口出现调试工具栏(如上图所示)⑶开始调试程序(主要熟悉程序的单步执行方法及其过程中查看变量的值)单击调试工具栏上的“单步执行”(Step over)按钮(或按F10键),出现调试窗口(如下图所示),每单击一次“单步执行”(Step over)按钮(或按F10键),窗口左边的黄色箭头往下移动一行,表示程序将要执行的语句,同时,在调试窗口下方左边的变量窗口中可以观察到变量值的变化情况,在下方右边的表达式窗口可以测试表达式的值。

相关主题