在C语言中,可使用for循环执行给定次数的语句块。for
循环的一般模式是:
for(starting_condition; continuation_condition ; action_per_iteration)
loop_statement;
next_statement;
要显示从1
到10
的数字,而不是编写调用printf()
的十个语句,可以这样写:
for(int count = 1 ; count <= 10 ; ++count)
{
printf(" %d", count);
}
循环开始时,第一个控制表达式int count = 1
仅执行一次。它定义了一个变量count
,初始值为1
。
该变量是循环的局部变量。第二个控制表达式必须是逻辑表达式,结果为true
或false
。只要count
不大于10
,表达式count <= 10
将评估为true
。
第二个表达式在每次循环迭代开始时计算。如果表达式的计算结果为true
,则循环继续,如果表达式为false
,则循环结束。
false
是零值,任何非零值都为true
。
只要count
小于或等于10
,就执行printf()
语句。 当计数达到11
时(也就是count
大于10
时),循环将结束。
第三个控制表达式++count
在每次循环迭代结束时执行。
在第一次迭代中,count
将为1
,因此printf()
将输出1
。
在第二次迭代中,count
将增加到2
,因此printf()
将输出值2
。
可以在循环外声明并初始化count
:
int count = 1;
for( ; count <= 10 ; ++count)
{
printf(" %d", count);
}
示例代码:
#include <stdio.h>
int main(void)
{
int count = 1;
for( ; count <= 10 ; ++count)
{
printf(" %d", count);
}
printf("在执行循环后,变量count的值是:%d.\n", count);
return 0;
}
执行上面示例代码,得到以下结果:
hema@ubuntu:~/book$ gcc main.c
hema@ubuntu:~/book$ ./a.out
1 2 3 4 5 6 7 8 9 10在执行循环后,变量count的值是:11.