一、while语句
1.基本格式
while语句是当型循环控制语句,一般格式为:
while(表达式)
语句;
其中while语句的要求如下:
- while后面的括号不能省略
- while后面的表达式可以是任意类型的表达式,但是一般是条件表达式或逻辑表达式,用于控制循环
- 语句部分称为循环体,当需要执行多条语句时,要加大括号{}
例1:用while语句求和
#include <stdio.h>
int main()
{
int i=1,sum=0;
while(i<=100)
{
sum+=i;
i++;
}
printf("sum=%d\n",sum);
return 0;
}
如图:
每次执行while语句时,会先判定是否符合while后面表达式的条件,因为 i 的初始值为1,故可以执行。先求和,然后让 i 自加,重新判断是否符合,再执行,直到 i 自加到不符合时,由此实现求和。修改while语句后面的表达式,可以控制求和到第几个项。
2.注意事项
(1)while语句是先判断后执行,只有当表达式的值为真(1)才会开始执行,否则结束循环
(2)除了表达式判断为假(0)会结束循环外,使用break,return或goto语句也可以结束while语句循环。
break语句:结束所在的一层while语句循环;
return语句:退出循环,并终止return后面的语句的执行,将该循环所在的函数返回;
goto语句:强制跳转到目的语句继续执行;
(3)通常情况下,程序会利用一个变量奶控制while语句的表达式的值,称为循环控制变量。在执行while语句前,需要对循环控制变量初始化,否则执行结果将不可预知
#include <stdio.h>
int main()
{
int i,sum=0;
while(i<=100)
{
sum+=i;
i++;
}
printf("sum=%d\n",sum);
return 0;
}
拿上面那个程序为例,将赋予 i 的初始值 1 去掉,那么运行结果就不可知了
(4)要在while语句的某处(表达式或循环体内)改变循环控制变量的值,否则就会死循环,让程序一直循环执行,上例中的“i++”就是起到这个改变循环控制变量的值的作用。
(5)while语句允许嵌套:
i=1;
while(i<=9)
{
j=1;
while(j<=9)
{
printf("%d*%d=%d\n",i,j,i*j);
j++
}
i++;
}
二、do-while语句
1.基本格式
do-while是一种直到型循环的语句,它的基本格式如下:
do
语句;
while(表达式);
其中,do-while语句的要求如下:
- while后面的括号()不能省略
- while最后面的分号;不能省略
- while后面的表达式可以是任意类型的表达式,但是一般是条件表达式或逻辑表达式,用于控制循环
- 语句部分称为循环体,当需要执行多条语句时,要加大括号{}
值得注意的是,不同于while是先判断后执行,do-while是会先起码执行一次,再将执行结果与while后面的表达式对照看符不符合条件,若为真(1)则继续循环执行。
#include <stdio.h>
int main()
{
int i,sum=0;
do
{
sum+=i;
i++;
}while(i<=100);
printf("sum=%d\n",sum);
return 0;
}
2.注意事项
(1)类似于while语句,do-while语句也要初始化循环控制变量,改变循环控制变量的值以防止死循环出现,也可以嵌套循环
(2)do-while语句的while表达式后面的分号;不能省略,否则会编译错误
标签:语句,do,while,循环,执行,表达式 From: https://blog.csdn.net/2402_88427700/article/details/143376942