
1.3 编写第一个C语言程序
VS 2012的下载与安装
所谓“万事开头难”,为了降低学习难度,本书将从最简单的C语言程序开始,由浅到深地介绍如何使用C语言编写程序。
Visual Studio 2012的功能非常丰富,本节只介绍如何完成一个C语言程序的编辑、编译、运行等步骤,其他功能读者可以参考相关手册。由于操作系统可能会隐藏文件后缀名称,给我们的学习造成一定影响,所以在正式开始学习之前,还需要对系统环境做适当的配置。
下面介绍使用Visual Studio 2012开发一个C语言程序的完整流程。
小贴士
在开始本节学习前,必须做一件非常重要的事:去掉“隐藏已知文件类型的扩展名”。
本书采用的是Windows 7操作系统,在该系统下,去掉“隐藏已知文件类型的扩展名”分为以下两个步骤。(对于Windows 10等操作系统下的设置方法,请参考本书的视频教程。)
第1步 打开【计算机】图标,单击【组织】,在下拉菜单中选择【文件夹与搜索选项】命令,如图1-4所示。
第2步 单击【查看】选项,取消选择【隐藏已知文件名类型的扩展名】复选框,最后单击【确定】,如图1-5所示。

图1-4 组织视图

图1-5 查看视图
【疑问】为什么要取消选择【隐藏已知文件类型的扩展名】?
【回答】 如果不取消该选项,Windows 7系统会默认隐藏文件的扩展名,此时,只凭借文件名,无法判断文件的具体类型。下面的一个文本文件给出了隐藏和取消隐藏扩展名的区别,如图1-6所示。读者务必注意文件扩展名的变化。

图1-6 隐藏与未隐藏扩展名的区别
1.3.1 新建第一个解决方案
Visual Studio 2012采用解决方案的形式管理C语言项目,因此开始编写第一个C语言程序之前,需要先新建一个解决方案,创建解决方案分为以下几个步骤。
第1步 进入VS2012,在起始页面板菜单栏中单击【文件】选项,依次选择【新建】、【项目】命令,如图1-7所示。

图1-7 新建项目
第2步 依次选择【Visual C++】、【Win32控制台应用程序】命令,在下方的【名称】文本框里将内容修改为“MyFirstC”,【位置】文本框里内容修改为“D:\C语言”(注意:后续项目代码,默认都保存在该位置),如图1-8所示。最后单击【确定】。

图1-8 选择解决方案类型及保存路径
小贴士
如果您使用Visual Studio 2017及以上版本,是不会有【Win32控制台应用程序】选项的,需要依次选择【Windows桌面】、【Windows桌面向导】选项,如图1-9所示。

图1-9 Windows桌面向导
第3步 单击【下一步】,如图1-10所示。

图1-10 项目生成向导
第4步 依次选择【控制台应用程序】、【空项目】,最后单击【确定】,如图1-11所示。

图1-11 选择应用程序类型
提示: 选择【附加选项】时,一定要选择【空项目】复选框,千万不要选择【安全开发生命周期(SDL)检查】复选框,否则会影响后续学习。
第5步 如果【解决方案资源管理器】对话框中显示名称为“MyFirstC”的项目,表示解决方案创建成功,如图1-12所示。

图1-12 解决方案资源管理器
1.3.2 添加.c文件
C语言程序一般保存在以.c结尾的文件中,添加.c文件,分为以下3个步骤。
第1步 用鼠标右键单击【源文件】选项,再依次选择【添加】、【新建项】命令,如图1-13所示。
第2步 单击【Visual C++】,选择【C++文件(.cpp)】选项,将【名称】文本框里内容修改为“Main.c”,最后单击【添加】,如图1-14所示。

图1-13 添加.c文件

