专栏首页计算机二级C语言C语言入门小程序-猜数字

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),作者:计算机二级C语言

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

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

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • VIP保过班高效备考方法

    对于完全不懂C语言的考生,先需要学习C语言基础。 1. 仔细阅读专属教材。 在阅读教材时,结合视频课堂,认真的读懂每个知识点。其中第2、3、4、5、6、7、...

    用户6755376
  • 短路求值问题

    在昨天的文章中,我们已经提到了优先级与求值顺序无关(C语言运算符优先级),涉及到的还有短路求值(short-circuit evaluation)问题,接下来具...

    用户6755376
  • 数组学习之杨辉三角

    如上图,杨辉三角的形式,是一个比较规范的二维数组的左下角一部分。我们定义一个10行10列的二维整型数组int a[10][10];来存储上面的数值。

    用户6755376
  • 编程的智慧特点

      编程是一种创造性的工作,是一门艺术。精通任何一门艺术,都需要很多的练习和领悟,所以这里提出的“智慧”,并不是号称一天瘦十斤的减肥药,它并不能代替你自己的勤奋...

    用户1289394
  • SAP CRM One Order跟踪和日志工具CRMD_TRACE_SET

    在跟踪模式下运行One Order场景。运行完毕后,使用事务码CRMD_TRACE_EVAL:

    Jerry Wang
  • 怎样编写健壮的代码

    一个会写诗的程序员
  • 初来乍到,聊聊自己这一年的学习和开发练习

    记得那时候吧 搭起来一个小的Spring boot项目能激动半天 还要买瓶汽水庆祝下(其实想喝了)

    代码哈士奇
  • 【编程指导】如何写出无法维护的代码

    读到一个非常有趣的文章,原文来自国外某网站,经过作者的翻译,读来非常有趣,反话正说,诙谐之中却道出了好多程序员不好的编程习惯。以下是翻译原文。 酷壳里有很多我觉...

    程序员互动联盟
  • 如何写出无法维护的代码

    地址:https://coolshell.cn/articles/4758.html

    IT云清
  • GitHub现在已支持函数定义跳转,妈妈再也不怕我记性差了

    在后面看到一个函数或方法,但是已经记不清它的定义了怎么办?这就像看小说忘记了人名一样让人头大。

    代码医生工作室

扫码关注云+社区

领取腾讯云代金券