分支循环语句
for循环
for语句是循环中使用最为广泛的一种循环,
for语句的基本格式为
for(表达式1;表达式2;表达式3)
其中的表达1用于循环变量的初始化
表达式2用于循环结束条件的判断
表达式3用于循环标量的调整
for语句的实现
#include <stdio.h>
int main()
{
int i = 0;
for(i=1; i<=10; i++)
{
printf("%d ", i);
}
return 0;
}
for与while的对比
for语句和while在实现循环的过程中都有初始化,判断,调整这3个部分,但是for语句更为集中,便于维护代码。
练习
打印1~100之间3的倍数的数字之和
#include <stdio.h>
int main()
{
int i = 0;
int sum = 0;
for(i=1; i<=100; i++)
{
if(i % 3 == 0)
sum += i;
}
printf("%d\n", sum);
return 0;
}
do while循环
语法形式
在循环语句中都while使用的最少,他的语法如下:
do
语句
while(表达式);
值得一提的是while和for都是先判断条件是否满足,条件满足进入循环,不满足就出循环
但是do while为先进循环,之后再判断。
do while实例
#include <stdio.h>
int main()
{
int i = 1;
do
{
printf("%d ", i);
i = i + 1;
}while(i<=10);
return 0;
}
练习
判断一个正整数为几位数
#include <stdio.h>
int main()
{
int n = 0;
scanf("%d", &n);
int cnt = 0;
do
{
cnt++;
n = n / 10;
} while (n);
printf("%d\n", cnt);
return 0;
}
break和continue语句
break
break的作用为永久的终止循环,只要break被执行,
break外的第一层循环就终止了。
continue
continue是继续的意思,在循环中的作用就是跳出本次循环continue后的代码,继续下一次的判断
循环的嵌套
前⾯学习了三种循环 while , do while , for ,这三种循环往往会嵌套在⼀起才能更好的解决
问题,就是我们所说的:循环嵌套,这⾥我们就看⼀个例⼦。
练习
找出100~200之间的素数,并打印在屏幕上。
注:素数⼜称质数,只能被1和本⾝整除的数字。
#include <stdio.h>
int main()
{
int i = 0;
//循环产⽣100~200的数字
for(i=100; i<=200; i++)
{
//判断i是否为素数
//循环产⽣2~i-1之间的数字
int j = 0;
int flag = 1;//假设i是素数
for(j=2; j<i; j++)
{
if(i % j == 0)
{
flag = 0;
break;
}
if(flag == 1)
printf("%d ", i);
}
return 0;
}
goto语句
C语⾔提供了⼀种⾮常特别的语法,就是 goto 语句和跳转标号, goto 语句可以实现在同⼀个函数
内跳转到设置好的标号处。
goto 语句如果使⽤的不当,就会导致在函数内部随意乱跳转,打乱程序的执⾏流程,所以我们的建
议是能不⽤尽量不去使⽤;但是 goto 语句也不是⼀⽆是处,在多层循环的代码中,如果想快速跳出
使⽤ goto 就⾮常的⽅便了。