昨天我们大概学习了循环语句,今天学习他们的区别和联系。
首先,看看while语句、do-while语句和for语句的相同之处:
1.均为循环语句;
2.条件表达式一般同为关系表达式或逻辑表达式;
3.循环体通常为复合语句;
4.循环为有限次循环。
其次,while语句与do-while语句的不同之处在于:
while是先判断后执行。如果条件不满足,则一次循环体也不执行!它被称为“当”型循环语句(俗称:死等)
do-while是先执行后判断。因此do-while至少要执行一次循环体!它被称为“直到”型循环语句。(俗称:死磕)
最后,看看三个循环语句的使用时机:
1.若在进入循环前能确定循环的开始值与结束值,即循环次数明确,则使用for语句;
2.若在进入循环前不能确定循环次数并且不知道当前条件是否满足循环体要求,使用while语句;
3.若在进入循环前不能确定循环次数但能确定当前所有满足循环体要求,使用do-while语句。
下面,我们来看看这三个循环语句的互换。
我们先用for语句来编写计算n的阶乘的程序,阶乘公式:n!=1*2*3*4...*(n-1)n
我们先梳理一下思路:
1.定义两个整型变量i和n分别用于表示循环控制变量及所求阶乘你。
2.定义实型变量mul用于存放阶乘值且初始值必须为1。
3.输出提示信息,提示用户输入n的值。
4.调用scanf函数读入n的值。
5.使用for语句进行阶乘从1开始的累乘运算,每次执行完累乘将循环控制变量自增1,然后判断循环控制变量i与n的关系,若小于等于则继续,否则就执行下一步。
6.输出n的阶乘,不带小数。
下面是用for语句编写的程序:
将for语句改写为while语句的程序:
注意的一点是:while语句可以替换for语句或do-while语句,但for语句不一定可以替换为do-while语句。
今天,就这样吧!
领取专属 10元无门槛券
私享最新 技术干货