循环结构(一)

while语句

以打印多行星号为例引入

语句结构

while(表达式)
{语句}

执行流程

判断表达式的真假,当表达式为真,则执行语句部分,不断循环,直到表达式为假时,停止执行,

流程示意图:

True
False
开始
表达式
语句
结束

注意点

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(表达式);

执行流程

先执行语句,后判断表达式,若结果为真,则一直循环,直到判断结果为假,退出循环

流程示意图:

True
False
语句
表达式
结束

注意点

do……while语句的特点是,先无条件地执行循环体,然后判断循环条件是否成立

应用举例

用do……while语句求前100个数的和

思路整理

True
False
sum=0 i=1
sum=sum+i i=i+1
i<=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语句的知识点并分析区别。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值