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所示。
![](https://epubservercos.yuewen.com/4CF59A/14373745905390106/epubprivate/OEBPS/Images/figure-0022-0010.jpg?sign=1739125053-TQ5uBrTYvqlQBUbBGKvbTemqAPVi2Zkr-0-987e70e0cc525ec09d0cb3d3b4b7ef7d)
图1-4 组织视图
![](https://epubservercos.yuewen.com/4CF59A/14373745905390106/epubprivate/OEBPS/Images/figure-0022-0011.jpg?sign=1739125053-ONRut257ByrDOj2Fi4YxgbuMP3y71Goa-0-92930ec6caf467c9ac91ba468342bca3)
图1-5 查看视图
【疑问】为什么要取消选择【隐藏已知文件类型的扩展名】?
【回答】 如果不取消该选项,Windows 7系统会默认隐藏文件的扩展名,此时,只凭借文件名,无法判断文件的具体类型。下面的一个文本文件给出了隐藏和取消隐藏扩展名的区别,如图1-6所示。读者务必注意文件扩展名的变化。
![](https://epubservercos.yuewen.com/4CF59A/14373745905390106/epubprivate/OEBPS/Images/figure-0022-0012.jpg?sign=1739125053-wJXzL4ZsXf7lOfIq3WxboU9CNBgsqlaI-0-70b21e691326cc9b5e04bacea656ebd3)
图1-6 隐藏与未隐藏扩展名的区别
1.3.1 新建第一个解决方案
Visual Studio 2012采用解决方案的形式管理C语言项目,因此开始编写第一个C语言程序之前,需要先新建一个解决方案,创建解决方案分为以下几个步骤。
第1步 进入VS2012,在起始页面板菜单栏中单击【文件】选项,依次选择【新建】、【项目】命令,如图1-7所示。
![](https://epubservercos.yuewen.com/4CF59A/14373745905390106/epubprivate/OEBPS/Images/figure-0022-0013.jpg?sign=1739125053-dpj4t6Tit5QfPMGku0vSexWAtfDM5tUZ-0-155e98eb42ce9288ef9f617537a5e500)
图1-7 新建项目
第2步 依次选择【Visual C++】、【Win32控制台应用程序】命令,在下方的【名称】文本框里将内容修改为“MyFirstC”,【位置】文本框里内容修改为“D:\C语言”(注意:后续项目代码,默认都保存在该位置),如图1-8所示。最后单击【确定】。
![](https://epubservercos.yuewen.com/4CF59A/14373745905390106/epubprivate/OEBPS/Images/figure-0023-0014.jpg?sign=1739125053-Yc0qqQ7eN7Xgtus0FI5BOkIYzm29xewV-0-0b258294618462ec8b36861c06df439f)
图1-8 选择解决方案类型及保存路径
小贴士
如果您使用Visual Studio 2017及以上版本,是不会有【Win32控制台应用程序】选项的,需要依次选择【Windows桌面】、【Windows桌面向导】选项,如图1-9所示。
![](https://epubservercos.yuewen.com/4CF59A/14373745905390106/epubprivate/OEBPS/Images/figure-0023-0015.jpg?sign=1739125053-1GZyY7C3ZDIiMsLS2AWRL1i58oVbVt2U-0-4c9813c027a90c4c515150ba9c1714d9)
图1-9 Windows桌面向导
第3步 单击【下一步】,如图1-10所示。
![](https://epubservercos.yuewen.com/4CF59A/14373745905390106/epubprivate/OEBPS/Images/figure-0023-0016.jpg?sign=1739125053-9eCFPdPXCxmSurXrjMQKG625qFkG46M3-0-176565a9fcd9215ad1b1f560228b82b5)
图1-10 项目生成向导
第4步 依次选择【控制台应用程序】、【空项目】,最后单击【确定】,如图1-11所示。
![](https://epubservercos.yuewen.com/4CF59A/14373745905390106/epubprivate/OEBPS/Images/figure-0024-0017.jpg?sign=1739125053-fmMiqJFCbeQVSP7cKr5BTOGsE6UIgnjR-0-6f73f6a1f8f72d1820114b991cad3a87)
图1-11 选择应用程序类型
提示: 选择【附加选项】时,一定要选择【空项目】复选框,千万不要选择【安全开发生命周期(SDL)检查】复选框,否则会影响后续学习。
第5步 如果【解决方案资源管理器】对话框中显示名称为“MyFirstC”的项目,表示解决方案创建成功,如图1-12所示。
![](https://epubservercos.yuewen.com/4CF59A/14373745905390106/epubprivate/OEBPS/Images/figure-0024-0018.jpg?sign=1739125053-KtuWMJI9yFxGwZVIpwSl4bZwqSxITjKw-0-54ce830d097a1c6da6520c568a653a7f)
图1-12 解决方案资源管理器
1.3.2 添加.c文件
C语言程序一般保存在以.c结尾的文件中,添加.c文件,分为以下3个步骤。
第1步 用鼠标右键单击【源文件】选项,再依次选择【添加】、【新建项】命令,如图1-13所示。
第2步 单击【Visual C++】,选择【C++文件(.cpp)】选项,将【名称】文本框里内容修改为“Main.c”,最后单击【添加】,如图1-14所示。
![](https://epubservercos.yuewen.com/4CF59A/14373745905390106/epubprivate/OEBPS/Images/figure-0025-0019.jpg?sign=1739125053-DtwR8ee5bdQKR7SaemZzT0vM2nERTZXJ-0-5095c5fb618f248abc39f5a9dcadfc87)
图1-13 添加.c文件
![](https://epubservercos.yuewen.com/4CF59A/14373745905390106/epubprivate/OEBPS/Images/figure-0025-0020.jpg?sign=1739125053-KMyu451PqapZaPaKQovu6HzZPRWlBEWN-0-07cdafb4c26bd03de797086c213c0c3b)
图1-14 添加Main.c文件
小贴士
很多C语言书籍中都会创建.cpp文件编写C语言程序。虽然也可以编译运行,但是这样是不标准的,.cpp文件一般是用来保存C++语言程序的,C语言程序应该保存在.c文件中。
第3步 如果【源文件】下生成了“Main.c”文件,表示添加成功,如图1-15所示。
![](https://epubservercos.yuewen.com/4CF59A/14373745905390106/epubprivate/OEBPS/Images/figure-0025-0021.jpg?sign=1739125053-QJ5gcY5CaozVWN8H9562qfoFgYGU6jSI-0-507861d51aacae4860821fb6c5365791)
图1-15 添加Main.c文件
1.3.3 编辑C语言程序
编辑C语言程序需要在.c文件中进行,在上一节中,我们已经添加了Main.c文件,本节将在Main.c文件中编写第一个C语言程序。
用鼠标左键双击“Main.c”文件,输入以下几行程序,如图1-16所示,然后单击【保存】。
![](https://epubservercos.yuewen.com/4CF59A/14373745905390106/epubprivate/OEBPS/Images/figure-0026-0022.jpg?sign=1739125053-unwyB2mZ25ggO3vFxD2ZIJRsoa3UXUqd-0-b514edb6880c88a51a3f4909a1754bb5)
图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所示。
![](https://epubservercos.yuewen.com/4CF59A/14373745905390106/epubprivate/OEBPS/Images/figure-0026-0023.jpg?sign=1739125053-tX9UUDtVA4SPjXDKGltlVZAHgpr6A1H0-0-67e6c414bf8036d0ffa93b481fb4ae4b)
图1-17 编译C语言程序
![](https://epubservercos.yuewen.com/4CF59A/14373745905390106/epubprivate/OEBPS/Images/figure-0026-0024.jpg?sign=1739125053-QoUeDpYAsySI7loC16xxrOYDEEzrkIfU-0-c5b32909d5287aa6eaefa178e685050e)
图1-18 编译提示信息
1.3.5 查看编译结果
C语言源程序本质上和普通文本没有任何区别,是不能直接运行的,需要经过编译生成.exe可执行文件,才能运行。不过这一步VS2012已经帮我们做了,可以在项目路径下查看。
在VS2012中查看生成的.exe可执行文件,分为以下几个步骤。
第1步 用右键单击【解决方案“MyFirstC”】,再用左键单击【在文件资源管理器中打开文件夹】,如图1-19所示。
![](https://epubservercos.yuewen.com/4CF59A/14373745905390106/epubprivate/OEBPS/Images/figure-0027-0025.jpg?sign=1739125053-ck08YVyCyJlC0DxSbUl2jpsxatj0zYkf-0-35cea51ea79442a5c73bd867a13f7be6)
图1-19 打开文件资源管理器
第2步 双击【Debug】文件夹,如图1-20所示。
第3步 双击图1-21中的MyFirstC.exe,可以看到和图1-23一样的运行结果,【Debug】文件夹中的MyFirstC.exe就是Main.c经过编译生成的可执行文件。
![](https://epubservercos.yuewen.com/4CF59A/14373745905390106/epubprivate/OEBPS/Images/figure-0027-0026.jpg?sign=1739125053-JDuMtpW1crZR3P65gVbVNuwqjJqE23wb-0-0deba79225dff500546cb0b8317d9bc3)
图1-20 查找Debug文件夹
![](https://epubservercos.yuewen.com/4CF59A/14373745905390106/epubprivate/OEBPS/Images/figure-0027-0027.jpg?sign=1739125053-sITledNrSqdrZ3DieTZr6r6nqmpYLbQl-0-038113d001e0356b1bb839d4d21b3da4)
图1-21 MyFirstC.exe可执行文件
1.3.6 运行C语言程序
如果程序已经编译成功,单击【本地Windows调试器】即可运行程序,如图1-22所示。运行结果如图1-23所示。
![](https://epubservercos.yuewen.com/4CF59A/14373745905390106/epubprivate/OEBPS/Images/figure-0027-0028.jpg?sign=1739125053-pEJRwV0jFhHJcpPzgQAAKkbEtSK9DVLM-0-1d73736f2951e74fe98d5c31d303fa03)
图1-22 本地Windows调试器
![](https://epubservercos.yuewen.com/4CF59A/14373745905390106/epubprivate/OEBPS/Images/figure-0027-0029.jpg?sign=1739125053-3OBE98dpWaY5nNA1SHzYmRyjRvlqgJxb-0-90b0839b43439c382a086264b62b02a5)
图1-23 运行结果
1.3.7 项目过期提示
在VS2012中,单击【本地Windows调试器】时,可能会弹出图1-24所示对话框。这是由于修改了C语言源程序导致的,建议读者选择【不再显示此对话框】复选框,然后单击【是】即可,该对话框就不会再显示了。
![](https://epubservercos.yuewen.com/4CF59A/14373745905390106/epubprivate/OEBPS/Images/figure-0028-0030.jpg?sign=1739125053-MZnRvjPa6EDzzQMV2WKFW6VCP78lpWoB-0-da08212bfdbddc8b59c38c8f032fed16)
图1-24 项目过期提示框
1.3.8 生成错误提示
如果单击【本地Windows调试器】运行程序时,弹出图1-25所示对话框。说明程序在编译时发生错误,此时应该单击【否】,然后在【错误列表】窗口中查看具体的错误信息。
![](https://epubservercos.yuewen.com/4CF59A/14373745905390106/epubprivate/OEBPS/Images/figure-0028-0031.jpg?sign=1739125053-uHQPhGD9GhjQOdvsQEJLT8Iyk5XTkkHN-0-08f527ccc8f83267b75bd95a142abd80)
图1-25 生成错误提示框
注意: 切记,不要选择【不再显示此对话框】复选框,否则会影响后续编程。
1.3.9 常见错误
【常见错误1】英文括号写成了中文括号,如图1-26所示。
![](https://epubservercos.yuewen.com/4CF59A/14373745905390106/epubprivate/OEBPS/Images/figure-0028-0032.jpg?sign=1739125053-H1Ann1PjPyml2akNLrM31xtPgVNBBSAy-0-d0164bda29fcba02118b37d450a365ef)
图1-26 英文括号与中文括号
通过图1-26对比可以看到,英文括号比较窄小,中文括号比较圆润。
【常见错误2】 把英文分号写成中文分号,如图1-27所示。
![](https://epubservercos.yuewen.com/4CF59A/14373745905390106/epubprivate/OEBPS/Images/figure-0029-0033.jpg?sign=1739125053-DItt9yqlQBY6MWI1LkNdLiUATGz1UQfo-0-100b7eb85c26f6c3e42a7e5dd5bd8263)
图1-27 英文分号与中文分号
1.3.10 设置行号显示
为了方便后期调试程序与定位错误,建议读者在VS2012中设置显示行号。设置行号显示分为以下2个步骤。
第1步 单击菜单栏中【工具】选项,选择【选项】命令,如图1-28所示。
![](https://epubservercos.yuewen.com/4CF59A/14373745905390106/epubprivate/OEBPS/Images/figure-0029-0034.jpg?sign=1739125053-YyOodztd8AJ1pC8StWEICb8gzUxeEn4P-0-f9150230d2fa21f9b1bc210d8ae40dea)
图1-28 工具菜单
第2步 依次单击【文本编辑器】、【C/C++】命令,在“显示”一栏 中选择【行号】复选框,最后单击【确定】即可,如图1-29所示。
![](https://epubservercos.yuewen.com/4CF59A/14373745905390106/epubprivate/OEBPS/Images/figure-0030-0035.jpg?sign=1739125053-SHsavdfGyM3Ceeauf823c0B8k65pot6L-0-cd31f5ccd19fc5b00ed417368bdfa11f)
图1-29 设置行号显示