循环语句(6)

while循环

while循环格式

while(expression)
	statement //可以是以分号结尾的简单语句,也可以是花括号括起来的复合语句

语法要点

使用while循环,牢记:只有在测试条件后面的单独语句才是循环部分
示例:

#include<stdio.h>
int main()
{
	int n=0;
	while(n<3)
		printf("n is %d\n",n);
		n++;
	printf("that\'s all this program does\n");
}
  • 循环会无限循环下去,虽然有n++这条语句,但是由于没有花括号括起来,属于循环语句的只有第一条printf语句,n++不属于循环语句,所以没有跳出循环的语句。

for循环

#include<stdio.h>
int mian()
{
	const int NUMBER=22;
	int count;
   
   for(count=1;count<=NUMBER;count++)
   	printf("be my valentine\n");
   
   return 0;
}
  • 关键字for后面有3个表达式,分别用分号隔开
  • 第一个表达式是初始化,只会在for循环开始时执行一次
  • 第二个表达式时测试条件,在执行循环之前对表达式求值,为假时循环结束
  • 第三个表达式执行更新,在每次循环结束时求值
  • for圆括号中的表达式也叫控制表达式,都是完整表达式,每个表达式的副作用(如:递增变量)都在对下一个表达式求值之前
  • for循环执行流程
    在这里插入图片描述

for循环的其他用法

  • 第三个表达式可以使用任意合法的表达式
#include<stdio.h>
int main()
{
	int x;
	int y=55;
	for(x=1;y<75;y=(++x*5)+50)
		printf("%d %10d\n",x,y);
	return 0;
}
  • 可以省略一个或多个表达式,但是不能省略分号,只要在循环中包含能结束循环的语句即可
#include<stdio.h>
int main()
{
	int i,n;
	i=2;
	for(n=3;i<=25;)
		i*=n;
	printf("n=%d,i=%d\n",n,i);
	return 0;
}
  • 第一个表达式不一定是给变量赋值,也可以使用printf()。在执行循环的其他部分之前,只对第一个表达式求值一次或执行一次
#include<stdio.h>
int main()
{
	int n=0;
	for(printf("keep entering numbers\n");n!=6;)
		scanf("%d",&n);
	return 0;
}

do while 出口条件循环

  • while和for循环都是入口循环:在循环的每次迭代之前检查测试条件
  • 出口循环:在循环的每次迭代之后检查测试条件,这保证了至少执行一次循环体中的内容

do while循环格式

do
	stasement //可以是一条简单语句或复合语句
while(experssion);
  • do while循环以分号结尾

示例:

#include<stdio.h>
int main()
{
	const int a=13;
	int b;
   
   do{
   	printf("两个数不想等时退出循环\n"); 
   	printf("请输入一个整数:");
   	scanf("%d",&b);
   }while(b!=a);
   printf("you are cured!\n");
   return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值