循环语句
1、循环语句
…某些代码被重复执行。
分类:
for while do…while
2、for循环语句
格式:
for(i=1;i<=4;++i)
{
语句1:
}
先执行for里面的 i=1 语句,然后去判断是否 i<=4,是就执行语句1,然后在执行++i,标志这第一次循环结束。循环的次数:4-1+1。
若for(i=1;i<4;++i)
循环的次数:3-1+1。
【注】循环中更新的变量不能定义成浮点型。
2.1:循环最简单的应用
/*1到10所有的奇数和*/
#include <stdio.h>
int main(void)
{
int i;
int j = 0;
int sum = 0;
for(i=1 ;i<=10 ;i+=2)
{
sum = sum + i;
j++;
}
printf("1到10所有的奇数和为:%d\n",sum);
printf("循环次数为:%d\n",j);
printf("i最后的值为:%d\n",i);
return 0;
}
1到10所有的奇数和为:25
循环次数为:5
i最后的值为:11
2.2:for和if的嵌套使用
/*1到100能被3整除的数的和*/
#include <stdio.h>
int main(void)
{
int i;
int sum = 0;
for(i=1 ;i<=100 ;++i)
{
if(i%3 == 0)
sum = sum +i;
}
printf("1到100能被3整除的数的和为:%d\n",sum);
return 0;
}
1到100能被3整除的数的和为:1683
2.3:强制类型转换
格式:
(数据类型)(表达式);
功能:
把表达式的值强制转换为前面所执行的数据类型
eg: (int)(4.5+2.3) 最终值是6
(float)5/2 最终值是2.500000
2.4:多层for循环的嵌套使用(难)
格式:
for(1 : 2 : 3)
for(4 ; 5 ; 6)
{
语句1;
}
先执行1,然后执行2,然后执行4,执行5,执行语句1,在执行6。
当第二for循环执行结束后在执行第一个for循环的3。
所以最终的循环次数 = 第一个for循环次数 * 第二个循环次数。
#include <stdio.h>
int main(void)
{
int i,j;
for(i=0 ;i<=2 ;++i)
printf("AAAA\n");
for(j=0 ;j<=3 ;++j)
printf("BBBB\n");
return 0;
}
AAAA
AAAA
AAAA
BBBB
BBBB
BBBB
BBBB
由此可见,一个for的控制范围为之后的一个语句。要想控制多个语句就添加{}即可。
#include <stdio.h>
int main(void)
{
int i,j;
for(i=0 ;i<=2 ;++i)
{ printf("AAAA\n");
for(j=0 ;j<=3 ;++j)
printf("BBBB\n");
}
return 0;
}
AAAA
BBBB
BBBB
BBBB
BBBB
AAAA
BBBB
BBBB
BBBB
BBBB
AAAA
BBBB
BBBB
BBBB
BBBB
3、while循环语句
3.1:while循环的简单应用
格式:
while(判断表达式)
语句:
/*1到10的和*/
#include <stdio.h>
int main(void)
{
int i = 1;
int sum = 0;
while(i<=10)
{
sum = sum + i;
i++;
}
printf("1到10的和为:%d\n",sum);
return 0;
}
1到10的和为:55
3.2:for和while的相互转换
for(A ; B; C)
{
语句1;
}
等价于:
A
while(B)
{
语句1;
C;
}
4、do…while…语句
4.1:简单应用
格式: do
{
语句;
}
while(判断表达式);
和while,for的区别:先执行一次语句才进行判断,而for和while 可能语句一次都不执行。
4、break的用法
作用:
break如果用于循环是用来终止循环。
break如果用于switch,则是用于终止switch。
break不能直接用于if,除非if属于循环内部的一个子句。
①break终止if会出错:
②break终止if属于循环内部的一个子句:
③break如果用于循环是用来终止循环;break只能终止距离他最近的循环。
5、continue的用法
…用于跳过本次循环余下的语句,转去判断是否需要执行下次循环。