c语言中可以用4种方式构造循环结构:
1、用goto语句和if语句构成循环;
2、用while语句构成循环;
3、用do~while语句构成循环;
4、用for语句构成循环。
for语句格式:
for(表达式1;表达式2;表达式)
循环体
例如:
#include <stdio.h>
int main()
{
int i;
int sum = 0;
for(i = 1; i <= 100; i++)
sum+ = i;
printf("1+2+······+100 = %d\n", sum);
return 0;
}
while 语句用于实现”当型“循环结构:
while(条件表达式)
循环体
例如:
#include <stdio.h>
int main()
{
int i = 1;
int s = 0;
while(s <= 1000)
{
s = s + i;
i++;
}
printf("s = %d\n", s);
return 0;
}
do while 语句用于实现”直到型“循环结构,其特点:先执行循环体,后判断条件。
do
{
循环体
}while(表达式);
例如:
#include <stdio.h>
int main()
{
int n;
int s = 0;
int i = 1;
scanf("%d", n);
do
{
s = s + i;
i++;
}while(i <= n);
printf("s = %d\n", s);
return 0;
}
用if 和goto 语句构成循环,特点:goto 语句程序的可读性差、无规律,不符合结构化程序设计原则,因而只有在万不得已时才使用。
goto 语句为无条件转向语句:
goto 语句标号;
例如:
#include <stdio.h>
int main()
{
int i = 1;
int sum = 0;
loop: if(i <= 100)
{
sum = sum + i;
i++;
goto loop;
}
printf("sum = %d\n", sum);
return 0;
}
如果循环次数已知,技术控制的循环用for;如果循环次数未知,条件控制的循环用while;如果循环体至少要执行一次用do while。
break 语句的功能是:终止循环执行,也就是无论循环条件成立与否,只要在循环体执行break语句,立即终止循环执行,执行循环体以后的语句。
continue 语句的功能是:终止本次循环执行,继续判断循环条件。
嵌套循环
例如:九九乘法表
#include <stdio.h>
int main()
{
int j;
int i = 1;
while(i <= 9)
{
j = 1;
while(j <= i)
{
printf("%d*%d=%d", j, i, i*j);
j++;
}
printf("\n");
i++;
}
return 0;
}