分支与循环(for与do-while)

简介: 分支与循环(for与do-while)

一:循环语句(for语句)


我们先从语句的基本语法讲起,


基本语法:       for(表达式1; 表达式2; 表达式3

                               循环语句;


表达式 1

表达式 1叫做 初始化部分 ,该部分用于初始化循环变量的。

表达式 2

表达式 2叫做 条件判断部分 ,该部分用于判断循环时候终止。

表达式 3

表达式 3叫做 调整部分 ,该部分用于循环条件的调整。我们在写for语句以及其他循环语句时必须要注意调整部分,不然非常容易造成死循环。

举例介绍for循环

题目: 使用for循环 在屏幕上打印1-10的数字。


#include <stdio.h>
int main()
{
 int i = 0;
 for(i=1; i<=10; i++)
//i=1:初始化; i<=10:判断部分; i++:调整部分
 {
 printf("%d ", i);
 }
 return 0; 
}


对for循环的文解:                                                                                                                         1:当编译器执行到了for循环后,先对初始化部分进行赋值                                                               2:执行判断条件,若判断结果为假,则不进行循环,直接跳出循环:若为真,则执行循环语句   3:在循环语句结束后执行调整部分                                                                                                   4:如果遇见break语句,则跳出循环,整个循环结束                                                                         5:如果遇见continue语句,后面的循环语句不执行,直接跳出本次循环,执行后面循环的语句


for循环与while循环对比:


同样是打印1-10的数字          

int i = 0;
//实现相同的功能,使用while
i=1;//初始化部分
while(i<=10)//判断部分
{
 printf("hehe\n");
 i = i+1;//调整部分
}
//实现相同的功能,使用while
for(i=1; i<=10; i++) {
 printf("hehe\n");
}

while循环也存在这样三个部分,但是代码可能会很长导致三个部分距离很远,以至于代码不方便查找和修改;而对for循环而言较为略胜一筹,且for循环使用频率较高一些。


for语句的循环控制变量:


要求:


1. 不可在for 循环体内修改循环变量,防止 for 循环失去控制。

2. 建议for语句的循环控制变量的取值采用“前闭后开区间”写法。

什么叫做前开后闭?

for(int i=0;i<10;i++)
{
      ......
}
for(int i=0;i<=10;i++)
{
      ......
}

上述i=0;i<10就是前闭后开,而i=0;i<=10是两边都关闭

关于for循环的变种:

(1)

#include <stdio.h>
int main()
{
 for(;;)
 {
 printf("hehe\n");
 }
    //for循环中的初始化部分,判断部分,调整部分是可以省略的,但是不建议初学时省略,容易导致问
}

如果我们把该循环语句写成这样,循环则为死循环。因为判断条件为空,默认为true。

(2)

for循环支持嵌套使用,在for循环中可以在写for循环,支持无限套娃。


 for(i=0; i<10; i++)
   {
        for(j=0; j<10; j++)
       {
 printf("hehe\n");
       }
   }


结果会打印 i * j 个hehe

(3)

省略掉初始化部分,例如上一段代码

int i=0;
int j=0; 
for(; i<10; i++)
   {
        for(; j<10; j++)
       {
 printf("hehe\n");
       }
   }

那么结果会如何呢?


答案是只打印了10个hehe,因为既然省略了初始化,那么当j=10的时候,里面的for循环将不再继续执行了,两个for循环都已外部初始化的i、j为准。


二:do-while循环


基本语法:

                       do

                       循环语句;

                       while(表达式);


do表示执行的意思,do语句的特点就是至少执行循环一次。但是 使用的场景有限,所以不是经常使用。

同样do-while语句至少执行循环语句一次。

对do-while循环的文解:                                                                                                                     1:当编译器执行到了do-while循环后,直接执行循环语句                                                             2:执行完循环语句后,执行判断条件,若判断结果为假,则不进行循环,直接跳出循环:若为真,则执行循环语句                                                                                                                            3:如果遇见break语句,则跳出循环,整个循环结束                                                                         4:如果遇见continue语句,后面的循环语句不执行,直接跳出本次循环,执行后面循环的语句

do-while与while的比较:

do-while循环会至少执行一次循环,而while可能会照成一次循环都不执行,直接跳出循环。

三种循环的使用频率:

一般的我们最常见的是用for循环,其次是while循环,最后才是do-while循环。

使用频率为: for>while>do-while


相关文章
|
4月前
|
C语言
关于分支与循环的一些细节
关于分支与循环的一些细节
|
4月前
|
C语言
分支与循环讲解
分支与循环讲解
|
4月前
|
编译器 C语言
语句、分支与循环详解
语句、分支与循环详解
|
6月前
|
程序员 编译器 C语言
分支和循环(一)
分支和循环(一)
|
6月前
|
C语言
分支和循环(二)
分支和循环(二)
|
6月前
|
数据安全/隐私保护
分支和循环语句(2)
分支和循环语句(2)
34 1
|
7月前
|
C语言
分支和循环(2)
分支和循环(2)
54 3
|
7月前
|
C语言
分支和循环(1)
分支和循环(1)
36 0
|
编译器 C语言
分支与循环(1)
分支与循环(1)
分支与循环(1)
|
程序员 编译器
分支与循环
分支与循环