当前位置:首页 > 实用技巧 >

使用dowhile语言编写程序(do while执行顺序)

来源:原点资讯(m.360kss.com)时间:2024-03-04 02:49:17作者:YD166手机阅读>>

使用dowhile语言编写程序,do while执行顺序(1)

当你学习一门新的编程语言时,这个“猜数字”游戏是一个很好的入门程序。下面是如何用 C 语言来编写它。

• 来源:linux.cn • 作者:Jim Hall • 译者:qfzy1233 •

(本文字数:2576,阅读时长大约:3 分钟)

当你学习一门新的编程语言时,这个“猜数字”游戏是一个很好的入门程序。下面是如何用 C 语言来编写它。

我在小学时就开始 自学编程 。我的第一个程序是在 Apple II 上编写的,但最终,我还是通过看书和编程练习学会了 C 语言。练习编程的最佳方法是编写示例程序,它能帮助你练习新知识。

在我学习一种新的编程语言时,我喜欢编写一个简单的“猜数字”游戏来练习。电脑从 1 到 100 中随机挑选一个数字,你必须通过猜测来算出来。在另一篇文章中,我展示了如何用 Bash 语言编写这个 “猜数字”游戏 ,我的同事也写了一些文章,介绍如何用 Java 、 Julia 和其他计算机语言编写它。

“猜数字”游戏的伟大之处在于它践行了几个编程概念:如何使用变量、如何比较值、如何打印输出以及如何读取输入。

整个夏天,我录制了 一个系列视频 ,教人们如何用 C 语言 编写程序。从那以后,我听到了很多人都在跟着它学习 C 语言编程的消息。所以,我想接着用 C 语言写一个“猜数字”的游戏。

去取一个随机数

从写一个函数来选择一个随机数字来开始“猜数字”游戏。在编写函数时,优秀的程序员会尽量使它们具有灵活性,这样他们就可以重用它们来解决略有不同的问题。因此,与其硬编码函数来选择 1 到 100 之间的一个随机数,不如编写函数来选择 1 到某个整数 maxval 之间的一个随机数:

#include <stdio.h> #include <sys/random.h> int randnum(int maxval) { /* pick a random number from 1 to maxval */ int randval; getrandom(&randval, sizeof(int), GRND_NONBLOCK); /* could be negative, so ensure it's positive */ if (randval < 0) { return (-1 * randval % maxval 1); } else { return (randval % maxval 1); } }

该函数使用 Linux 的系统调用 getrandom 来生成一系列随机数。你可以在手册页中了解关于这个系统调用的更多信息,但请注意,getrandom 将用随机的 0 和 1 填充变量。这意味着最终值可以是正的,也可以是负的,因此你需要在之后进行测试,以确保 randnum 函数的结果是正值。

编写程序

你可以用这个函数来写你的“猜数字”程序:

#include <stdio.h> #include <sys/random.h> int randnum(int maxval) { ... } int main(void) { int number; int guess; number = randnum(100); puts("Guess a number between 1 and 100"); do { scanf("%d", &guess); if (guess < number) { puts("Too low"); } else if (guess > number) { puts("Too high"); } } while (guess != number); puts("That's right!"); return 0; }

程序首先使用 randnum 函数从 1 到 100 之间选择一个随机数。在向用户输出一个提示后,程序进入一个 do-while 循环,以便用户可以猜测数字。

在循环的每次迭代中,程序测试用户的猜测的数值。如果用户的猜测小于随机数,程序将输出“Too low”,如果猜测大于随机数,程序将输出“Too high”。循环继续,直到用户的猜测与随机数相同。

当循环退出时,程序输出 “That's right!”,然后立即结束:

$ gcc -o guess -Wall guess.c $ ./guess Guess a number between 1 and 100 50 Too high 30 Too low 40 Too low 45 Too high 42 Too low 43 Too low 44 That's right! 尝试动手

