C语言/C++学习之通过编写一个简单的游戏学习 C 语言
小职 2021-01-18 来源 : 阅读 749 评论 0

摘要:本文主要向大家介绍了C语言/C++学习之通过编写一个简单的游戏学习 C 语言,通过具体的内容向大家展现,希望对大家C语言/C++的学习有所帮助。

本文主要向大家介绍了C语言/C++学习之通过编写一个简单的游戏学习 C 语言,通过具体的内容向大家展现,希望对大家C语言/C++的学习有所帮助。

C语言/C++学习之通过编写一个简单的游戏学习 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!

尝试动手

 

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


关注“职坐标在线”(Zhizuobiao_Online)公众号,免费获取学习教程资料、技术就业咨询

C语言/C++学习之通过编写一个简单的游戏学习 C 语言

本文由 @小职 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程