第一部分 结构化程序设计(可以将C语言程序设计引入此处,新建文件的类型如图1-2中所列,其他操作如同visual c++2008)
1.用Visual C++开发第一个简单C程序
首先,在磁盘上新建一个文件夹,用于存放C程序,文件夹的名字可以是ex1-1,如 D:\myc\ex1-1。
编程示例,在屏幕上显示一个短句“Hello C World!”。
源程序
# include
void main( )
{ printf("Hello C World! \n"); }
运行结果
Hello C World! 正在上传…重新上传取消
作为本书的第一个实验,在Visual C++编程环境下,以上述C语言源程序为例,介绍运行一个C程序的基本步骤,请读者按照以下步骤操作。
1.1 创建工作文件夹,如C:\MYC,如图1.2所示。
由于开发过程会产生一系列文件,建议每开发一个新的C程序都创建一个工作文件夹。
还可以将所有工作文件夹集中到一起,如C:\myc\EX01-01、C:\myc\EX01-02等等。
图1.2 创建工作文件夹
(1)启动VC++
执行“开始”—>“程序”—>“Microsoft Visual Studio 6.0”—> “Microsoft Visual C++ 6.0”,进入VC++编程环境(图1.3)。
正在上传…重新上传取消
图1.3 VC++窗口
(2)创建工程
执行“文件—>新建”,弹出“新建”窗口,单击“工程”选项卡,然后在“工程名称(N)”的输入文本框中输入helloc,在“位置(C)”输入框中会自动出现“helloc”子文件夹名称,同时要选中左边框中“win32 console application”以进行“.c”文件的编辑运行等操作(图1.4)。
正在上传…重新上传取消
图1.4 创建工程
(3)新建文件
执行“文件—>新建”,弹出“新建”窗口,单击“文件”选项卡,然后在“文件名(N)”栏中输入“hello.c”,把C源(程序)文件命名为hello.c,在“位置(C)”框中会出现上面建立的工程的路径如“C:\myc\helloc”,同时要左边的“C++ Sourse Files”(图1.5),单击“确定”按钮,在“C:\myc\helloc”下就新建了文件hello.c,并显示编辑窗口和信息窗口(图1.6)。
正在上传…重新上传取消
图1.5 新建文件
(4)编辑和保存
编辑窗口(图1.6)中输入源程序,然后执行“文件”—>“保存”或“文件”—>“另存为”,保存源文件。
信息窗口 |
正在上传…重新上传取消
编辑窗口 |
正在上传…重新上传取消
图1.6 编辑源程序
(5)编译
鼠标单击执行“组建”—>“编译[hello.c]”或利用键盘的组合键Ctrl + F7(图1.7),在“产生工作区”对话框(图1.8)中选择“是/Y”,开始编译,编译完成后在信息窗口显示编译信息(错误和警告信息)(图1.9)。
正在上传…重新上传取消
图1.7 编译源程序
图1.9信息窗口中出现的“hello.obj — 0 error(s), 0 warning(s)”,表示编译正确,没有发现(语法)错误和警告,并生成了目标文件hello.obj。注意:如果显示有错误error(s),指程序中存在致命的错误,必须要改正;如果显示有警告warning(s),虽然不影响生成目标文件,但通常也应该改正。
正在上传…重新上传取消
图1.8产生工作区
正在上传…重新上传取消
图1.9 编译正确
(6)连接
鼠标单击执行“组建”—>“组建”或使用键盘的F7,也可用“重建全部/Rebuild All”,开始连接,并在信息窗口显示连接信息(图1.10)。图1.10信息窗口中出现的“hello.exe—0 error(s), 0 warning(s)”表示连接成功,产生了可执行文件hello.exe。
正在上传…重新上传取消
图1.10 连接成功并产生可执行文件
(7)运行
鼠标单击执行执行“组建”—>“执行[hello.exe]”或使用键盘的组合键Ctrl + F5(图1.11),自动弹出运行窗口(图1.12),显示运行结果“Hello C World!”,其中“Press any key to continue”提示读者按任何键退出DOS窗口,返回到VC++窗口。
正在上传…重新上传取消
图1.11 运行程序
正在上传…重新上传取消
图1.12 运行窗口
(8)关闭程序工作空间
执行“文件/File”—>“关闭工作空间/Close Workspace”(图1.13), 在出现的对话框(图1.14)中选择“是/Y”,关闭工作该工程的所有文档。
正在上传…重新上传取消
图1.13 关闭程序工作区
正在上传…重新上传取消
图1.14 关闭所有文档窗口
(9)打开文件
如果要再次打开C源文件,可以执行“文件/File”—>“打开/Open”,在文件夹“C:\MYC\HELLOC”下选择文件“hello.c”;或者在“C:\MYC\HELLOC”文件夹下,直接双击文件“hello.c”。
备注:microsoft (R) developer studio停止工作如何解决:
根据你的错误提示,应该是在Vista/Win7环境下安装了Visual Studio 6.0系列软件。Vista/Win7不兼容Visual Studio 6.0及其更低版本,建议使用Visual Studio 2008/2010。
(10)查看C源文件.c、目标文件.obj和可执行文件.exe的存放位置
经过编辑、编译、连接和运行后,在文件夹“C:\MYC\HELLOC”(图1.15)和“C:\MYC\HELLOC \Debug”(图1.16)中存放着有关的文件。
正在上传…重新上传取消
图1.15 文件夹“C:\MYC\HELLOC”
正在上传…重新上传取消
图1.16 文件夹“C:\MYC\HELLOC \debug”
以上十个步骤,就是利用Visual C++进行C语言程序设计的整个过程。
2. 程序的调试过程
默认情况下,VC中程序都是采用调试方式进行编译的。关闭调试的方法是执行菜单“组建”中的“移除工程配置”,在弹出的对话框中选择带“Win32 Release”字样的配置。如果选择“Win32 Debug”,就又切换回调试方式。
不论用什么方式编译,按快捷键Ctrl+F5都会直接运行程序,而不是在调试状态下运行。Visual C++的调试可以在程序中设置断点,跟踪程序实际运行流程。设置断点后,在缺省的Debug模式下,可以按“F5”功能键单步执行程序,程序会在断点处停止,同时观察各变量的值如何变化,来确认程序是否无误。
2.1 设置断点
将鼠标停留在要被暂停的那一行,选择“Build MiniBar”工具栏按钮“Insert/Remove Breakpoint (F9)”按钮添加一个断点(图1.17)。如果断点已经设置,再在断点行按快捷键Ctrl+F9,红色圆点会变成空心的红色圆圈,表明该断点还存在,但是已经失效(相当于没有)。再按快捷键Ctrl+F9,断点又重新激活了。快捷键Ctrl+B是另一个与断点有关的快捷键,按之,会弹出一个综合管理所有断点的对话框。
正在上传…重新上传取消
图1.17 设置断点
2.2进入调试模式
按“F5”功能键进入调试模式,程序刚运行就遇到断点,于是暂停。
2.3单步运行
选择菜单或者工具栏的 "Step Over (或键盘F10)" 按钮,可以执行一行程序(单步执行)。不断选择 "F10",程序便会一行一行地执行下去。进入跟踪状态。停止在哪条语句,哪条语句就会出现一个黄色的小箭头。因此,如果希望能一句一句地单步调试程序,在编写程序时就必须一行只写一条语句。
正在上传…重新上传取消
图1.18 单步执行程序
2.4动态察看变量的值
单步调试程序的过程中,可以看到两个监视窗口:变量(Variables)子窗口和监视(Watch)子窗口,如图1-18所示。变量窗口中会自动显示当前环境下涉及的各个变量的值,而监视窗口内只显示在此输入的表达式的值。单击数字,可以直接修改相应的值。
观察变量窗口,单击变量名前的加号可以看到变量的值。如果变量较多,自动显示的Variables窗口难以查看时,还可以在右边的 Watch 子窗口中添加自己想要监控的变量名。例如,图1.18中我们在 Watch1 子窗口中添加了变量“first”。添加结束后,该变量的值会被显示出来。随着单步调试的进行,我们会看到变量first的值逐渐变化。如果各变量的值按照正常的方式变化,则说明程序无误,此时如果想中止运行,按快捷键Shift+F5停止调试。如变量值的变化有误,则要停止调试,返回修改源程序。
第一部分 结构化程序设计(可以将C语言程序设计引入此处,新建文件的类型如图1-2中所列,其他操作如同visual c++2008)
1.用Visual C++开发第一个简单C程序
首先,在磁盘上新建一个文件夹,用于存放C程序,文件夹的名字可以是ex1-1,如 D:\myc\ex1-1。
编程示例,在屏幕上显示一个短句“Hello C World!”。
源程序
# include
void main( )
{ printf("Hello C World! \n"); }
运行结果
Hello C World! 正在上传…重新上传取消
作为本书的第一个实验,在Visual C++编程环境下,以上述C语言源程序为例,介绍运行一个C程序的基本步骤,请读者按照以下步骤操作。
1.1 创建工作文件夹,如C:\MYC,如图1.2所示。
由于开发过程会产生一系列文件,建议每开发一个新的C程序都创建一个工作文件夹。
还可以将所有工作文件夹集中到一起,如C:\myc\EX01-01、C:\myc\EX01-02等等。
图1.2 创建工作文件夹
(1)启动VC++
执行“开始”—>“程序”—>“Microsoft Visual Studio 6.0”—> “Microsoft Visual C++ 6.0”,进入VC++编程环境(图1.3)。
正在上传…重新上传取消
图1.3 VC++窗口
(2)创建工程
执行“文件—>新建”,弹出“新建”窗口,单击“工程”选项卡,然后在“工程名称(N)”的输入文本框中输入helloc,在“位置(C)”输入框中会自动出现“helloc”子文件夹名称,同时要选中左边框中“win32 console application”以进行“.c”文件的编辑运行等操作(图1.4)。
正在上传…重新上传取消
图1.4 创建工程
(3)新建文件
执行“文件—>新建”,弹出“新建”窗口,单击“文件”选项卡,然后在“文件名(N)”栏中输入“hello.c”,把C源(程序)文件命名为hello.c,在“位置(C)”框中会出现上面建立的工程的路径如“C:\myc\helloc”,同时要左边的“C++ Sourse Files”(图1.5),单击“确定”按钮,在“C:\myc\helloc”下就新建了文件hello.c,并显示编辑窗口和信息窗口(图1.6)。
正在上传…重新上传取消
图1.5 新建文件
(4)编辑和保存
编辑窗口(图1.6)中输入源程序,然后执行“文件”—>“保存”或“文件”—>“另存为”,保存源文件。
信息窗口 |
正在上传…重新上传取消
编辑窗口 |
图1.6 编辑源程序
(5)编译
鼠标单击执行“组建”—>“编译[hello.c]”或利用键盘的组合键Ctrl + F7(图1.7),在“产生工作区”对话框(图1.8)中选择“是/Y”,开始编译,编译完成后在信息窗口显示编译信息(错误和警告信息)(图1.9)。
图1.7 编译源程序
图1.9信息窗口中出现的“hello.obj — 0 error(s), 0 warning(s)”,表示编译正确,没有发现(语法)错误和警告,并生成了目标文件hello.obj。注意:如果显示有错误error(s),指程序中存在致命的错误,必须要改正;如果显示有警告warning(s),虽然不影响生成目标文件,但通常也应该改正。
图1.8产生工作区
图1.9 编译正确
(6)连接
鼠标单击执行“组建”—>“组建”或使用键盘的F7,也可用“重建全部/Rebuild All”,开始连接,并在信息窗口显示连接信息(图1.10)。图1.10信息窗口中出现的“hello.exe—0 error(s), 0 warning(s)”表示连接成功,产生了可执行文件hello.exe。
图1.10 连接成功并产生可执行文件
(7)运行
鼠标单击执行执行“组建”—>“执行[hello.exe]”或使用键盘的组合键Ctrl + F5(图1.11),自动弹出运行窗口(图1.12),显示运行结果“Hello C World!”,其中“Press any key to continue”提示读者按任何键退出DOS窗口,返回到VC++窗口。
图1.11 运行程序
图1.12 运行窗口
(8)关闭程序工作空间
执行“文件/File”—>“关闭工作空间/Close Workspace”(图1.13), 在出现的对话框(图1.14)中选择“是/Y”,关闭工作该工程的所有文档。
图1.13 关闭程序工作区
图1.14 关闭所有文档窗口
(9)打开文件
如果要再次打开C源文件,可以执行“文件/File”—>“打开/Open”,在文件夹“C:\MYC\HELLOC”下选择文件“hello.c”;或者在“C:\MYC\HELLOC”文件夹下,直接双击文件“hello.c”。
备注:microsoft (R) developer studio停止工作如何解决:
根据你的错误提示,应该是在Vista/Win7环境下安装了Visual Studio 6.0系列软件。Vista/Win7不兼容Visual Studio 6.0及其更低版本,建议使用Visual Studio 2008/2010。
(10)查看C源文件.c、目标文件.obj和可执行文件.exe的存放位置
经过编辑、编译、连接和运行后,在文件夹“C:\MYC\HELLOC”(图1.15)和“C:\MYC\HELLOC \Debug”(图1.16)中存放着有关的文件。
图1.15 文件夹“C:\MYC\HELLOC”
图1.16 文件夹“C:\MYC\HELLOC \debug”
以上十个步骤,就是利用Visual C++进行C语言程序设计的整个过程。
2. 程序的调试过程
默认情况下,VC中程序都是采用调试方式进行编译的。关闭调试的方法是执行菜单“组建”中的“移除工程配置”,在弹出的对话框中选择带“Win32 Release”字样的配置。如果选择“Win32 Debug”,就又切换回调试方式。
不论用什么方式编译,按快捷键Ctrl+F5都会直接运行程序,而不是在调试状态下运行。Visual C++的调试可以在程序中设置断点,跟踪程序实际运行流程。设置断点后,在缺省的Debug模式下,可以按“F5”功能键单步执行程序,程序会在断点处停止,同时观察各变量的值如何变化,来确认程序是否无误。
2.1 设置断点
将鼠标停留在要被暂停的那一行,选择“Build MiniBar”工具栏按钮“Insert/Remove Breakpoint (F9)”按钮添加一个断点(图1.17)。如果断点已经设置,再在断点行按快捷键Ctrl+F9,红色圆点会变成空心的红色圆圈,表明该断点还存在,但是已经失效(相当于没有)。再按快捷键Ctrl+F9,断点又重新激活了。快捷键Ctrl+B是另一个与断点有关的快捷键,按之,会弹出一个综合管理所有断点的对话框。
图1.17 设置断点
2.2进入调试模式
按“F5”功能键进入调试模式,程序刚运行就遇到断点,于是暂停。
2.3单步运行
选择菜单或者工具栏的 "Step Over (或键盘F10)" 按钮,可以执行一行程序(单步执行)。不断选择 "F10",程序便会一行一行地执行下去。进入跟踪状态。停止在哪条语句,哪条语句就会出现一个黄色的小箭头。因此,如果希望能一句一句地单步调试程序,在编写程序时就必须一行只写一条语句。
图1.18 单步执行程序
2.4动态察看变量的值
单步调试程序的过程中,可以看到两个监视窗口:变量(Variables)子窗口和监视(Watch)子窗口,如图1-18所示。变量窗口中会自动显示当前环境下涉及的各个变量的值,而监视窗口内只显示在此输入的表达式的值。单击数字,可以直接修改相应的值。
观察变量窗口,单击变量名前的加号可以看到变量的值。如果变量较多,自动显示的Variables窗口难以查看时,还可以在右边的 Watch 子窗口中添加自己想要监控的变量名。例如,图1.18中我们在 Watch1 子窗口中添加了变量“first”。添加结束后,该变量的值会被显示出来。随着单步调试的进行,我们会看到变量first的值逐渐变化。如果各变量的值按照正常的方式变化,则说明程序无误,此时如果想中止运行,按快捷键Shift+F5停止调试。如变量值的变化有误,则要停止调试,返回修改源程序。