- 小學生C++創(chuàng)意編程(視頻教學版)
- 劉鳳飛
- 1045字
- 2024-12-31 19:30:01
第6課 睡不著就數羊(計數)

睡不著的時候總喜歡數羊,一只羊、兩只羊、三只羊……十只羊……一百只羊……一千只羊……一萬只羊,后面開始跳著數量級數,十萬只羊,一百萬只羊……一億只羊……億后面的是什么數量級來著?
一查閱原來是“兆”,此時公雞打鳴,天亮了。

數羊程序
數羊的過程,就是不斷做加1運算的過程。

運行程序:
1只羊 2只羊 3只羊 …
(1)int count=0:聲明整型變量count,并給它賦初始值0,我們數羊從0開始。
(2)count = count + 1:針對這句代碼,需要細細拆解,這里的兩個count有點不同。
● 首先程序按照順序執(zhí)行int count=0,此時count的值為0。
● 然后程序執(zhí)行count = count + 1,先執(zhí)行右邊count + 1,這個時候count的值為0,那么0+1結果是1。
● 最后程序執(zhí)行count = count + 1的賦值部分count =1,這個時候count的值為1。
敲黑板

(3)將4句賦值運算代碼整體分析一番,注意觀察變量值對應的變化。
count = count + 1
count每次計算+1后,又賦值給了自己,所以count不斷地增加1。

(4)cout << count << "只羊" << endl:可以將要輸出的內容通過<<連接起來,還不用擔心不同的數據類型呢。
計數器
嵌套上while (true) { },通過Sleep(1000)和system("cls")函數實現(xiàn)計數器。每一秒跳一個數字。

劃重點
int i = 0需要放在循環(huán)的外面,否則每次循環(huán)都會將0賦值給i,這樣輸出就全是0了。
自增的變形
i = i + 1還可以寫成i++。自增有兩種寫法:++可以寫在變量i的后面,例如i++;也可以寫在變量i的前面,例如++i。

提出思考
如何探尋i++和++i的區(qū)別呢?
在程序中分別運用這兩種方式,觀察程序的運行結果。

輸出結果:
1 1
輸出的都1,似乎沒有什么區(qū)別呢。無論是i++還是++j,i和j都實現(xiàn)了自增1。
想要探尋其中的不同,需要換種方式。結合之前說到的計算和賦值先后的問題,進行一番設計。

奇怪的事情發(fā)生了,運行結果竟然是:
i:1 n:0 j:1 m:1
i、j、m都加1了,n竟然沒有加1,這是為什么呢?接下來要敲黑板了!
敲黑板
i++和++i的區(qū)別:
i++
i = 0;
n = i++;
運行結果是:
i:1 n:0
說明i進行了自增,但是n并沒有得到i自增后的結果。

++i
j = 0;
m = ++j;
運行結果是:
j:1 m:1
說明j進行了自增,自增后將值賦給了m。

++在變量前,就先自增再賦值:

++在變量后,就先賦值再自增:

三二一倒計時
探索學習i--和--i。采用i++和++i的學習方法,進行對比學習,將+換成-,換湯不換藥。

鞏固練習
(1)n = 10; m = n--; m = --n;最終輸出的m值是多少?( )
A.10
B.9
C.8
D.7
(2)i = 10; n = i++;和j = 11; m = --j;,最終n和m的值相等。( )√( )×
(3)下面的程序一共輸出了4次num,寫出每次輸出時的num值。

①num:__________________________________________________________________
②num:___________________________________________________________________
③num:____________________________________________________________________
④num:___________________________________________________________________
(4)編寫一個循環(huán)程序,數字從0開始,按從小到大的順序,每隔一秒輸出一個偶數。
- 極簡算法史:從數學到機器的故事
- Objective-C應用開發(fā)全程實錄
- PyTorch自動駕駛視覺感知算法實戰(zhàn)
- Rust編程從入門到實戰(zhàn)
- 認識編程:以Python語言講透編程的本質
- Xcode 7 Essentials(Second Edition)
- Java設計模式及實踐
- SQL基礎教程(視頻教學版)
- 重學Java設計模式
- Windows Server 2016 Automation with PowerShell Cookbook(Second Edition)
- Jupyter數據科學實戰(zhàn)
- Python Essentials
- Node.js開發(fā)指南
- Clean Code in C#
- Learning Grunt