![零基础趣学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=1738779800-ExeLqkxVcqgarm0NPwaaH0vNkjFR1cIl-0-9288c993dad4bd8e08e637e6a6bccfe6)
图1-4 组织视图
![](https://epubservercos.yuewen.com/4CF59A/14373745905390106/epubprivate/OEBPS/Images/figure-0022-0011.jpg?sign=1738779800-s15htiI4IMebrXomZj2lEEo17hELsygc-0-ec7c2514fea5e06fc380e5be4d27f7e3)
图1-5 查看视图
【疑问】为什么要取消选择【隐藏已知文件类型的扩展名】?
【回答】 如果不取消该选项,Windows 7系统会默认隐藏文件的扩展名,此时,只凭借文件名,无法判断文件的具体类型。下面的一个文本文件给出了隐藏和取消隐藏扩展名的区别,如图1-6所示。读者务必注意文件扩展名的变化。
![](https://epubservercos.yuewen.com/4CF59A/14373745905390106/epubprivate/OEBPS/Images/figure-0022-0012.jpg?sign=1738779800-e6lSG2OgUr1Kuu7XwB3lu7Txwo4EbgLJ-0-f8c73585fdf5bd34ee264e5ceda9fef1)
图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=1738779800-ONnFrfFVHHyRgqbSCB4cZ9MlLPiECiY3-0-7ec0589b4176c4b17f6d97f5ff1a661e)
图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=1738779800-jYYtxrastUphWQCYsSf9hfjDjr891oO0-0-177807ef95eab9fec40a3bd5803605b6)
图1-8 选择解决方案类型及保存路径
小贴士
如果您使用Visual Studio 2017及以上版本,是不会有【Win32控制台应用程序】选项的,需要依次选择【Windows桌面】、【Windows桌面向导】选项,如图1-9所示。
![](https://epubservercos.yuewen.com/4CF59A/14373745905390106/epubprivate/OEBPS/Images/figure-0023-0015.jpg?sign=1738779800-84Fnku20HOACxZhizH1ge6gHNrVKyPcq-0-04e1b5a13373c2a071cddb8a7c17c30b)
图1-9 Windows桌面向导
第3步 单击【下一步】,如图1-10所示。
![](https://epubservercos.yuewen.com/4CF59A/14373745905390106/epubprivate/OEBPS/Images/figure-0023-0016.jpg?sign=1738779800-C6nBW8rbzkPkQnpwzi47R86JCWjtFJ4l-0-927ee58119b47f2409ad86637107f9dd)
图1-10 项目生成向导
第4步 依次选择【控制台应用程序】、【空项目】,最后单击【确定】,如图1-11所示。
![](https://epubservercos.yuewen.com/4CF59A/14373745905390106/epubprivate/OEBPS/Images/figure-0024-0017.jpg?sign=1738779800-tTMkzUyy3N4jUzRhinZ8YciAXUgb3nEp-0-74b88425b384b2e5fcf37fc1863e7986)
图1-11 选择应用程序类型
提示: 选择【附加选项】时,一定要选择【空项目】复选框,千万不要选择【安全开发生命周期(SDL)检查】复选框,否则会影响后续学习。
第5步 如果【解决方案资源管理器】对话框中显示名称为“MyFirstC”的项目,表示解决方案创建成功,如图1-12所示。
![](https://epubservercos.yuewen.com/4CF59A/14373745905390106/epubprivate/OEBPS/Images/figure-0024-0018.jpg?sign=1738779800-09LJd0oHtD5vQkuVo2RRjiHCH7Ykgzjs-0-1a217e95056d4ec499999d2ed5085c89)
图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=1738779800-cN9UreApaTR5Z1nPAFt2y82Ym0phVNzA-0-10630906029e820e89760f30b5e2cf5d)
图1-13 添加.c文件
![](https://epubservercos.yuewen.com/4CF59A/14373745905390106/epubprivate/OEBPS/Images/figure-0025-0020.jpg?sign=1738779800-l5p2fQMpJQKoqwEDjKOrZkJwsNpB9k1j-0-36f810fc5d8934c2ae81085727e7389d)
图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=1738779800-biQAjgZTmTAqVJGrATUqiQd5xem1KzFM-0-4040ee81e98174937b619c897e67f775)
图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=1738779800-JFglAfljtUkfPp8wEjjMm9AvS64ylxBh-0-1df2d803c9dbaa44151a0a7ecc53bdaf)
图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=1738779800-8Id82R3h5gvNsiAAqjN7zS0ay9VqwAER-0-94910936bc43f9bda7b2552961da533d)
图1-17 编译C语言程序
![](https://epubservercos.yuewen.com/4CF59A/14373745905390106/epubprivate/OEBPS/Images/figure-0026-0024.jpg?sign=1738779800-mOlx3n8WRAEEhMd0X6z7lpy6WrYXa0oB-0-df4c11d84686d3e5b1a2d5aa9bbec7e7)
图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=1738779800-nYm1N9BDBmEtj3rE6ywZ2gpZmlQVTXBX-0-62fbce1145df8eae78bb445e9e387912)
图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=1738779800-wqoK1Igy06938lN5osms8r4LKCEd4PRA-0-25b7d71b9372093220aae87b41bee8c1)
图1-20 查找Debug文件夹
![](https://epubservercos.yuewen.com/4CF59A/14373745905390106/epubprivate/OEBPS/Images/figure-0027-0027.jpg?sign=1738779800-wRC7CGtYxH4siT5eam1yg0EQ6u7834Zx-0-1472508415d042d356d9ab9c3799b4bf)
图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=1738779800-NoO3j4z6jsPo5l0CeevUkc9IUZ1jzsFw-0-3e64a8e539879f448be3358b669992d2)
图1-22 本地Windows调试器
![](https://epubservercos.yuewen.com/4CF59A/14373745905390106/epubprivate/OEBPS/Images/figure-0027-0029.jpg?sign=1738779800-YiqVzQuOs546HYl5O7uepZKlIrbs5d5i-0-043c72b839008ecebbfdd44c120694d6)
图1-23 运行结果
1.3.7 项目过期提示
在VS2012中,单击【本地Windows调试器】时,可能会弹出图1-24所示对话框。这是由于修改了C语言源程序导致的,建议读者选择【不再显示此对话框】复选框,然后单击【是】即可,该对话框就不会再显示了。
![](https://epubservercos.yuewen.com/4CF59A/14373745905390106/epubprivate/OEBPS/Images/figure-0028-0030.jpg?sign=1738779800-LRymS9IKwwl5JGtfBidy9EsYKo4SztrF-0-1e33785fe94f5ed52faa9784045dd6b6)
图1-24 项目过期提示框
1.3.8 生成错误提示
如果单击【本地Windows调试器】运行程序时,弹出图1-25所示对话框。说明程序在编译时发生错误,此时应该单击【否】,然后在【错误列表】窗口中查看具体的错误信息。
![](https://epubservercos.yuewen.com/4CF59A/14373745905390106/epubprivate/OEBPS/Images/figure-0028-0031.jpg?sign=1738779800-HqMsQ5mpPeGdJA2wd4W5J1Gf1DF7YeMu-0-44fa959316be74adc0f43cab97281f28)
图1-25 生成错误提示框
注意: 切记,不要选择【不再显示此对话框】复选框,否则会影响后续编程。
1.3.9 常见错误
【常见错误1】英文括号写成了中文括号,如图1-26所示。
![](https://epubservercos.yuewen.com/4CF59A/14373745905390106/epubprivate/OEBPS/Images/figure-0028-0032.jpg?sign=1738779800-kJl20nqDcrTlr0p8hDksnvBaAXPUZmQA-0-d71b61df45f450afe16a8859d9914d91)
图1-26 英文括号与中文括号
通过图1-26对比可以看到,英文括号比较窄小,中文括号比较圆润。
【常见错误2】 把英文分号写成中文分号,如图1-27所示。
![](https://epubservercos.yuewen.com/4CF59A/14373745905390106/epubprivate/OEBPS/Images/figure-0029-0033.jpg?sign=1738779800-16gJNMCctdiADH3Fo3lg4dyIoB3Z2tcw-0-ab25ab4b37e5a0dc5f6eb163b325af98)
图1-27 英文分号与中文分号
1.3.10 设置行号显示
为了方便后期调试程序与定位错误,建议读者在VS2012中设置显示行号。设置行号显示分为以下2个步骤。
第1步 单击菜单栏中【工具】选项,选择【选项】命令,如图1-28所示。
![](https://epubservercos.yuewen.com/4CF59A/14373745905390106/epubprivate/OEBPS/Images/figure-0029-0034.jpg?sign=1738779800-BStWWTRdwQ1RYzrzuzPUuUvmdo6QeM17-0-26a977286fd290f590340f6db176d8b9)
图1-28 工具菜单
第2步 依次单击【文本编辑器】、【C/C++】命令,在“显示”一栏 中选择【行号】复选框,最后单击【确定】即可,如图1-29所示。
![](https://epubservercos.yuewen.com/4CF59A/14373745905390106/epubprivate/OEBPS/Images/figure-0030-0035.jpg?sign=1738779800-cHmtslkE0n8lMBSWfrQPXb5SxrZH9wKX-0-7ffc705ce7979a1b8430efeae55572dc)
图1-29 设置行号显示