购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

第6课
睡不着就数羊
(计数)

睡不着的时候总喜欢数羊,一只羊、两只羊、三只羊……十只羊……一百只羊……一千只羊……一万只羊,后面开始跳着数量级数,十万只羊,一百万只羊……一亿只羊……亿后面的是什么数量级来着?

一查阅原来是“兆”,此时公鸡打鸣,天亮了。

数羊程序

数羊的过程,就是不断做加1运算的过程。

运行程序:

     1只羊
     2只羊
     3只羊
     

(1) int count=0 :声明整型变量 count ,并给它赋初始值 0 ,我们数羊从0开始。

(2) count = count + 1 :针对这句代码,需要细细拆解,这里的两个 count 有点不同。

● 首先程序按照顺序执行 int count=0 ,此时 count 的值为0。

● 然后程序执行 count = count + 1 ,先执行右边 count + 1 ,这个时候 count 的值为0,那么 0+1 结果是 1

● 最后程序执行 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") 函数实现计数器。每一秒跳一个数字。

划重点

int i = 0 需要放在循环的外面,否则每次循环都会将0赋值给 i ,这样输出就全是0了。

自增的变形

i = i + 1 还可以写成 i++ 。自增有两种写法: ++ 可以写在变量i的后面,例如 i++ ;也可以写在变量i的前面,例如 ++i

提出思考

如何探寻 i++ ++i 的区别呢?

在程序中分别运用这两种方式,观察程序的运行结果。

输出结果:

     1
     1

输出的都1,似乎没有什么区别呢。 无论是i++还是++j,i和j都实现了自增1。

想要探寻其中的不同,需要换种方式。结合之前说到的计算和赋值先后的问题,进行一番设计。

奇怪的事情发生了,运行结果竟然是:

     i:1
     n:0
     j:1
     m:1

i、j、m都加1了,n竟然没有加1,这是为什么呢?接下来要敲黑板了!

敲黑板

i++和++i的区别:

     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)编写一个循环程序,数字从0开始,按从小到大的顺序,每隔一秒输出一个偶数。 Lwr0C0GBFF03tVVA1dOS+I6vB+JDDL7DRPkvLAxc5MRUDOXV6e50+2ZUYcW+SioM

点击中间区域
呼出菜单
上一章
目录
下一章
×