visualc++60使用教程.docx
《visualc++60使用教程.docx》由会员分享,可在线阅读,更多相关《visualc++60使用教程.docx(18页珍藏版)》请在冰豆网上搜索。
visualc++60使用教程
如何使用 Microsoft Visual C++6.0(2009-11-0822:
02:
39)
从2008年4月开始,全国计算机等级考试将全面停止TurboC2.0(简称TC)软件的使用,所有参加二级C语言、三级信息技术、网络技术和数据库技术上机考试的考生,都要在VisualC++6.0(简称VC)环境下调试运行C程序。
众所周知,VC软件主要是用来开发C++程序的,如何在VC下调试运行C程序,对于众多程序设计者来说,确实是一个新的话题。
VC与TC的差异,主要是体现在程序设计语言C++与C的关系上。
其实,了解计算机程序设计的人都知道,C++是C语言的升级板,VC是在Windows进行C++程序设计的主要软件,VC完全兼容了C的功能,也就是说,在VC下是完全能够进行C语言程序开发。
一、在VC下运行一个C程序
1.启动VC
启动VC的前提是首先要安装VC软件。
如果你的系统安装了VC软件,当你启动了Windows系统之后,从“开始”菜单进入“所有程序”子菜单,找到MicrosoftVisualC++6.0并单击它即进入VC软件的主窗口,如图1所示:
微型编译条工具栏
2.编辑程序
若要在VC窗口下进行C程序的编辑,首先,单击工具栏的NewTextFile按钮,生成一个新的文本文件窗口,如图2所示;接着,单击Save按钮,激活“保存为”对话框,在指定的文件夹下,输入当前程序的文件名(注意:
文件名必须给出.C的扩展名),再按“保存”按钮。
到此为止,在指定的目录下,就生成了一个由读者自己命名的C文件(比如C001.C),接下来,就可以进入编辑屏幕输入你的C源程序了。
由于当前的文件是C源程序文件,在其中输入的任何内容(如:
关键字、用户标识符及各种运算符),VC系统都会按C源程序的格式进行编排、组织。
比如:
在文件中,当你输入了一个C关键字时,VC系统自动将其设定为蓝色字体以示区别;在编辑过程中,如果你输入了一个块结构语句(如:
for(i=0;i<10;i++)、if(s!
=’\0’)、while(k<5)),按回车后,VC系统会把光标定位在该块语句起始位置开始的下一行的每五个字符位置上,以表示下面输入的内容是属于该块语句的,以体现C源程序的缩进式书写格式;此时,如果输入一个左花括号“{”并回车,VC系统将把该花括号左移到与上一行块语句起始位置对齐的位置上;接着,再按下回车键,VC系统会自动采用缩进格式,将当前光标位置定位在此花括号的下一行的第五列上;如果上一行语句与下一行语句同属于一个程序段(比如:
同一个复合语句中的语句),VC系统会自动将这两个程序行的起始位置对齐排列;……更详细的内容请读者自行上机实习,并认真体会其中的输入技巧。
3.编译程序
程序编辑完后,即可对源程序进行编译处理。
按“编译微型条”(图2所示)的Compile(功能键是Ctrl+F7)按钮,对程序进行编译,这时,屏幕上出现如图3所示的对话框,让建立一个默认的工程工作区,选“是”按钮确认;紧接着,又出现如图4所示的对话框,问是否要保存当前的C文件,回答“是”;然后,系统开始编译当前程序。
如果程序正确,即程序中不存在语法错误,则VC窗口的输出如图5所示的结果。
如果程序中存在语法错误,则在VC的输出窗口显示如图6所示的错误信息。
这些信息告诉我们:
在编译C001.C的程序时出现错误;错误行是第7行;错误原因是标识符printf前面丢了分号“;”。
按照错误提示修改程序,再一次按Ctrl+F7进行编译,直到不存在语法为止。
4.运行程序
当程序编译提示无错误信息(0error(s))后,按下微型编译条工具栏上的“建立执行程序”(BuildExecute)按钮,或相应的功能键Ctrl+F5,程序开始运行,然后显示程序的输出结果如图7所示。
输出结果的屏幕将等待用户按下任意键后,才返回编辑状态,一个C程序的执行过程结束。
二、在VC下调试C程序的方法
1.VC调试功能简介
当一个C源程序编辑完成之后,你可以用上节讲的方法进行编译、运行。
如果程序无编译错误,但无运行结果,或运行结果有误时,你就需要调用VC的编译调试工具来调试你的程序,以便找出出错的原因,从而达到正确的运行结果。
VC为调试C程序提供了多种工具和多组方法,常用的方法有菜单法、工具栏法和功能键法。
实际上,这三种方法是相似或相同的,只是根据用户的熟悉程度和习惯用法选择其中之一,来完成你的调试过程。
作者习惯使用功能键法,因为使用功能键既方便操作,又能节省调试程序的时间,使调试过程在较短的时间内完成。
下面结合调试工具来介绍以上立法。
在VC窗口下的菜单栏和工具栏的空白处,点右键激活快捷菜单,选择“调试”菜单项,这时VC窗口就出现了调试工具栏,如图8所示。
调试工具栏中的工具可分为两部分:
控制程序运行工具和设置观察窗口工具。
①对于控制程序运行工具,从左到右的常用按钮、功能键及功能说明依次是:
●Restart重新执行程序,功能键是Ctrl+Shift+F5。
无论C源程序处于任何状态(编辑、运行、调试),按下此按钮均可使程序从编译开始,逐步进入调试程序状态。
●StopDebugging停止程序调试,功能键是Shift+F5。
当调试过程处于跟踪程序执行的状态时,按下此按钮,将停止调试程序,返回编辑状态。
编辑状态下此按钮无效。
●ShowNextStatement指示当前程序运行的语句行。
●StepInto单步运行并且可进入函数内部运行,功能键是F11。
程序在调试过程中,按下此按钮可单步跟踪程序运行,与StpOver按钮不同的是,该功能可进入函数内部,继续函数内部的语句行跟踪。
注意:
使用此按钮时,当 位于有库函数调用的语句行,不用F11功能,以免进入库函数的汇编程序块中,取而代的是F10功能键。
●StepOver单步运行程序,功能键是F10。
本按钮的功能类似于F11,但它不进入函数内部,它将每一条语句看作一步,包括函数调用语句。
●StepOut 从当前函数中退出,功能键是Shift+F11。
当程序运行至某个函数内部时,按下此按钮后,调试状态即从函数内部退出,返回到调用该函数的主函数的当前语句。
●RuntoCursor 运行到当前光标位置,功能键是Ctrl+F10。
当程序处于调试状态时,为了跳过某程序段,可预先将光标定位在某语句行上,按下此按钮,即可使程序直接运行到当前光标位置,从而节省了时间,加快了调试程序的步骤。
②对于设置观察窗口工具,其功能主要是为配合程序跟踪运行,设置一些观察点,以便定位出错的位置,从而找到出错的原因。
●QuickWatch 快速观察表达式的值,功能键是Shift+F9。
当程序运行到某个关键语句行时,你可以按下该按钮,即在屏幕上显示如图9所示的“QuickWatch”窗口,其中:
E表达式下拉列表框中的a,是由用户输入的当前源程序中的一个数组名;V当前值列表中的“Name”和“Value”列的值就是a数组中所有元素的元素名和元素值。
●Watch设置观察点。
当用户按下该按钮,屏幕显示如图10所示观察窗口,其中的“Name”列和“Value”列为空。
这时,用户可以在Name列中输入用户待观察的观察点,即程序中某个变量的名字,然后回车,在Value列就显示出该变量的当前值。
观察点可以设置多个,多个观察点还可以分别放在不同的观察标签内(Watch1、Watch2…)。
●Variables变量列表,当按下此按钮,屏幕显示如图11所示的变量列表窗口。
窗口中的“Name”列和“Value”列中列出了当前函数中的所有变量名和相应的值,其中:
简单变量只显示变量名和它的值;数组名前面有一个“”符号,Value列显示它的地址值。
●Registers寄存器列表,按下此按钮,屏幕上显示如图12所示的寄存器窗口,窗口中列出了所有寄存器的内容。
●Memory内存列表,按下此按钮,屏幕上显示如图13所示的内存列表窗口,其中“A地址”文本框中显示的是内存的当前地址值,下面的列表框中显示的是从指定地址开始的所有内存区域的值,?
?
表示其值不确定(没有赋确定的值)。
用户可以在程序运行时,在“Watch”窗口中找到某个变量的地址或数组名的值(数组名本身是一个地址量),然后,将该值输出“A地址”的文本框中,在内存列表区立即就能看到它的存储值,不过该值是一个十六进制的数,并且,一个整型数占据四个字节的存储区域。
详细内容可参考下面的例子。
图13
2.使用VC调试C程序的方法
以下程序是全国计算机等级考试二级C语言的一道上机改错题,请考生调试该程序,使其能按要求输出正确的结果。
①程序功能说明
给定程序C003.C中函数fun的功能是:
从s所指字符串中,找出t所指子串的个数作为函数值返回。
例如,当s所指字符串中的内容为:
"abcdabfab",t所指字符串的内容为:
"ab",则函数返回整数3。
请改正程序中的错误,使它能得出正确的结果。
注意:
不要改动main函数,不得增行或删行,也不得更改程序的结构!
②源程序
#define N 80
int fun(char *s, char *t)
{
int n=0; char *p,*r;
while(*s)
{
p=s;
r=p;
while(*r)
if(*r==*p)
{
r++;
p++;
}
else break;
if(*r=O)
n++;
s++;
}
return n;
}
main()
{
char a[N],b[N]; int m;
printf("Enterstringa:
");
gets(a);
printf("Entersubstringb:
");
gets(b);
m=fun(a,b);
printf("Theresultis:
m=%d",m);
}
③调试过程
a) 启动VC系统,编辑输出源程序,并以c003.c命名,结果如图14所示。
b)按功能键Ctrl+F11编译源程序,编译显示结果如图15所示。
编译结果告诉我们,程序中存在一个错误,两个警告。
其中:
警告的原因都是因为系统函数没有包含头文件stdio.h,错误的原因是第16行的标识符(identifierf)’O’没有定义。
需要说明的是,这里的错误很特别:
从程序字面上看,这里的O好象是数字0,而一般考生也分辨不出或不会认为是O。
但是,既然编译系统给出错误信息,就应该根据该错误信息来修改程序。
在源程序前面增加一行文件包含命令“#include”,再把字母O改写成字符0(这是缺乏编程经验的考生的共同作法),再一次编译程序,结果告诉我们程序编译成功。
然后,按Ctrl+F5功能键,运行程序,在提示输入的屏幕上输入题目要求的两个字符串,屏幕显示如图16所示,结果再一次告诉考生:
程序结果有错,即程序中存在逻辑错误。
c)接下来,我们对程序作运一步调试,以找出程序出错的真正原因。
调试一个存在逻辑错误的程序,首先要确定程序中可能出现错误的大概位置。
根据题意说明可确定错误存在于函数fun中。
根据这一判断,我们先将光标定位在fun函数的第一条可执行的语句行上,然后,按下功能键Ctrl+F10,让程序运行到光标位置。
注意:
这个过程中间要进入输入屏幕状态,等待输入a和b字符串,请考生按要求输入,用回车符确认。
当看到任务栏的VC图标在闪烁,请将窗口切换到VC状态,如图17所示:
接下来,边按功能键F10,边观察屏幕下方变量(Variables)子窗口中p字符串和r字符串的变化,同时还要注意VC窗口左边的黄色指点针箭头。
一直重复以上过程,你会发现,黄色箭头始终没有指向“n++;”语句。
我们要找的第一个逻辑错误点就是if语句后面的表达式。
按照正常的情况,if后面的表达式应该是关系表达式或逻辑表达式,而这里的表达式是赋值表达式,正确的语句应该是:
if(*r==0)
n++;
修改之后再按Ctrl+F5运行程序,程序结果如图18所示。
为了利用VC的调试功能和手段,更好地观察其它相关变量的变化规律,在上述过程中,还可以在VC的观察(Watch)窗口输入其它变量,在跟踪程序执行过程中观察其变化。
这种结果也不对,这是第一次错误结果的另一个极端:
从m=0变到m=10。
如何查找其中的原因?
不仿再回顾一下刚才在跟踪程序运行时,变量(Variables)窗口中的p和r字符串的值的变化情况,再结合程序中r字符串的作用,不难看出,p和r应该是不同的字符串,且p字符串是指向s字符串,而r字符串则应该指向t字符串。
正确的结果应该是:
将语句“r=p;”改成“r=t;”。
至此,一个存在错误的C程序的调试过程结束,运行该程序,即可得到正确的运行结果。
需要说明的是,以上调试的程序只是一个简单的例子,其中用到的调试方法也是经常使用的方法之一,若要真正掌握在VC下调试C程序的方法和步骤,需要读者进行大量的上机实践和练习。
用MicrosoftVisualC++5.0/6.0编写简单的控制台程序
MicrosoftVisualC++(下简称MSVC,VC)是美国微软公司生产的基于其Windows系统的软件开发工具。
它具有使用灵活,并与32位Windows内核(使用于Windows95/98/NT/2000)高度兼容的特点,从而被Windows程序员们广泛使用。
同时,MSVC同样可以加工处理C语言程序,与标准的ANSIC语言兼容。
VC提供了一种控制台操作方式,初学者使用它应该从这里开始。
下面我们将对使用MSVC编写简单的控制台程序作一个最初步的介绍。
◇ ◇什么是控制台程序?
Win32控制台程序(Win32ConsoleApplication)是一类Windows程序,它不使用复杂的图形用户界面,程序与用户交互时通过一个标准的正文窗口,通过几个标准的输入输出流(I/OStreams)进行。
它们分别是stdin(标准输入),stdout(标准输出)以及stderr(标准错误输出)。
这些流都是ANSIC语言标准库提供的,通过printf(…)等函数可以访问这些流。
一个最简单的控制台程序如下:
#include
intmain()
{
printf(“Hello,World!
\n”);
return0;
}
该程序的运行结果如下:
图中显示的黑色窗口称为控制台窗口,程序的输入、输出均在这个窗口中进行。
◇ ◇如何使用MSVC编写控制台程序?
很简单,你只需要按照下面几个步骤进行:
1、打开MSVC集成开发环境。
双击桌面或“开始”菜单中的图标“MicrosoftVisualC++5.0(或6.0)”(),不久将看到MSVC的编辑窗口,如图:
2、选择菜单“File|New”,在弹出的对话框中
①单击上方的选项卡“File”,
②选择“C++SourceFile”,
③在“Filename”一栏中填写文件名例如hello.c,
④在“Location”一栏中填写你想把文件存放的位置(目录)。
然后按“OK”。
见下图。
注意:
第③步中一定写明扩展名“.c”(不要用“.cpp”。
那样VC将按C++的方式编译,C++与C有一些的不兼容性);
第④步中指定你自己的目录,不要使用系统的缺省目录或者随便放在根目录或者其他的目录下。
3、在右侧的窗口中键入程序的内容,然后点击图标存盘。
4、试编译。
点击图标,或者选择菜单“Build|Build”(启动程序加工,这样系统将连续进行编译和连接操作。
另一种更稳妥的方式是先做编译,检查无误后再做连接)。
这时VC将弹出一个对话窗口,说明这个命令需要一个工程(Project),问:
是否创建一个默认的工程?
点击“Yes”。
如图。
5、编辑器下面的窗口开始显示编译的结果了。
如果你看到了
“hello.exe--0error(s),0warning(s)”,
那么恭喜你,编译已经通过!
下面,点击快捷工具栏上的红色的感叹号(或者选择菜单“Build|Execute”或按Ctrl-F5),看看运行结果吧(VC将自动打开一个显示结果的窗口,如上所示)。
◇ ◇如何调试我编写的程序?
经过上面有趣的试验后,性急的同学们已经迫不及待地想利用MSVC编写简单的程序了。
不过不要着急,先耐着性子把下面一段看完。
我们都会发现,在编写较长的程序时,能够一次成功而不含有任何错误决非易事(当然,我们鼓励同学们以此为目标,而进行长期大量的练习)。
对于程序中的错误,MSVC提供了易用且有效的调试手段。
在工具栏上单击鼠标右键,在弹出的菜单中对“Debug”项打勾,发现很多有意思的东西吧(下图)?
其中,单步跟踪进入子函数(StepInto),单步跟踪跳过子函数(StepOver),运行至当前函数的末尾(StepOut)以及观察变量的值(Watch)等都会成为大家将会经常用到的工具,余下的功能等待同学们逐步发掘吧!
=======================================================================