C语言入门小程序-猜数字

学习编程注重实践,不少同学书看了好几章,等动手开始自己写的时候,发现还是不知从何下手。今天,我们以一个猜数字的小程序为例,带大家了解一下。

首先,看下题目:

这个游戏大家应该不陌生,留点时间大家思考下怎么来用C语言编程来实现。我们先来介绍下VC++6.0运行C语言程序的基本操作过程。

如上图,VC++6.0打开界面,注意中英文差别(比较简单,自己对照一下)。

第一步,我们要新建一个工程(project),点 “文件(File)”---“新建(New)”,在新弹出窗口,选“工程(Projects)”---“32位控制台应用程序(Win32 Console Application)”。右边工程名称,保存位置,自己选一个。

完成后,点“确定(OK)”,下一步默认选“空白工程(An empty project)”,点击“完成(Finish)”。

创建好工程的界面:

第二步,创建 .c 文件,就是C语言代码源文件。点 “文件(File)”---“新建(New)”,在新弹出窗口,选“文件(Files)”---“C++源文件(C++ Source File)”。注意别选错,上面一个“C/C++ Header File”,是 .h 的头文件。右边,默认添加到刚刚创建的工程里,源文件名字起一个,位置默认跟工程同一目录。

源文件名称注意以 .c 结尾,否则创建的是默认的C++源文件( .cpp 结尾)。(如果创建的文件看不到后缀名,在“文件夹和搜索选项”里面找到“隐藏已知文件类型的扩展名”,前面打勾取消掉。)

创建好如上图,接下来就可以开始正式写代码了。

以上两步操作在VC++6.0里面也可以简单点:

a、点击“新建文本文件(New Text File)”。

b、然后点击保存按钮,选好保存位置、文件名(以 .c 结尾),点击“保存”。

c、接下来就可以编写代码了。在第一次编译的时候,会提示是否需要创建一个默认的project,点击“是”就可以了。(在VS2010等新版,必须先新建工程,否则没有编译选项)

第三步,编写代码。

如上图,基本框架先写好,然后往中间填写代码。第一行预处理命令,包含对应的库(比如,要用到三角函数、开方这些函数,要包含对应的math.h库;使用字符串相关函数,要包含string.h库)。关于main函数介绍,C语言程序从main函数开始到main函数结束,参考之前的文章。

注意养成良好的习惯,括号这些成对儿出现的符号,敲的时候就成对出来(不要先敲左边,敲完代码再敲右边),可以避免许多麻烦的错误(出现少了右括号这种问题,检查起来还是挺麻烦的,尤其是代码不规整的时候 )。

程序写好,编译(检查没有语法错误)---组建(连接)---执行,可以从菜单找,也可以直接点击微型编译条上面的按钮。

接下来,回到猜数字这道编程题。思考下都有哪些过程步骤。我们先来一个简单的,猜一次的:

1、首先要有一个要猜的数。

2、输入某人猜的一个数。

3、比较处理。

4、输出结果。

代码如图所示:

当然这只是一个非常简版的程序,很不完善:程序运行没有任何提示,很不友好;不论猜对与否,只能猜一次。

如果要实现没猜中继续猜,重复这样猜的过程,需要使用循环来实现。循环条件也很清晰,没猜中的话继续猜。这里我们使用 do while循环。

代码如下:

写成这样已经不错了,但还有不妥的地方,比如,提示语句每次显示都一样,不能跟随输入的数值变化显示新的范围;输入数值不在范围内,也没有提示,依然按照错误的处理。

数值范围的上限和下限是不断在变化的,我们就想到用两个变量来表示。同时,在输入数值后,增加判断语句,看是否在范围内。在范围内合法的话,进行比较判断,更新上下限;不在范围内的话,重新输入数值。

代码如下:

如果我们要程序每次运行都生成一个不一样的数来猜,就更完美了。

要猜的数值,这里我们用随时间产生的随机数来代替。

最终代码如下:

每次运行,要猜的数都不一样:

当然,大家一开始学,可能考虑不了这么详细。没关系,慢慢来。从最简单的一步步写起,每天进步一点点,最终会变得很优秀。

本文分享自微信公众号 - 计算机二级C语言(gh_044a0595bf44)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-09-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏cppentry

C++ 获取当前系统时间

time() 是系统C语言的标准接口,通过man time 或者man 2 time 可查看详细的使用方法。

11420
来自专栏奔跑的键盘侠

C语言——小学四年级题目解析(二)

乍一看,就是一道小学数学题,一个经典的解题思路:吹个口哨,所有的小动物抬起2只脚,总共会抬起92*2=184只脚,剩下358-184=174只脚,鸡两只脚都抬起...

9320
来自专栏DBA随笔

Linux命令之nohup

语法:nohup Command [ Arg ... ] [ & ] 描述:nohup 命令运行由 Command 参数和任何相关的 Arg 参数指定的命令,忽...

6210
来自专栏攻城狮的动态

深入理解Block

我用了将近一周的时间将与Block相关的知识点进行了整理,将相关内容整理成了脑图,分享给大家:

7310
来自专栏Android研究院

搞定数据结构-栈和队列

如下,使用栈结构操作. “网”这个错别字在栈顶,“网”改成”望”只需要将“网”从栈顶移除重新写入”望”.

4720
来自专栏GitHubDaily

Python 之父宣布退休,但 Python 仍在吞噬世界

10 月 30 日,Python 之父 Guido 大牛宣布退休,离开 Dropbox。

9710
来自专栏AI科技大本营的专栏

从原理到应用落地,一文读懂推荐系统中的深度学习技术

2016年DeepMind开发的AlphaGo在围棋对决中战胜了韩国九段选手李世石,一时成为轰动全球的重大新闻,被全球多家媒体大肆报道。AlphaGo之所以取得...

9620
来自专栏Lauren的FPGA

第1讲 软件工程师应如何理解FPGA

Vivado HLS是将基于C/C++描述的算法转化成相应的RTL代码,最终在FPGA上实现。这就要求软件工程师对FPGA的内部架构有一些基本的认识,目的在于保...

8720
来自专栏ChaMd5安全团队

【翻译】看我如何利用PHP的0day黑掉Pornhub并获得2W美刀奖励

在分析了Pornhub使用的平台之后,我们在其网站上检测到了unserialize函数的使用,其中的很多功能点(例如上传图片的地方等等)都受到了影响,例如下面两...

22040
来自专栏python小教程

黑客们会用到哪些python技术?

Python已经成为漏洞开发领域的行业标准,读者会发现大多数概念验证工具都是用Python语言编写的(除了用Ruby写的安全漏洞检测工具)。Python允许开发...

5510

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励