![53066ea41faccc2f2b098200dd24366b.png](https://i-blog.csdnimg.cn/blog_migrate/885821b58b381fa1c3860f4f71d0d7cd.jpeg)
学习编程注重实践,不少同学书看了好几章,等动手开始自己写的时候,发现还是不知从何下手。今天,我们以一个猜数字的小程序为例,带大家了解一下。
首先,看下题目:
![4fb8b0edc689801f05345369202fddb1.png](https://i-blog.csdnimg.cn/blog_migrate/863e1c5d8aa12cf266bce52d7fc53e4f.jpeg)
这个游戏大家应该不陌生,留点时间大家思考下怎么来用C语言编程来实现。我们先来介绍下VC++6.0运行C语言程序的基本操作过程。
![6565926be3df3f5e097f151a806dcaec.png](https://i-blog.csdnimg.cn/blog_migrate/cbdbf0ee5d8ca162ad7ea821f9a49ec1.jpeg)
如上图,VC++6.0打开界面,注意中英文差别(比较简单,自己对照一下)。
第一步,我们要新建一个工程(project),点 “文件(File)”---“新建(New)”,在新弹出窗口,选“工程(Projects)”---“32位控制台应用程序(Win32 Console Application)”。右边工程名称,保存位置,自己选一个。
![afec6471d4267dd204cc5de6f200975a.png](https://i-blog.csdnimg.cn/blog_migrate/433cef0b71bfc7b64d525241ef855836.jpeg)
完成后,点“确定(OK)”,下一步默认选“空白工程(An empty project)”,点击“完成(Finish)”。
![198a7713a09290f384c1df50fc1ad8ab.png](https://i-blog.csdnimg.cn/blog_migrate/adabf71d2d79a5d2e54d324493c523c3.jpeg)
创建好工程的界面:
![316f19cffe3885f04ec825ed73e69483.png](https://i-blog.csdnimg.cn/blog_migrate/bddf274b594fb32e091b42fea089a417.jpeg)
第二步,创建 .c 文件,就是C语言代码源文件。点 “文件(File)”---“新建(New)”,在新弹出窗口,选“文件(Files)”---“C++源文件(C++ Source File)”。注意别选错,上面一个“C/C++ Header File”,是 .h 的头文件。右边,默认添加到刚刚创建的工程里,源文件名字起一个,位置默认跟工程同一目录。
![e782f13744df99e2942bf805dda59591.png](https://i-blog.csdnimg.cn/blog_migrate/25a720d06fccd6de65e57a17fb86663c.jpeg)
源文件名称注意以 .c 结尾,否则创建的是默认的C++源文件( .cpp 结尾)。(如果创建的文件看不到后缀名,在“文件夹和搜索选项”里面找到“隐藏已知文件类型的扩展名”,前面打勾取消掉。)
![e90fe906ad4cf54cc1c612ed4d55c3c1.png](https://i-blog.csdnimg.cn/blog_migrate/6684e441b69e1e7c07c8a62d05895b1f.jpeg)
创建好如上图,接下来就可以开始正式写代码了。
以上两步操作在VC++6.0里面也可以简单点:
a、点击“新建文本文件(New Text File)”。
![0dc513eb2ff67be7e70bab7a26d4c65b.png](https://i-blog.csdnimg.cn/blog_migrate/191d09fdf6dd9d41fdd5ae07f0df6864.jpeg)
b、然后点击保存按钮,选好保存位置、文件名(以 .c 结尾),点击“保存”。
![fdbbbff7a7556e339ba89eb9a81afd21.png](https://i-blog.csdnimg.cn/blog_migrate/136f3117d1ec0898302556610441544c.jpeg)
c、接下来就可以编写代码了。在第一次编译的时候,会提示是否需要创建一个默认的project,点击“是”就可以了。(在VS2010等新版,必须先新建工程,否则没有编译选项)
![e2fe50decece239cec100d69e4e319f2.png](https://i-blog.csdnimg.cn/blog_migrate/1a9d7b5fb5e42260cefb819680aaeae3.jpeg)
第三步,编写代码。
![500e4b900cd679bf5d1cc1886a6d2706.png](https://i-blog.csdnimg.cn/blog_migrate/f5281732e0ebf26182dc9952283a0ea8.jpeg)
如上图,基本框架先写好,然后往中间填写代码。第一行预处理命令,包含对应的库(比如,要用到三角函数、开方这些函数,要包含对应的math.h库;使用字符串相关函数,要包含string.h库)。关于main函数介绍,C语言程序从main函数开始到main函数结束,参考之前的文章。
注意养成良好的习惯,括号这些成对儿出现的符号,敲的时候就成对出来(不要先敲左边,敲完代码再敲右边),可以避免许多麻烦的错误(出现少了右括号这种问题,检查起来还是挺麻烦的,尤其是代码不规整的时候 )。
程序写好,编译(检查没有语法错误)---组建(连接)---执行,可以从菜单找,也可以直接点击微型编译条上面的按钮。
![3f201c66da828fcbbfd4f3c767b11831.png](https://i-blog.csdnimg.cn/blog_migrate/d3242992f0e8c950ff5a8bd8cd1efe1c.jpeg)
接下来,回到猜数字这道编程题。思考下都有哪些过程步骤。我们先来一个简单的,猜一次的:
1、首先要有一个要猜的数。
2、输入某人猜的一个数。
3、比较处理。
4、输出结果。
代码如图所示:
![cffe17b6bd426628ad10379fcad2c461.png](https://i-blog.csdnimg.cn/blog_migrate/b8eab7964e130070e8f8079a492693d6.jpeg)
当然这只是一个非常简版的程序,很不完善:程序运行没有任何提示,很不友好;不论猜对与否,只能猜一次。
如果要实现没猜中继续猜,重复这样猜的过程,需要使用循环来实现。循环条件也很清晰,没猜中的话继续猜。这里我们使用 do while循环。
代码如下:
![6f75fcb0d6192af8e2fdbef536845e48.png](https://i-blog.csdnimg.cn/blog_migrate/622fe4e4849d2b591e1a336ed952923a.jpeg)
写成这样已经不错了,但还有不妥的地方,比如,提示语句每次显示都一样,不能跟随输入的数值变化显示新的范围;输入数值不在范围内,也没有提示,依然按照错误的处理。
数值范围的上限和下限是不断在变化的,我们就想到用两个变量来表示。同时,在输入数值后,增加判断语句,看是否在范围内。在范围内合法的话,进行比较判断,更新上下限;不在范围内的话,重新输入数值。
代码如下:
![f38b39aaabb6ead39a964e7d425eb551.png](https://i-blog.csdnimg.cn/blog_migrate/de36b60e2107c68c735d57e0ead2be2f.jpeg)
如果我们要程序每次运行都生成一个不一样的数来猜,就更完美了。
要猜的数值,这里我们用随时间产生的随机数来代替。
最终代码如下:
![726e1da8938f1b5bd83d6803c8a30022.png](https://i-blog.csdnimg.cn/blog_migrate/21ef46c5a01696ad04b716ce64d66ac6.jpeg)
每次运行,要猜的数都不一样:
![978bc4f04c82c2efe8f26ef29be6eb5d.png](https://i-blog.csdnimg.cn/blog_migrate/e3cb52d1b7756d66e6875bdf470ab32d.jpeg)
![a620d12be05e9a370137d9eff5e12a7a.png](https://i-blog.csdnimg.cn/blog_migrate/8a64b374f76b96ac1d5535aa2299e949.jpeg)
当然,大家一开始学,可能考虑不了这么详细。没关系,慢慢来。从最简单的一步步写起,每天进步一点点,最终会变得很优秀。
![aca268ec67a6dd7a9cd2949b40209b92.png](https://i-blog.csdnimg.cn/blog_migrate/2aefe930c6b460419a9e688ef2af9bee.jpeg)