![零基础趣学C语言](https://wfqqreader-1252317822.image.myqcloud.com/cover/763/25916763/b_25916763.jpg)
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=1739038729-mvikPmACAurpCHKpuo9zdUNBxud6ZByX-0-80687ef06853d3e9cce68d2227af058a)
图1-4 组织视图
![](https://epubservercos.yuewen.com/4CF59A/14373745905390106/epubprivate/OEBPS/Images/figure-0022-0011.jpg?sign=1739038729-MzVtjhyu8LCKAb8eGlfaTomzxRsBPwwm-0-1aacfe98f3193c3667fb67f3b297f25f)
图1-5 查看视图
【疑问】为什么要取消选择【隐藏已知文件类型的扩展名】?
【回答】 如果不取消该选项,Windows 7系统会默认隐藏文件的扩展名,此时,只凭借文件名,无法判断文件的具体类型。下面的一个文本文件给出了隐藏和取消隐藏扩展名的区别,如图1-6所示。读者务必注意文件扩展名的变化。
![](https://epubservercos.yuewen.com/4CF59A/14373745905390106/epubprivate/OEBPS/Images/figure-0022-0012.jpg?sign=1739038729-0BYQTTMhtxJzYab6pmOD70DZRp2B9Ctv-0-ae5d3121d82cf792bbb59f1dfe9c1311)
图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=1739038729-jbNHlY7JZVIqla4cFbF2rhfyyKqgTJPC-0-49bd8612b005c4ac68a79ba2ab15271e)
图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=1739038729-SgNWCXCxxwqVNxbtFsYJm9VGWlVt1bQW-0-cf4843cd7c8f395d0aac6042614f903b)
图1-8 选择解决方案类型及保存路径
小贴士
如果您使用Visual Studio 2017及以上版本,是不会有【Win32控制台应用程序】选项的,需要依次选择【Windows桌面】、【Windows桌面向导】选项,如图1-9所示。
![](https://epubservercos.yuewen.com/4CF59A/14373745905390106/epubprivate/OEBPS/Images/figure-0023-0015.jpg?sign=1739038729-WGBvCxhkR33B7S3ghOzIZhBxKaq7oFST-0-ae85fd97d6f91da58f5bfe8a43386ac1)
图1-9 Windows桌面向导
第3步 单击【下一步】,如图1-10所示。
![](https://epubservercos.yuewen.com/4CF59A/14373745905390106/epubprivate/OEBPS/Images/figure-0023-0016.jpg?sign=1739038729-8zgTnmaL1yc8HfeowZrm9PBttcpQWOwH-0-92327f5175b794a476f0d31a97a10a14)
图1-10 项目生成向导
第4步 依次选择【控制台应用程序】、【空项目】,最后单击【确定】,如图1-11所示。
![](https://epubservercos.yuewen.com/4CF59A/14373745905390106/epubprivate/OEBPS/Images/figure-0024-0017.jpg?sign=1739038729-kWFxdic5OL4EJjgqGLcvJL44hKydoWnG-0-28a7e0bc7bba873ce43c4b2ef982c283)
图1-11 选择应用程序类型
提示: 选择【附加选项】时,一定要选择【空项目】复选框,千万不要选择【安全开发生命周期(SDL)检查】复选框,否则会影响后续学习。
第5步 如果【解决方案资源管理器】对话框中显示名称为“MyFirstC”的项目,表示解决方案创建成功,如图1-12所示。
![](https://epubservercos.yuewen.com/4CF59A/14373745905390106/epubprivate/OEBPS/Images/figure-0024-0018.jpg?sign=1739038729-LrbWhw8pThSFKERotQ9JsRjhSRxCcUcH-0-3f5de25fb4c2466131cd100780d46197)
图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=1739038729-heI6Qi9TJx7DAKPkooeAQws3THnvzc6Z-0-5c6eb13a55bcdd099c34da0051ac5ecd)
图1-13 添加.c文件
![](https://epubservercos.yuewen.com/4CF59A/14373745905390106/epubprivate/OEBPS/Images/figure-0025-0020.jpg?sign=1739038729-K3k57i3cS18zq9SEoSXh2C3LOwBked40-0-9d7b11ca28905744bab4bd547c170060)
图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=1739038729-GynfdXGa7KyXucDWNK8zGWeVItIJitKS-0-71e18fdb03ba5dab5c9809ee15e24ede)
图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=1739038729-qJYozdbFtxfUNMi3lg8SsAvZYswb754q-0-b69974dd6e15dfaa7c525cb354e50e09)
图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=1739038729-se3vKuWJvBG94j3DmrDZ8Jqsozy92S8C-0-34bc056e3987949b240b5cd2a5f406cc)
图1-17 编译C语言程序
![](https://epubservercos.yuewen.com/4CF59A/14373745905390106/epubprivate/OEBPS/Images/figure-0026-0024.jpg?sign=1739038729-cpXwQW8p5S3Zouk04oYt48AmNQ2ZShSy-0-ef727008fa9e291aef4273bb61a590f0)
图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=1739038729-kznpdxAqSp3SOUc9jz3ZsC2LojCUS1Jq-0-4f52b666014098d943c33f559e3403dd)
图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=1739038729-cmq1k9m6fJktdmfVrB5P05t7TQhvffRs-0-08f5111d6449d0aa341fc5604c6a9352)
图1-20 查找Debug文件夹
![](https://epubservercos.yuewen.com/4CF59A/14373745905390106/epubprivate/OEBPS/Images/figure-0027-0027.jpg?sign=1739038729-ex8ToYhljwSlhd2Ju4o7FnUjEKH6Tr6I-0-c0a9abfdf68a8a4ef61309d906186156)
图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=1739038729-S04EiRAt9F1BMoKPJcbraQEjBR82mHlr-0-a39685009dfa31378d6d1f7320c6a47c)
图1-22 本地Windows调试器
![](https://epubservercos.yuewen.com/4CF59A/14373745905390106/epubprivate/OEBPS/Images/figure-0027-0029.jpg?sign=1739038729-MaTG3YVFtinFZOE45Uek4MZ17xUBwFbQ-0-a82eeb64a077b1c5a0522796aeba0314)
图1-23 运行结果
1.3.7 项目过期提示
在VS2012中,单击【本地Windows调试器】时,可能会弹出图1-24所示对话框。这是由于修改了C语言源程序导致的,建议读者选择【不再显示此对话框】复选框,然后单击【是】即可,该对话框就不会再显示了。
![](https://epubservercos.yuewen.com/4CF59A/14373745905390106/epubprivate/OEBPS/Images/figure-0028-0030.jpg?sign=1739038729-sUw975AjVKhQShMf9nnz0SD82BpOhqMo-0-e3f9ee32890c6d7f600e7657ddbbd1e3)
图1-24 项目过期提示框
1.3.8 生成错误提示
如果单击【本地Windows调试器】运行程序时,弹出图1-25所示对话框。说明程序在编译时发生错误,此时应该单击【否】,然后在【错误列表】窗口中查看具体的错误信息。
![](https://epubservercos.yuewen.com/4CF59A/14373745905390106/epubprivate/OEBPS/Images/figure-0028-0031.jpg?sign=1739038729-z4VVNabr6SBxnkspbbtavvzCQhSL3gN5-0-b28ffec260baff306f4dd90adb15c709)
图1-25 生成错误提示框
注意: 切记,不要选择【不再显示此对话框】复选框,否则会影响后续编程。
1.3.9 常见错误
【常见错误1】英文括号写成了中文括号,如图1-26所示。
![](https://epubservercos.yuewen.com/4CF59A/14373745905390106/epubprivate/OEBPS/Images/figure-0028-0032.jpg?sign=1739038729-BxGleuSXmVPsJD7y7DTnGqv8hdwTZKjv-0-4e658167d39fd750b967313ff7b059aa)
图1-26 英文括号与中文括号
通过图1-26对比可以看到,英文括号比较窄小,中文括号比较圆润。
【常见错误2】 把英文分号写成中文分号,如图1-27所示。
![](https://epubservercos.yuewen.com/4CF59A/14373745905390106/epubprivate/OEBPS/Images/figure-0029-0033.jpg?sign=1739038729-vrSgM0bSsSwUELfGVDumlFQ8n5g62Axu-0-b36b63cfc7d0af3239c2b73d37d390d6)
图1-27 英文分号与中文分号
1.3.10 设置行号显示
为了方便后期调试程序与定位错误,建议读者在VS2012中设置显示行号。设置行号显示分为以下2个步骤。
第1步 单击菜单栏中【工具】选项,选择【选项】命令,如图1-28所示。
![](https://epubservercos.yuewen.com/4CF59A/14373745905390106/epubprivate/OEBPS/Images/figure-0029-0034.jpg?sign=1739038729-tlq3WpYfAWv1LcDyWRUlbgWOK7Kj1nim-0-c8b9ee30309e89c9cc337b7da0b3c280)
图1-28 工具菜单
第2步 依次单击【文本编辑器】、【C/C++】命令,在“显示”一栏 中选择【行号】复选框,最后单击【确定】即可,如图1-29所示。
![](https://epubservercos.yuewen.com/4CF59A/14373745905390106/epubprivate/OEBPS/Images/figure-0030-0035.jpg?sign=1739038729-CgVWCdJMokyRcedID3Sb5MiNbwNJw53k-0-83a05f8060842ae3bff786efaa183388)
图1-29 设置行号显示