1 循环语句分析
C语言中的循环语句主要有for循环,while循环和do…while循环。
循环语句的基本工作方式:
- 通过条件表达式判断是否执行循环体
- 条件表达式遵循if 语句的表达式原则
do,while,for的区别
- do 语句先执行,后判断,至少执行一次循环体
- while语句先判断,后执行,可能不执行循环体
- for语句,先判断后执行,想比较while更简洁
1.1 do…while循环
do…while循环的方式:
1.2 while循环
while循环的方式:
1.3 for循环
for循环方式:
1.4 三种循环语句使用对比
- 代码7-1.c
#include <stdio.h>
int f1(int n)
{
int ret = 0;
if( n > 0 )
{
do
{
ret += n;
n--;
}
while( n > 0 );
}
return ret;
}
int f2(int n)
{
int ret = 0;
while( n > 0 )
{
ret += n;
n--;
}
return ret;
}
int f3(int n)
{
int ret = 0;
int i = 0;
for(i=1; i<=n; i++)
{
ret += i;
}
return ret;
}
int main()
{
printf("%d\n", f1(100));
printf("%d\n", f2(100));
printf("%d\n", f3(100));
return 0;
}
- 运行结果为:
5050
5050
5050
2 break和continue的区别
- break表示终止循环的执行
- continue表示终止本次循环,进入到下一次循环执行
思考:switch语句是否可以使用continue语句?
- 代码7-2.c
#include <stdio.h>
void f1(int n)
{
int i = 0;
for(i=1; i<=n; i++)
{
if( (i % 2) == 0 )
{
break;
}
printf("%d ", i);
}
printf("\n");
}
void f2(int n)
{
int i = 0;
for(i=1; i<=n; i++)
{
if( (i % 2) == 0 )
{
continue;
}
printf("%d ", i);
}
printf("\n");
}
int main()
{
f1(10);
f2(10);
return 0;
}
编译运行结果为:
1
1 3 5 7 9
3 总结
- for循环先进行判断再进入循环体
- for循环适合循环次数固定的场合
- while循环先进行判断再进入循环体
- while循环适合循环次数不固定的场合
- do…while循环先执行循环体再进入循环体
- do…while循环至少执行循环体一次