1.while语句
while语句的形式如下
while(表达式)//表达式为真(非零),则执行循环
语句//执行的语句
while
语句是先判断表达式真假,若为真(非零数字)则执行语句,然后再次返回表达式判断真假,一直循环,直到判断表达式为假,跳出循环。
例如:
#include<stdio.h>
int main()
{
int i = 0;
while (i <5)//判段i是否大于5
{
printf("%d", i);//打印i
i++;//i+1,返回表达式判断
}
return 0;
}
这个程序的结果打印0 1 2 3 4 5
,一共经历四次循环最后跳出。
2.do while语句
do while
语句与while
语句非常相似,只不过while
是先判断表达式真假再执行语句,而do while
是先执行语句再判断真假。
例如
#include<stdio.h>
int main()
{
int i = 0;
do
{
printf("%d", i);//打印i
i++; //i=1
}while (i <5);//若i<5,返回i++
return 0;
}
而这个的程序最后的结果是0 1 2 3 4
,这个程序与上面while的例子相似,但是执行的步骤不一样,所以结果也有一些差异。
3.for语句
for语句循环的形式如下:
for(表达式1;表达式2;表达式3;)
语句
表达式1:循环变量的初始化
表达式2:判断循环是否成立
表达式3:调整循环变量
这里面可以举一个例子来说明;
#include <stdio.h>
int i = 0;
for (i = 0; i < 5; i++)
{
printf("%d", i);//打印的结果0 1 2 3 4
}
return 0;
这里执行的顺序是
- 先执行表达式1,表达式2。
- 然后执行语句,再执行表达式3。
- 循环往复直到跳出循环。
在for中三个表达式都可以省略,但是可能会造成一些错误,所以最好别省略。
4.break和continue的使用
break的作用是终止循环
#include <stdio.h>
int i = 0;
for (i = 0; i < 5; i++)
{
if(i==3)
break;
printf("%d", i);//打印的结果0 1 2
}
return 0;
这里在i=3
的时候直接终止循环,得到的结果是0 1 2
continue
的作用是忽略之后的语句,再次进入表达式判断,我们可以在continue
前面加上if语句加以判断。
#include <stdio.h>
int i = 0;
for (i = 0; i < 5; i++)
{
if(i==3)
continue;
printf("%d", i);//打印的结果0 1 2 4
}
return 0;
当i=3
时,跳过打印,得到的结果时0 1 2 4
。
**需要注意的是
- 在while中有时调整变量在continue后面可能会导致无限循环。**
- 在执行
continue
语句的时候:
如果时while
和do while
语句会返回判断表达式
如果是for
语句会返回调整表达式
5.goto语句
我们可以在任意处设置标号,使用goto+标号名称
可以跳到程序的任意位置。
#include <stdio.h>
int i = 0;
int j = 0;
for (i = 0; i < 5; i++)
{
for(j=0;j<3;i++)
{
goto sign://跳到标记处
printf("%d", j)
}
sign://设置标记
printf("%d", i);//打印的结果0 1 2 3 4
}
return 0;
在这个程序中因为跳过变量j
的打印,所以只执行i的打印。
最后的结果是0 1 2 3 4
。