成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

通過編寫一個簡單的游戲?qū)W習 C 語言

開發(fā) 后端
當你學習一門新的編程語言時,這個“猜數(shù)字”游戲是一個很好的入門程序。下面是如何用 C 語言來編寫它。

我在小學時就開始 自學編程 。我的第一個程序是在 Apple II 上編寫的,但最終,我還是通過看書和編程練習學會了 C 語言。練習編程的最佳方法是編寫示例程序,它能幫助你練習新知識。

[[375797]]

在我學習一種新的編程語言時,我喜歡編寫一個簡單的“猜數(shù)字”游戲來練習。電腦從 1 到 100 中隨機挑選一個數(shù)字,你必須通過猜測來算出來。在另一篇文章中,我展示了如何用 Bash 語言編寫這個 “猜數(shù)字”游戲 ,我的同事也寫了一些文章,介紹如何用 JavaJulia 和其他計算機語言編寫它。

“猜數(shù)字”游戲的偉大之處在于它踐行了幾個編程概念:如何使用變量、如何比較值、如何打印輸出以及如何讀取輸入。

整個夏天,我錄制了 一個系列視頻 ,教人們?nèi)绾斡?C 語言 編寫程序。從那以后,我聽到了很多人都在跟著它學習 C 語言編程的消息。所以,我想接著用 C 語言寫一個“猜數(shù)字”的游戲。

去取一個隨機數(shù)

從寫一個函數(shù)來選擇一個隨機數(shù)字來開始“猜數(shù)字”游戲。在編寫函數(shù)時,優(yōu)秀的程序員會盡量使它們具有靈活性,這樣他們就可以重用它們來解決略有不同的問題。因此,與其硬編碼函數(shù)來選擇 1 到 100 之間的一個隨機數(shù),不如編寫函數(shù)來選擇 1 到某個整數(shù) maxval 之間的一個隨機數(shù):

  1. #include <stdio.h> 
  2. #include <sys/random.h> 
  3. int 
  4. randnum(int maxval) 
  5.   /* pick a random number from 1 to maxval */ 
  6.   int randval; 
  7.   getrandom(&randval, sizeof(int), GRND_NONBLOCK); 
  8.   /* could be negative, so ensure it's positive */ 
  9.   if (randval < 0) { 
  10.     return (-1 * randval % maxval + 1); 
  11.   } 
  12.   else { 
  13.     return (randval % maxval + 1); 
  14.   } 

該函數(shù)使用 Linux 的系統(tǒng)調(diào)用 getrandom 來生成一系列隨機數(shù)。你可以在手冊頁中了解關于這個系統(tǒng)調(diào)用的更多信息,但請注意,getrandom 將用隨機的 0 和 1 填充變量。這意味著最終值可以是正的,也可以是負的,因此你需要在之后進行測試,以確保 randnum 函數(shù)的結果是正值。

編寫程序

你可以用這個函數(shù)來寫你的“猜數(shù)字”程序:

  1. #include <stdio.h> 
  2. #include <sys/random.h> 
  3.   
  4. int 
  5. randnum(int maxval) 
  6.   ... 
  7. int 
  8. main(void) 
  9.   int number; 
  10.   int guess; 
  11.   number = randnum(100); 
  12.   puts("Guess a number between 1 and 100"); 
  13.   do { 
  14.     scanf("%d", &guess); 
  15.     if (guess < number) { 
  16.       puts("Too low"); 
  17.     } 
  18.     else if (guess > number) { 
  19.       puts("Too high"); 
  20.     } 
  21.   } while (guess != number); 
  22.   puts("That's right!"); 
  23.   return 0; 

程序首先使用 randnum 函數(shù)從 1 到 100 之間選擇一個隨機數(shù)。在向用戶輸出一個提示后,程序進入一個 do-while 循環(huán),以便用戶可以猜測數(shù)字。

在循環(huán)的每次迭代中,程序測試用戶的猜測的數(shù)值。如果用戶的猜測小于隨機數(shù),程序?qū)⑤敵?ldquo;Too low”,如果猜測大于隨機數(shù),程序?qū)⑤敵?ldquo;Too high”。循環(huán)繼續(xù),直到用戶的猜測與隨機數(shù)相同。

當循環(huán)退出時,程序輸出 “That's right!”,然后立即結束:

  1. $ gcc -o guess -Wall guess.c 
  2. $ ./guess 
  3. Guess a number between 1 and 100 
  4. 50 
  5. Too high 
  6. 30 
  7. Too low 
  8. 40 
  9. Too low 
  10. 45 
  11. Too high 
  12. 42 
  13. Too low 
  14. 43 
  15. Too low 
  16. 44 
  17. That's right! 

嘗試動手

在學習一門新的編程語言時,這個“猜數(shù)字”游戲是一個很好的入門程序,因為它以一種非常直接的方式練習了幾個常見的編程概念。通過用不同的編程語言實現(xiàn)這個簡單的游戲,你可以演示一些核心概念,并比較每種語言的細節(jié)。

 

責任編輯:趙寧寧 來源: Linux中國
相關推薦

2021-01-03 16:30:34

Rust編程語言

2021-02-05 16:03:48

JavaScript游戲?qū)W習前端

2021-01-01 19:30:21

Python編程語言

2021-01-05 12:38:53

C++編程語言軟件開發(fā)

2021-04-13 06:35:13

Elixir語言編程語言軟件開發(fā)

2009-09-11 09:11:09

2017-11-23 08:30:26

編程Python擲骰子游戲

2020-11-30 13:16:29

Python編程語言

2023-01-13 18:55:09

游戲Ada編程語言

2020-12-28 06:29:31

Bash互動游戲Linux

2009-09-11 09:10:30

C#編寫游戲

2021-01-12 06:42:50

Lua腳本語言編程語言

2022-06-03 16:59:13

編程語言Awk

2021-12-30 11:26:31

語言編譯器腳本

2013-12-13 08:59:15

C++游戲

2019-09-23 09:11:02

Python文本編輯器操作系統(tǒng)

2015-03-24 19:48:24

2023-09-08 10:50:24

Tcl/TkWish

2009-08-25 01:46:00

C# WINDOWS服

2021-09-08 08:36:50

ncursesLinux猜謎游戲
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人黄色av | 北条麻妃国产九九九精品小说 | 亚洲视频 欧美视频 | 国产一级毛片精品完整视频版 | 一级黄色片一级黄色片 | 国产一区二区观看 | 丁香综合 | 色网站在线 | 国产精品免费一区二区三区四区 | 国产天天操 | 在线成人 | 91嫩草精品| 国产探花在线精品一区二区 | 新91视频网 | 亚洲一区二区三 | 国产亚洲精品久久久久动 | 四色成人av永久网址 | 欧美国产日韩一区二区三区 | 毛片一级网站 | 亚洲日本国产 | 亚洲成人av在线播放 | 国产精品毛片久久久久久久 | av片在线观看网站 | 久久久夜 | 日韩国产精品一区二区三区 | 男人久久天堂 | 精品美女视频在免费观看 | 97精品一区二区 | 日本不卡一区二区三区在线观看 | 久久久看 | 欧美成人a∨高清免费观看 欧美日韩中 | 亚洲精品视频三区 | 九九综合 | 亚洲精品成人av久久 | 视频一区在线观看 | 午夜影院中文字幕 | 欧美成人精品欧美一级 | www.中文字幕.com | 日韩一区二区三区在线观看 | 色综合一区二区 | 黄色大片免费播放 |