0%

循环的计算和选择

循环的计算和选择,小总结。

循环次数

  • for (i = 0, i < n ;i++)
  • 则循环的次数是 n, 而循环结束以后,i 的值是 n。循环的控制变量 i ,是选择从 0 开始还是从 1 开始,是判断 i < n 还是判断 i <= n ,对循环的次数,循环结束后变量的值都有影响。

第一种结果:

1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>

int main()
{
int i;

for ( i=0; i<5;i++ ) {
printf("i = %d ", i);
}
printf("\n最后i=%d\n",i);

return 0;
}

运行结果:

i = 0; i = 1; i = 2; i = 3; i = 4

最后 i = 5

循环 5 次,但是从 0 开始


第二种结果:

1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>

int main()
{
int i;

for ( i=1; i<5;i++ ) {
printf("i = %d ", i);
}
printf("\n最后i=%d\n",i);

return 0;
}

运行结果:

i = 1; i = 2; i = 3; i = 4; i = 5

最后 i = 6

循环 5 次,是从 1 开始


for == while

其实 for while 是等价的

如下列式子:

image-20200927234959440

都是先做一个初始化,然后进行判断,再进入循环,在做第三个表达式 i++ 然后回来重新判断是否满足。什么时候条件不满足,就离开循环。

所以任意一个for 循环都会被改为 while 循环

比如把 for 中的初始化表达式 放在前面

把条件判断放到 while 条件判断里

把每一步要做的动作,放到循环体内


for循环

for (初始动作;条件;每轮的动作){

  • for 中的每一个表达式都是可以省略的 for (;条件;)== while ( 条件 )

三种循环:

image-20200927235937954

当选择问题时候,选择哪个循环

Tips for loops

  • 如果有固定次数,例如阶乘:用 for
  • 如果必须执行一次,用 do_while
  • 其他情况用 while