C语言基础——判断与循环 ——循环篇

C语言基础——判断与循环

——循环篇

 

目录

回顾:

一、定义

二、循环讲解

(一)while循环

1.语法格式:

2.举例

(二)do-while循环

扫描二维码关注公众号,回复: 9471456 查看本文章

1.语法格式

2.举例,执行三次“我爱×××”

(三)for循环:

1.语法格式

2.举例,输出1-10

(四)最后通过一个代码小结一下判断和循环,同时讲一下continue的用法:

最后的最后:


回顾:

上个篇章中简单说了C语言中的判断的用法,通过代码介绍了if、if-else、switch、break等语法的应用。在最后的时候说到了continue语句,当时说在循环中能够用到。今天我们借助循环的概念给讲一下continue语句的用法。

今天讲的有while循环、do-while循环、for循环、break语句和continue语句在循环中的用法。

一、定义

什么叫做循环?顾名思义,循环就是重复的意思,根据事先设定的条件重复执行一段代码,执行一次,对比一次循环条件,满足则继续执行,不满足则跳出循环。

二、循环讲解

(一)while循环

1.语法格式:

while(循环条件)

{

    循环体

 }

循环体放在一对花括号中

2.举例

输出十次“我是×××”

假设代码时这样的:

#include<stdio.h>

int main()

{

    int i = 0;

    while(i < 10)

    {

    printf("我爱×××\n");

    }

    return 0;

}

我们看一下执行结果:

 

我们发现执行的次数远远超过十次,为什么会发生这种情况呢?因为每当执行一次循环体都要对比一次循环条件,i依旧为0永远小于10,因此循环体将会永远执行下去。怎么修改呢?我们只需要在循环体中改变i的大小就好了,因此大家需要记住,循环体中记得增加改变约束条件的语句:

#include<stdio.h>

int main()

{

    int i = 0;

    while(i < 10)

    {

    printf("我爱×××\n");

    i++;

    }

    return 0;

}

这样的代码,我们看一下执行结果:

 

看来这样是满足我们的需要的

除了在循环体中更改i的值外,我们也可以在判断条件中进行修改,代码如下:

#include<stdio.h>

int main()

{

    int i = 0;

    while(i++ < 10)

    {

    printf("我爱×××\n");

    }

    return 0;

}

我们看一下执行结果:

 

结果是正确的,看来这种方法也可以用,有人会问,为什么可以这样呢?用表达式作为判定条件,每次判断之后,i自动加一。在之前我们说过i++与++i的区别,有兴趣的同学可以尝试一下++i作为判定条件时会出现什么结果,注意输出的次数,想一想为什么会出现这种结果。

(二)do-while循环

1.语法格式

do{

    循环体

}while(循环条件);

注意事项和while循环一样,区别在于,do-while循环中,无论判断条件是否成立,循环体都会执行一遍

2.举例,执行三次“我爱×××”

假设代码如下:

#include<stdio.h>

int main()

{

    int i = 0;
    
    do{

    printf("我爱×××\n");

    }while(i++ < 3);  

    return 0;

}

我们看一下执行结果:

 

我们发现执行了四次,为什么会这样呢?这个就是(i++)这个表达式的特点了,先比较,后加一

执行的顺序为,循环体 (i++)这个表达式为0<3  i=1

  循环体 (i++)这个表达式为1<3  i=2

  循环体 (i++)这个表达式为2<3  i=3

  循环体 (i++)这个表达式为3=3  i=4

因为条件不再满足,因此不再继续执行,可以看到,执行四次是没问题的,怎么修正呢?有两种方法:一修改i++为++i,这样i++这个表达式的值和i增加一后的值是一样的,另一种便是在循环体中设置加一,我们选择其中一种方法修改代码,另外一种自行尝试:

代码如下:

#include<stdio.h>

int main()

{

    int i = 0;

    do{

    printf("我爱×××\n");

    i++;

    }while(i < 3);

    return 0;

}

执行结果:

 

好的,没问题

(三)for循环:

1.语法格式

for(表达式1;表达式2;表达式3)

{

    循环体;

}

三个表达式组成循环的条件,表达式可以为空

2.举例,输出1-10

#include<stdio.h>

int main()

{

    int i;

    for(i = 0; i < 10; i++)

    {

    printf("%d ", i);

     }

    return 0;

}

三个表达式用分号隔开,通常第一个表达式用来初始化计数器的初值,比如将i的初值设定为1,第二个表达式用来设定条件,第三个表达式用来改变计数器的值,我们看一下输出的结果:

 

  • (四)最后通过一个代码小结一下判断和循环,同时讲一下continue的用法:

列举出100以内的个位为3的3的倍数:

#include<stdio.h>
int main()
{
	int i = 0;
	printf("用while循环实现:\n");
	while(i++ <= 100)
	{
		if(i % 3 == 0)
		{
			if(i%10 == 3)
			{
				printf("%d ", i);
			}
			continue;//这句话的意思是结束本次判断,进入下一次判断 
		}
	}
	
	printf("\n用for循环:\n");
	for(i=0; i<=100; i++)
	{
		if(i % 3 == 0)
		{
			if(i%10 == 3)
			{
				printf("%d ", i);
			}
			continue;//这句话的意思是结束本次判断,进入下一次判断 
		}
	 } 

} 

实现的原理为,先判断该数是否为3的倍数(被3整除,余数为0),再判断个位数是否为3(与10相除,余数为3),如果满足,则把数字打印出来,否则跳出本次循环,进行下一轮判断(continue)

我们看一下运行结果:

 

  • 最后的最后:

开这期博客的目的是为了物联网新生(亲学弟学妹)在假期期间提前了解一下C语言,以免开学后学习吃力,C语言中最简单的东西在这五篇博客中都简单的涉及到了,后面的指针,地址,数组等如果有需要会再开博客出教程,如果没有必要,关于C语言的教程到此为止。

发布了31 篇原创文章 · 获赞 43 · 访问量 5247

猜你喜欢

转载自blog.csdn.net/qq_41582910/article/details/97613977