人工智能

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

时间:2010-12-5 17:23:32  作者:IT科技   来源:域名  查看:  评论:0
内容摘要:我在小学时就开始 自学编程 。我的第一个程序是在 Apple II 上编写的,但最终,我还是通过看书和编程练习学会了 C 语言。练习编程的最佳方法是编写示例程序,它能帮助你练习新知识。在我学习一种新的

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

在我学习一种新的编写编程语言时,我喜欢编写一个简单的个简“猜数字”游戏来练习。电脑从 1 到 100 中随机挑选一个数字,游戏C语你必须通过猜测来算出来。学习在另一篇文章中,通过我展示了如何用 Bash 语言编写这个 “猜数字”游戏 ,编写我的个简同事也写了一些文章,介绍如何用 Java 、游戏C语 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 its 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("Thats right!");   return 0; } 

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

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

当循环退出时,程序输出 “Thats 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 Thats right! 

尝试动手

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

copyright © 2025 powered by 益强资讯全景  滇ICP备2023006006号-31sitemap