while循环与do-while循环
while语句形式 do-while语句形式
while(条件) do
{ {
循环体; 循环体;
} }whlie(条件);
注:两个语句中的循环体都可以是空语句和复合语句。
相同点与不同点
相同点:执行条件成立时,执行循环体内内容,执行条件不成立,则跳出循环。
不同点:while语句先判断后执行循环体,do-while语句先执行循环体后判断
while语句的循环体至少执行0次,do-while语句的循环体至少执行1次
while语句条件后没有分号,do-while语句条件后面必须加分号
例题:
#include<stdio.h>
void main()
{
int x,y;
x = 100;
y = 200;
while(++x<y);
printf("%d",x);
}
在这道题目中考查while循环的用法,首先判断while语句的循环体,发现后面直接跟着分号,所以这个while语句的循环体是一个空语句。接着考虑while语句是先判断条件后执行循环体,将x带入条件中,条件成立执行循环体,循环体为空语句无任何执行,则继续判断条件,知道条件不成立,跳出循环,程序结束。
2.
#include<stdio.h>
void main()
{
int i = 200,sum = 0;
do
{
sum +=i;
}while(i<100);
printf("%d\n",sum);
}
本题考查do-while语句的使用,首先判断循环体,为do后面花括号的范围。do-while语句是先循环后判断条件,所以先执行一次循环,此时sum=sum+i,得出sum=200。接着判断条件是否成立,发现i并不小于100,条件不成立直接跳出循环,输出sum。
for循环语句
for语句的形式
for(表达式1;表达式2;表达式3)
{
循环体;
}
3个表达式的主要作用
①表达式1:设置初始条件,只执行一次,设置;零个一个或多个变量
②表达式2:循环条件,判断是否继续循环和是否执行循环体,执行循环体前先执行此表达式
③表达式3:循环调整,例如循环变量的自增,执行完循环体后执行
3个表达式的省略
①表达式1:若变量提前定义或不设初值,则可以省略 但表达式后面的分号不可省略
②表达式2:不设置循环的条件,即认为表达式2始终为真 for(i=1;;i++)sum=sum+i; 此时为死循环
③表达式3:可以省略但需另外设置保证循环正常结束
for循环的嵌套
循环体中包含另一个for循环 里面的循环都执行结束后跳出,继续外面的循环
例题
#include<stdio.h>
void main()
{
int a = 0,b = 0,i,j;
for(i = 0;i < 4;i++)
b++;
for(j = 0;j < 5;j++)
a++;
printf("%d,%d",a,b);
}
首先判断for的循环体和是否嵌套,发现两个for循环为并列,分别进行
列题2
#include<stdio.h>
void main()
{
int a = 0,b = 0,i,j;
for(i = 0;i < 4;i++)
{
b++;
for(j = 0;j < 5;j++)
a++;
}
printf("%d,%d",a,b);
}
首先判断循环体和是否嵌套,外层for循环的循环体为花括号内,内层为for语句紧跟的一句。由外到内执行。