C语言——循环

知识点一:while循环

          1)while(测试条件)

                          循环行为

#include <stdio.h>
int main()
{
int i = 1, sum = 0;
while(i <= 100)
{
sum = i + sum;
i++;
}
printf("%d %d\n", i, sum);
return 0;
}

 解释:int i = 1, sum = 0; 声明变量 i , sum 。并初始化为1和0。

           while语句的测试条件为 i <= 100 ,只要i在1到100的区间内,表达式为真,都能进入循环。

            循环内,计算i + sum,将结果赋值给sum,并且i每次将自增1。

            i 为1时,表达式 1 <= 100 为真,可以进入循环。

            sum 的值为1 + 0。i变为2。

            i 为2时,表达式 2 <= 100 为真,可以进入循环。

            sum 的值为2 + (1 + 0)。i变为3。

            i 为3时,表达式 3 <= 100 为真,可以进入循环。

            sum 的值为3 + (2 + 1 + 0)。i变为4。

            直到i的值为101,表达式 101 <= 100 为假,测试条件不成立,停止循环。

知识点二:C语言中的真与假

           1)在表达式求值过程中: 真将用1表示,假将用0表示;

           2)那么如果我们故意将测试条件结果改为1或0以外的数值呢?

#include <stdio.h>
int main()
{
while(2)
{
printf("Hello");
}
return 0;
}

 #while将2看做了真,并且进行无限次数的循环。

              3)在C语言中:非零即为真;

提示:如果你的程序陷入了死循环,或者你想打断程序的执行,可以按组合键 Ctrl + C 让程序停止运行;

知识点三:正确有限次数循环的3个条件

#include <stdio.h>
int main()
{
int i = 1, sum = 0;
while(i <= 100)
{
sum = i + sum;
i++;
}
printf("%d %d\n", i, sum);
return 0;
}

          1)在上面的求和代码中,我们首先将计数器 i 设置为1;

          2)接着, i 与一个有限值比较为循环条件;

          3)并且,每一次循环计数器将改变;

          4)这3个条件让循环运行特定的次数并在正确时候退出:

                 a)开始时,为计数器设置初始值~~int i=1;

                 b)计数器与一个有限值比较作为循环条件~~i<=100;

                 c)更新计数器~~i++;

           5)若不正确设置计数器初始值,将循环错误的次数。 循环条件设置错误,将无法开始循环或无法结束循环。 不更新计数器将无法结束循环。

知识点四:do while循环

             1)while 循环将在循环进入时,检查循环条件是否满足。若不满足,则一次都不执行;

             2)do while 将先执行一次循环行为,再检查循环条件。至少会执行一次循环条件;

             3)do while的范式:

do
循环行为
while(循环条件); // 注意do while有分号结尾
do{
循环行为1
循环行为2
循环行为3
...
}while(循环条件); // 注意do while有分号结尾

#请注意,do while需要有分号结尾;

知识点五:for循环

          1)for 关键词,提供另一种紧凑的循环写法;

#include <stdio.h>
int main()
{
int i, sum = 0;
for(i = 1; i <= 100; i++)
{
sum = i + sum;
}
printf("%d %d\n", i, sum);
return 0;
}

          2)for 循环的结构如下:for (计数器设置初始值; 循环条件; 计数器更新)

                                                                             循环行为 

          3)和 while 一样, for 也仅对其后一条语句产生效果。如果要循环多条语句,请使用花括号将它们组合成 一条符合语句;

for (计数器设置初始值; 循环条件; 计数器更新)
{
循环行为1
循环行为2
循环行为3
...
}

                a)for 循环中的计数器设置初始值仅在开始时执行一次;

                b)运行完一次所有的循环行为后,将执行一次计数器更新;

                c)循环条件成立将进入循环,否则将结束循环;

           4)若 i 仅作为计数器使用,并在循环结束后,并不关心 i 的值。可以将 i 放在计数器初始化时声明;

#include <stdio.h>
int main()
{
int sum = 0;
for(int i = 1; i <= 100; i++)
{
sum = i + sum;
}
printf("%d\n", sum);
return 0;
}

注意:这样 i 仅仅在循环体内有效,结束循环后, i 将失效。

         5)值得注意的是, for 循环括号内的3个部分,都是可以写在别的地方的;

               a)计数器初始化为空;

#include <stdio.h>
int main()
{
int i = 0; // 在这初始化计数器
for(; i <= 100; i = i + 2)
{
printf("%d ", i);
}
return 0;
}

                b)计数器更新为空;

#include <stdio.h>
int main()
{
for(int i = 0; i <= 100; )
{
printf("%d ", i);
i = i + 2; // 在这更新计数器
}
return 0;
}

                c)循环条件为空,这将导致死循环;

#include <stdio.h>
int main()
{
for(int i = 0; ; i = i + 2)
{
printf("%d ", i);
}
return 0;
}

注意:如果你仅仅想写一个死循环,你可以将3个条件都不写。或者写一个永远为真的表达式。 以下3个均为死循环。但是while循环不能省略循环条件。

for(;;)
循环行为
for(;100;)
循环行为
while(100)
循环行为

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是小手呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值