Visual C++新建一个工程和调试

一、实验目的

1.  初步学会使用Visual C++集成开发环境(IDE)。①进入和退出;②菜单、工具栏的使用;③用户窗口区的划分:workspace, scource file, message。

2.  初步了解调试程序方法。

二、实验内容

1. 范例:Visual C++控制台应用程序设计步骤。

作为学习面向对象的C++的第一步,学习的重点是算法,必须避免用户图形界面的干扰,这时可采用控制台应用程序进行练习。

下面是一个控制台应用程序实例,该程序要求用户从键盘输入3个整数,

然后按照从小到大的顺序在屏幕上输出。

[步骤一]  进入和退出Visual C++集成开发环境

启动并进入Visual C++集成开发环境有至少有3种方法:

⑴ 选择“开始”菜单中的“程序”,然后选择Microsoft Visual Studio 6.0级联菜单,再选择Microsoft Visual C++6.0,如图1.1所示。

⑵ 在桌面上创建Microsoft Visual C++6.0的快捷方式,直接双击该图标;

⑶ 如果已经创建了某个Visual C++工程,双击该工程的dsw(Develop Studio Workshop)文件图标,也可进入集成开发环境,并打开该工程。

选择File|Exit菜单,可退出集成开发环境。

wps_clip_image-592

[步骤二] 创建一个控制台应用程序工程。

⑴ 入Visual C++集成开发环境后,选择File|New菜单,弹出New对话框,单击Projects标签,打开其选项卡,在其左边的列表框中选择Win32 Console Application工程类型,在Project name 文本框输入工程名Exp1_1,在Location文本框输入工程路径,单击OK按钮,如图1.2所示。

wps_clip_image-786

wps_clip_image-788

图1.3 Win 32 Console Application Step 1 of 1

⑵ 在弹出的对话框(如图1.3所示)中,选择an empty project,单击Finish按钮。

⑶ 此时出现New Project Information框,如图1.4所示。此对话框提示用户创建了一个空的控制台应用程序,并且没有任何文件被添加到新工程中,此时,工程创建完成。

wps_clip_image-978

图1.4 New Project Information 窗口

[步骤三] 程序的编辑、编译、建立、执行。

⑴ 选择File|New菜单项,出现New对话框,打开Files选项卡,在列表框中选择C++ Source File,在File文本框中输入文件名Exp1_1.cpp,选中Add to Project复选框,如图1.5所示。然后单击OK按钮,打开源文件编辑窗口,在其中输入以下源代码:

#include

using namespace std;

int main(){

int a,b,c;

int max,min;

cout<<"请输入三个不等整数:/n";

cin>>a>>b>>c;

if(a>b){                         //A行

max = a; min = b;

}

else {                         //B行

max = b; min = a;

}

if(c>max)  cout<

else if(c

else  cout<

return 0;

}

//将上述内容保存为Exp1_1.cpp

wps_clip_image-1597

对于已经存在的源文件,选择Project|Add to Project| Files…菜单项,在随后打开的插入文件对话框中选择待添加文件,按OK添加进工程。

⑵ 选择Build|Compile菜单项,即可编译源文件Exp1_1.cpp,系统会在Output窗口显出错误 (Error)信息以及警告 (Warning)信息。当所有Error改正后,可得到目标文件(Exp1_1.obj)。

编译器在Output窗口给出语法错误和编译错误信息。

语法错误处理:鼠标双击错误信息可跳转到错误源代码处进行修改,一个语法错误可能引发系统给出很多条Error信息,因此,发现一个错误并修改后最好重新编译一次,以便提高工作效率;

警告信息(Warning)处理:一般是触发了C/C++的自动规则,如将一个浮点型数据给整型变量赋值,需要系统将浮点型数据自动转换为整型,此时小数部分会丢失,因而系统给出警告信息。警告信息不会影响程序执行,本例可以通过强制类型转换去掉警告信息。

⑶ 选择Build|Build菜单项,连接并建立工程的EXE文件,得到可执行文件Exp1_1.exe。这时编译器可能会给出连接错误(Linking Error)。产生连接错误的原因可能是缺少所需要的库文件或目标文件,或程序中调用的外部函数没有定义等,只要补充相应文档再重新建立即可。

wps_clip_image-2172⑷ 选择Build|Execute菜单项,执行工程文件,会出现一个类似DOS操作系统的窗口,按要求输入三个不等的整数后按Enter键,屏幕上由大到小输出这三个整数,如图1.6所示。

[步骤四] 程序的调试。

运行程序时,可能会发现程序没有编译错误,而且也能执行,但执行的结果不对,此时,除了仔细分析源程序,还可借助调试工具进行跟踪调试。

例如,若在Exp1_1.cpp的B行中的else后面多加一个分号:

… else ; {max = b; min = a;}

用88, 45, 67这组数据测试,发现输出结果为67 45 88,显然结果不对。此时需要对程序进行调试,下面介绍调试过程。

首先在源程序中可能出现错误的行上设置断点,方法是将光标移至该行,然后按F9键,或选择工具栏上的手形按钮(再按一次F9键或手形按钮将取消断点),此时该行左侧出现一个红色圆点,断点设置成功,如图1.7在A行设置断点。

选择Build | Start Debug | Go…菜单命令(也可选择Build工具栏上的Go图标),程序执行到断点处停止,这时选择View|Debug Windows子菜单的Watch和Variables两个菜单项,打开监视和变量窗口观察变量值(Watch和Variables窗口的详细介绍见VisualC++ 6.0集成开发环境介绍中菜单的View菜单介绍),分析并查找出错原因。

在Watch窗口加入max和min两个变量,进行监视。Watch窗口的每一行可显示一个变量,其中,左栏显示变量名,双击它可进行编辑;右栏显示变量值。单步执行按F10(不跟踪进函数)或F11(跟踪进函数内),尽管a>b, 在执行了if 后面的{max = a; min = b;}后,仍然执行了{max = b; min = a;}。当程序执行到箭头所指处时,max=45, min=88,如图1.7,与预期结果不相符,说明程序的流程有问题。此时再仔细分析源程序,发现问题出在else后多余的分号。

wps_clip_image-3031

调试过程中Variables窗口动态显示各变量值随程序执行而变化的结果。在面向对象程序设计中,若程序中有类的对象,Variables窗口的this页面可显示当前this指针所指向对象的各个值。

经过反复的修改和调试,使程序中所有问题都得到改正后,可得到正确的执行结果。

你可能感兴趣的:(c语言)