图1-14 添加Main.c文件
小贴士
很多C语言书籍中都会创建.cpp文件编写C语言程序。虽然也可以编译运行,但是这样是不标准的,.cpp文件一般是用来保存C++语言程序的,C语言程序应该保存在.c文件中。
第3步 如果【源文件】下生成了“Main.c”文件,表示添加成功,如图1-15所示。

图1-15 添加Main.c文件
1.3.3 编辑C语言程序
编辑C语言程序需要在.c文件中进行,在上一节中,我们已经添加了Main.c文件,本节将在Main.c文件中编写第一个C语言程序。
用鼠标左键双击“Main.c”文件,输入以下几行程序,如图1-16所示,然后单击【保存】。

图1-16 第一个C语言程序
注意: 1.上述程序中所有字符、标点符号均为英文格式。
2.C语言程序严格区分大小写,上述程序均采用小写字母。
3.return 与0之间有空格,不能省略。
1.3.4 生成可执行程序
C语言程序编辑好后,还需要经过编译,最终生成.exe格式的可执行文件才可以运行,在VS2012中,编译C语言程序分为以下两个步骤。
第1步 在VS2012对话框中单击【生成】选项,选择【生成解决方案】命令,如图1-17所示。
第2步 单击VS2012底部状态栏【输出】选项,可以查看编译结果,如果提示“成功 1 个,失败 0 个,最新 0 个,跳过 0 个”,表示可执行程序成功,如图1-18所示。

图1-17 编译C语言程序

图1-18 编译提示信息
1.3.5 查看编译结果
C语言源程序本质上和普通文本没有任何区别,是不能直接运行的,需要经过编译生成.exe可执行文件,才能运行。不过这一步VS2012已经帮我们做了,可以在项目路径下查看。
在VS2012中查看生成的.exe可执行文件,分为以下几个步骤。
第1步 用右键单击【解决方案“MyFirstC”】,再用左键单击【在文件资源管理器中打开文件夹】,如图1-19所示。

图1-19 打开文件资源管理器
第2步 双击【Debug】文件夹,如图1-20所示。
第3步 双击图1-21中的MyFirstC.exe,可以看到和图1-23一样的运行结果,【Debug】文件夹中的MyFirstC.exe就是Main.c经过编译生成的可执行文件。

图1-20 查找Debug文件夹

图1-21 MyFirstC.exe可执行文件
1.3.6 运行C语言程序
如果程序已经编译成功,单击【本地Windows调试器】即可运行程序,如图1-22所示。运行结果如图1-23所示。

图1-22 本地Windows调试器

图1-23 运行结果
1.3.7 项目过期提示
在VS2012中,单击【本地Windows调试器】时,可能会弹出图1-24所示对话框。这是由于修改了C语言源程序导致的,建议读者选择【不再显示此对话框】复选框,然后单击【是】即可,该对话框就不会再显示了。

图1-24 项目过期提示框
1.3.8 生成错误提示
如果单击【本地Windows调试器】运行程序时,弹出图1-25所示对话框。说明程序在编译时发生错误,此时应该单击【否】,然后在【错误列表】窗口中查看具体的错误信息。

图1-25 生成错误提示框
注意: 切记,不要选择【不再显示此对话框】复选框,否则会影响后续编程。
1.3.9 常见错误
【常见错误1】英文括号写成了中文括号,如图1-26所示。

图1-26 英文括号与中文括号
通过图1-26对比可以看到,英文括号比较窄小,中文括号比较圆润。
【常见错误2】 把英文分号写成中文分号,如图1-27所示。

图1-27 英文分号与中文分号
1.3.10 设置行号显示
为了方便后期调试程序与定位错误,建议读者在VS2012中设置显示行号。设置行号显示分为以下2个步骤。
第1步 单击菜单栏中【工具】选项,选择【选项】命令,如图1-28所示。

图1-28 工具菜单
第2步 依次单击【文本编辑器】、【C/C++】命令,在“显示”一栏 中选择【行号】复选框,最后单击【确定】即可,如图1-29所示。

图1-29 设置行号显示