官术网_书友最值得收藏!

第4章 了不起的分支和循環(huán)

4.1 分支和循環(huán)

視頻講解

有人說,了不起的C語言,因為“機器碼生匯編,匯編生C,C生萬物”,C語言幾乎造就如今IT時代的一切,它是一切的開端,并且仍然沒被日新月異的時代所淘汰。

有人可能會反對,因為首先C語言不是世界上第一門編程語言,它仍然要被降級為匯編語言再到機器語言才能為計算機所理解。

這話題扯得有點太遠了,小甲魚想說的是,其實很多初學(xué)者會對編程語言有一種莫名其妙的崇拜感。所以呢,他們必須要找出一門全世界公認最牛的語言再來學(xué)習(xí)好它。

其實,世界上根本沒有最優(yōu)秀的編程語言,只有最合適的語言,面對不同的環(huán)境和需求,就會有不同的編程工具去迎合。

今天的主題是“了不起的分支和循環(huán)”,為什么小甲魚不說C語言、Python了不起,卻毫不吝嗇地對分支和循環(huán)這兩個知識點那么“崇拜”呢?

大家在前面也接觸了最簡單的分支和循環(huán)的使用,那么小甲魚希望大家思考一下:如果沒有分支和循環(huán),我們的程序會變成怎樣?

沒錯,就會變成一堆從上到下依次執(zhí)行、毫無趣味的代碼!還能實現(xiàn)算法嗎?當(dāng)然不能!

幸好,所有能稱得上編程語言的,都應(yīng)該擁有分支和循環(huán)。接下來從游戲的角度來談?wù)劊按蝻w機”游戲相信大家非常熟悉了,如圖4-1所示。

那么,我們就從“打飛機”這個小游戲來解釋一般程序的組成和結(jié)構(gòu)。

首先進入游戲,很容易發(fā)現(xiàn)其實就是進入一個大循環(huán),雖然小甲魚現(xiàn)在跟大家討論的是打飛機,但基本上每一個游戲的套路都是一樣的,甚至操作系統(tǒng)的消息機制使用的也是同樣一個大循環(huán)來完成的。游戲中只要沒有觸發(fā)死亡機制(注:這個游戲的死亡機制是撞到敵機),敵機都會不斷地生成,這足以證明整個游戲就是在一個循環(huán)中執(zhí)行的。

接著來看一下分支的概念。分支也就是習(xí)慣使用的if條件判斷,在條件持續(xù)保持成立或不成立的情況下,都執(zhí)行固定的流程。一旦條件發(fā)生改變,原來成立的條件就變?yōu)椴怀闪ⅲ敲闯绦蚓妥呷肓硪粭l路了。就好比拿我們的飛機去撞擊敵機,如圖4-2所示。

圖4-1 打飛機游戲

圖4-2 打飛機游戲結(jié)束界面

另外,大家有沒有發(fā)現(xiàn),小飛機都是一個樣子的?嗯,這說明它們是來自同一個對象的復(fù)制品。Python是面向?qū)ο蟮木幊蹋瑢ο筮@個概念無時無刻地融入在Python的血液里,只是暫時還沒有接觸這個概念,不用著急,后面的章節(jié)會詳細講解。

最后我要不要告訴大家這個小游戲就只是用了幾個循環(huán)和if條件就寫出來啦?沒錯,編程其實就是這么簡單。當(dāng)然,大家要達到自己可以動手寫一個界面小游戲的水平,還需要掌握更多的知識!現(xiàn)在需要大家一起來動手,按照剛才看到的小游戲,請拿出紙和筆,嘗試將它的實現(xiàn)邏輯勾畫出來(可以使用文字描述,現(xiàn)在只談框架,不講代碼)。

參考框架如下:

主站蜘蛛池模板: 贞丰县| 大兴区| 岳西县| 无锡市| 禹州市| 胶南市| 浦北县| 龙门县| 新竹市| 炉霍县| 壤塘县| 郁南县| 岳阳县| 临朐县| 汽车| 同仁县| 汉中市| 砚山县| 临颍县| 彭阳县| 永年县| 蓝田县| 鄄城县| 张掖市| 株洲市| 昌图县| 凤庆县| 临西县| 鹤山市| 万全县| 华蓥市| 乾安县| 罗定市| 宜良县| 五原县| 漳平市| 都兰县| 饶河县| 雷州市| 白玉县| 福泉市|