在学习一门新的编程语言时,这个“猜数字”游戏是一个很好的入门程序,因为它以一种非常直接的方式练习了几个常见的编程概念。通过用不同的编程语言实现这个简单的游戏,你可以演示一些核心概念,并比较每种语言的细节。

你有最喜欢的编程语言吗?你会如何用它来编写“猜数字”游戏呢?关注本系列文章,查看你可能感兴趣的其他编程语言的示例。


via: opensource.com

作者: Jim Hall 选题: lujun9972 译者: qfzy1233 校对: wxy

本文由 LCTT 原创编译, Linux中国 荣誉推出

点击“了解更多”可访问文内链接

栏目热文

如何编写一份规范手册(怎么编写工作操作手册)

如何编写一份规范手册(怎么编写工作操作手册)

对于一家连锁企业来说,商业模式关系着企业存活的问题,而标准化体系则关系着做大做强的问题。对于连锁企业中层和基层人员来说,...

2024-03-04 02:37:24查看全文 >>

如何写用户手册(如何编写自己的使用手册)

如何写用户手册(如何编写自己的使用手册)

用户操作手册成都银行 信息技术部二〇〇九年XX月目 录1 概述1.1 编写目的1.2 参考资料1.3 术语和缩写词1.4...

2024-03-04 02:49:27查看全文 >>

写reference的格式(reference格式的例子)

写reference的格式(reference格式的例子)

Essay、Reference等这类国外留学生常见的作业格式老生常谈了,既要规范又要规避抄袭的风险,因为国外大学对于学术...

2024-03-04 02:54:24查看全文 >>

开发文档如何编写(项目开发文档编写)

开发文档如何编写(项目开发文档编写)

前言对于如何让技术人员写好开发文档,这是一个很常见的问题。本次不过多分享理论,而是通过分享我们团队新成员编写的第一份真正...

2024-03-04 02:58:42查看全文 >>

用户操作手册怎么编写(用户操作手册模板)

用户操作手册怎么编写(用户操作手册模板)

用户使用说明书,是为了能够让用户能更清晰地使用产品而编写的。作者提到了一个编写的小技巧,就是把它当成一个需求来处理,那么...

2024-03-04 03:02:01查看全文 >>

如何编写软件手册(软件使用流程手册如何编写)

如何编写软件手册(软件使用流程手册如何编写)

什么是电子产品手册呢?产品手册是互联网时代发展下的产物,是基于移动端展示的企业在线营销内容,包括对以往传统纸质产品册,宣...

2024-03-04 02:46:01查看全文 >>

单文档编程教程(文本文档做简单编程教程)

单文档编程教程(文本文档做简单编程教程)

本文介绍Vue.js单文件组件的概念和编写方法。示例代码可在评论区留言或私信获取。本文是一个Vue.js的单文件组件,我...

2024-03-04 02:27:22查看全文 >>

操作流程编写(怎么编写工作操作手册)

操作流程编写(怎么编写工作操作手册)

西门子博途(Siemens TIA Portal)是用于西门子可编程逻辑控制器(PLC)编程的集成开发环境(IDE)。下...

2024-03-04 03:09:38查看全文 >>

通过注释详细设计文档(说明代码设计的文档怎么写)

通过注释详细设计文档(说明代码设计的文档怎么写)

通过Swagger系列可以快速生成API文档,但是这种API文档生成是需要在接口上添加注解等,这表明这是一种侵入式方式;...

2024-03-04 02:32:56查看全文 >>

仙人掌深栽还是浅栽好(仙人掌深栽还是浅栽)

仙人掌深栽还是浅栽好(仙人掌深栽还是浅栽)

大家好,我是植物草虫,爱绿化爱养花,今天有网友问到,我的仙人掌上盆几个月了越长越瘪,也不见新根系是怎么回事?敲重点:仙人...

2024-03-04 02:41:15查看全文 >>

文档排行