文章目录
while语句
以打印多行星号为例引入
语句结构
while(表达式)
{语句}
执行流程
判断表达式的真假,当表达式为真,则执行语句部分,不断循环,直到表达式为假时,停止执行,
流程示意图:
注意点
1.while循环的特点是先判断条件表达式,后执行循环体语句
2.“语句”就是循环体。循环体可以是一个简单的语句,可以是一个复合语句(用花括号括起来的若干语句)
3.表达式的值为“真”(以非零值表示)时,就执行循环体语句:为“假”(以0表示)时,就不执行循环体语句,退出循环
程序表示
#include<stdio.h>
int main()
{
int i = 1;
while(i <= 10)
{
printf("**********\n");
i++;
}
return 0;
}
应用举例
计算1.01^365
#include<stdio.h>
int main()
{
int i = 1;
float s = 1.0;
while(i<=365)
{
s=s*1.01
i++;
}
printf("1.01的365次方是:%.2f\n",s);
return 0;
}
do……while语句
语句结构
do
语句
while(表达式);
执行流程
先执行语句,后判断表达式,若结果为真,则一直循环,直到判断结果为假,退出循环
流程示意图:
注意点
do……while语句的特点是,先无条件地执行循环体,然后判断循环条件是否成立
应用举例
用do……while语句求前100个数的和
思路整理
程序显示
#include<stdio.h>
int main()
{
int i = 1,sum = 0;
do
{
sum = sum+i;
i++
}while(i<=100);
printf("sum=%d\n",sum);
return 0;
}
输出结果:sum=5050
while语句与do……while语句的比较
以求某个数字到10的总和为例
代码展示
使用while语句:
#include<stdio.h>
int main()
{
int i,sum = 0;
printf("please enter i,i=");
scanf("%d",&i);
while(i<=10)
{
sum=sum+i;
i++;
}
printf("sum=%d\n",sum);
return 0;
}
使用do……while语句:
#include<stdio.h>
int main()
{
int i,sum = 0;
printf("please enter i,i=");
scanf("%d",&i);
do
{
sum=sum+i;
i++;
}while(i<=10);
printf("sum=%d\n",sum);
return 0;
}
运行分析
若两者拥有相同的循环体语句,当输入的值使while后面的表达式的第一次值为”真“ 时,两种循环得到的结果相同;否则,两者结果不相同(do……while语句会执行一次循环)。 即do……while语句 至少会执行一次 循环语句。
总结
简单总结循环结构中的while语句和do……while语句的知识点并分析区别。