第一节 while语句
1、while语句的形式
while(表达式) 表达式可以是任意合法的表达式
{
循环语句
}
注:表达式为真,执行循环体语句,为假则跳出while循环。
圆括号内的表达式不能缺省。循环体部分可以由一个空语句构成,表示循环部分不做任何操作。
2.while语句的执行过程
0
非0
例1:求1+2+3++++100之和的程序
#include "stdio.h"
main()
{
int i,sum;
i=1;
sum=0;
while(i<=100)
{
sum=sum+i;
i++;while语句都可以用for改写
}
printf("sum=%d",sum);
}
例2: 求5的阶乘的程序
#include "stdio.h"
main()
{
int i,sum=1;
i=1;
while(i<=5)
{
sum=sum*i;
i++;
}
printf("%d",sum);
}
例3:
#include "stdio.h"
main()
{
int y=10;
while(y--);
printf("y=%d\n",y);
}
输出结果为y=-1.
例4:
#include "stdio.h"
main()
{
int k=5;
while(--k)
printf("%d",k-=3);
printf("\n");
}
输出结果为1.
第2节 do-while语句
1、一般形式
do
{
循环语句
}
while(表达式);
2、执行过程
真
假
3、while语句与do-while语句的区别:
while循环首先判断表达式的值,为真才执行循环体。
do-while循环体首先执行一次循环,再判断表达式的值,为真则继续执行循环体,否则跳出,即至少执行一次循环。
例1:求1+2+3++++100之和的程序
#include "stdio.h"
main()
{
int i,sum;
i=1;
sum=0;
do
{
sum=sum+i;
i++;
}
while(i<=100);
printf("sum=%d",sum);
}
例2:
#include "stdio.h"
main()
{
int i,n=0;
i=0;
do
{
i++;
++i;
}
while(n!=0);
printf("%d",i);
}
输出结果为2.
例3:
#include "stdio.h"
main()
{
int i=0;
do
printf("%d",i);
while(i++);
printf("%d\n",i);
}
输出结果为0 1.
例4:
#include "stdio.h"
main()
{
int k=5,n=0;
do
{
switch(k)
{
case 1:
case 3:n+=1;
break;
default:n=0;
k--;
case 2:
case 4:n+=2;
k--;
break;
}
printf("%d",n);
}
while(k>0&&n<5);
}
输出结果为 2345 。
第3节 for语句
1、一般形式
for(表达式1;表达式2;表达式3)
{
循环体语句
}
注:一般情况下,表达式1是赋初值,2是控制循环,3是赋值。
3个表达式在语法上都可以缺省,但要保留分号。
循环体语句可以是一个空语句,表示不作任何操作。
2、执行过程
0
非0
3、for循环的一般形式可以改写成等价的while循环
表达式1;
while(表达式2)
{
循环体语句
表达式3;
}
3.表达式1可以移到for语句之前,表达式1缺省,但保留分号。
4.表达式2可缺省,此时相当于表达式2的值永远为真,循环无限执行,一般形成死循环。
5.表达式3可以移到for循环体的尾部,成为循环体的一部分,表达式3缺省。
6.三个表达式可以同时缺省其中的两个或全部。
7.表达式1和3可以出现各种与循环无关的表达式,但会降低程序的可读性。
8.循环体可以是一个空语句。
例1:求1+2+3++++100之和的程序
#include "stdio.h"
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论