Linux C语言 11-循环控制语句
本节关键字:循环、判断、while、for、do…while、break、continue、goto
相关C库函数:printf
循环的分类
- while循环
- do … while循环
- for循环
循环控制语句
- break 跳出循环,执行循环后边的语句
- continue 结束本次循环,执行下一轮循环
- goto 跳转到标记点并继续执行语句
while循环
格式:while (条件) { 语句; }
// 死循环
while (true) { }
// 计算1到100的和
int num = 1;
int sum = 0;
while (num <= 100)
{
sum += num;
num++;
}
printf("sum=%d\n", sum);
/** 运行结果:
sum=5050
*/
do…while循环
格式:do { 语句; } while (条件);
// 计算1到9的阶乘
int n = 1;
int result = 1;
do
{
printf("%d ", n);
if (n != 9)
printf("*");
result *= n;
n++;
} while (n <= 9);
printf(" = %d\n", result);
/** 运行结果:
1*2*3*4*5*6*7*8*9 = 362880
*/
for循环
格式:for (起始条件; 终止条件; 条件变化) { 语句; }
// 打印99乘法表
int i, j;
for (i=1; i<=9; i++)
{
for (j=1; i<=9; j++)
{
printf("%d*%d=%2d ", i, j, i*j);
if (i == j)
{
printf("\n");
break;
}
}
}
/** 运行结果:
1*1= 1
2*1= 2 2*2= 4
3*1= 3 3*2= 6 3*3= 9
4*1= 4 4*2= 8 4*3=12 4*4=16
5*1= 5 5*2=10 5*3=15 5*4=20 5*5=25
6*1= 6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1= 7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1= 8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1= 9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
*/
while与do…while的区别
简单明了:while先判断条件再执行语句,do…while先执行一遍语句,再判断条件。
int a = 0;
while (a < 0)
{
printf("while\n");
}
do
{
printf("do while\n");
} while (a < 0);
/** 运行结果:
do while
*/
循环控制语句示例
int iCount;
int isFirst = 1;
ONCE:
for (iCount=1; iCount<=5; iCount++)
{
printf("第 %d 次循环开始\n", iCount);
if (iCount == 2)
continue;
if (iCount == 3 && isFirst)
{
isFirst = 0;
goto ONCE;
}
if (iCount == 4)
break;
printf("\t第 %d 次循环结束\n", iCount);
}
/** 运行结果:
第 1 次循环开始
第 1 次循环结束
第 2 次循环开始
第 3 次循环开始
第 1 次循环开始
第 1 次循环结束
第 2 次循环开始
第 3 次循环开始
第 3 次循环结束
第 4 次循环开始
*/