首页 理论教育 C++中学版:掌握while循环

C++中学版:掌握while循环

时间:2023-08-13 理论教育 版权反馈
【摘要】:表5-1while循环语句执行过程2.正常运行三要素通过以上分析可以得知,循环能正常运行要具有如下三要素:为循环变量赋初值(初值)。例5-1请用while循环顺序输出整数1~10,两个数之间相隔一个水平制表符,即相当于按了一次Tab键。将分析与while循环要素相对应,可以确定将交易额作为循环变量,初值为800,判断条件为<2000,更新为递增25%,从而得出循环变量的初值、判断和更新。输入不能超过10个,故循环条件就是输入次数小于等于10。

C++中学版:掌握while循环

1.语句格式、流程图及执行过程

说明:

(1)表达式表示循环条件,用于判断循环是否执行,若表达式的结果为真(即非0),则执行循环语句,反之为假(即0),则不执行循环语句,退出循环。若循环条件一直为真,则形成死循环,一直执行下去。

(2)语句格式中的“语句”是此循环结构的循环体,它可以是一条语句,也可以是由多条语句组成的复合语句,语句后面的分号“;”不可省略,当循环体是一条语句时可以省略“{}”,但有多条语句时必须要用“{}”括起来,构成一个语句块的形式。其执行过程如表5-1所列。

表5-1 while循环语句执行过程

2.正常运行三要素

通过以上分析可以得知,循环能正常运行要具有如下三要素:

(1)为循环变量赋初值(初值)。

(2)设置循环条件,用于判断循环是否执行(判断)。

(3)改变循环变量(更新)。

3.常用的形式

1)常用形式1

执行过程:

首先将i赋值为1,然后计算表达式i<3的值,1小于3成立,结果为真,执行循环体,因为循环体由两条语句组成,按顺序执行,先输出i的值1并换行,再执行i++语句,此时i的值为2,第一次循环结束;再返回去判断表达式是否成立,i<3仍然成立,结果仍为真,继续去输出i的值2并换行,接着执行i++语句,此时i的值为3,第二次循环结束;继续判断表达式i<3成立与否,因为此时i的值为3,条件i<3不成立,结果为假,所以不执行循环体,直接跳出循环,执行后面的语句,整个循环结束。

2)常用的形式2

语句分析:

循环变量x接收从键盘输入的数值,然后进行循环条件的判断,若输入的数值小于0,则执行循环体,该段语句的功能就是当输入的数据小于0时,重复读入数据。

执行过程:

首先从键盘读取一个数值,比如5,并赋给变量x,计算表达式x<0的值,5<0不成立,结果为假,则直接跳出循环;若第一次输入的数值是-5,计算条件x<0的值,结果为真,则执行循环体,继续从键盘输入值并赋给x,直到x<0不成立时,才能跳出循环,否则继续输入下一个数值给x,所以此代码功能为输入数据小于0时,重复读入数据。

例5-1 请用while循环顺序输出整数1~10,两个数之间相隔一个水平制表符,即相当于按了一次Tab键。

思路分析:

(1)顺序输出10个数,每次输出一个,这是一个重复输出的过程,所以用循环实现。

(2)确定循环三要素即初值、判断、更新;要输出1~10这10个连续整数,可以把输出数字n作为循环变量;从1开始输出,循环变量n赋初值为1;到10结束,所以在小于等于10的条件下输出,即判断条件为n<=10;输出的每个数字都是在前一个数的基础上加1得到,所以变量n的更新用n++实现。重复执行的操作为输出数字即循环体,语句为cout<<n;。(www.xing528.com)

(3)两数之间相隔一个水平制表符,输出时用“\t”实现。

程序清单:

输出结果为:1 2 3 4 5 6 7 8 9 10

例5-2 某商场在2017年的双十一活动中,交易额为800万,若每年递增25%,按此速度增长,哪一年能实现交易额达到2000万?

思路分析:

(1)据题意可知,每年都递增25%是一个重复执行的过程,用循环实现。重复执行到什么时候呢?当交易额达到2000万时就不用再重复了,即循环结束,每重复一次相当于增加了一年,从什么样的基础上递增呢?从2017年交易额为800万的基础上开始递增。

(2)将分析与while循环要素相对应,可以确定将交易额作为循环变量,初值为800,判断条件为<2000,更新为递增25%,从而得出循环变量的初值、判断和更新。

程序清单:

输出结果为:到2022年能实现交易额到2000万!

例5-3 求正整数x、y的最大公约数。

思路分析:

(1)两个数的最大公约数是指能同时整除它们的最大正整数。求两个整数的最大公约数最常用的方法就是辗转相除法,也叫欧几里得算法。

(2)具体做法是:用较小数除较大数,再用出现的余数(第一余数)去除除数,再用出现的余数(第二余数)去除第一余数,如此反复,直到最后余数是0为止。那么最后的除数就是这两个数的最大公约数。

程序清单:

例5-4 求从键盘输入的正数之和,遇到负数时终止输入并输出所求之和,输入的数不能超过10个。

思路分析:

(1)若输入是正数就累加求和,若是负数则终止输入,输入是个重复执行的操作,为循环体。输入不能超过10个,故循环条件就是输入次数小于等于10。输入次数为循环变量,初值赋为1,每多输入一次,i值就加1,即循环体中的i++。

(2)遇到负数时就要退出,所以还需要加if语句判断并结束循环,这里结束循环的方法使用了break语句。其作用是跳出某个循环,执行循环后面的语句,break是关键字,只能用在循环语句或switch语句中,不能单独使用,语法格式为:break;。

程序清单:

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