C语言语句(2)--循环语句

  C语言语句的第二个版块——循环语句来了,友友们让我们一起来学习。

三 循环语句 

循环语句包括while循环、for循环、 do-while循环。其中do-while循环用的最少。

3.1 while循环

while循环的语法:

 代码展示:打印1-10

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

while循环步骤:

  判断i=1是否<=10,成立后进入while循环,打印i,i再加1赋值为2,此时i=2,判断i=2是否<=10,成立后进入while循环……直到i=11时,判断i是否<=10,不成立,出while循环,return 0,结束

3.1.1 while循环中的break和continue

break 介绍

代码展示:

#include <stdio.h>
int main()
{
	int i = 0;
	while (i <= 10)
	{
		i++;
		if (i == 5)
			break;
		printf("%d ", i);
	}
	return 0;
}

 这个代码只能打印出1-4,当i=5的时候,进入break,break的作用是,终止循环。

总结:

break在while循环中的作用是:

  只要循环中遇到break,就停止后期的所有循环,直接终止循环。所以while中的循环用于永久终止循环。

continue介绍

代码展示:

#include <stdio.h>
int main()
{
	int i = 0;
	while (i < 10)
	{
		i++;
		if (i == 5)
			continue;
		printf("%d ", i);
	}
	return 0;
}

 这个代码可以打印1-4 6-10,i=5的时候,进入continue,continue的作用是中止本次循环,进入下一个while循环。

总结:

while循环中continue的作用是:

  continue用于终止本次循环,也就是本次循环中continue后的代码不会执行,而是直接跳到while语句判断部分,进行下一次循环的入口判断。

小贴士

(1)getchar和putchar是针对字符的scanf和printf。int ch = getchar();putchar(ch)    相当于scanf("%s",&ch);printf("%s", ch)    结束^z

(2)数组名本来就是地址,用scanf时,不用取地址符号&

3.2 for循环

for循环是我们用的最频繁的一种循环。

3.2.1 语法

for循环语法:

 for循环执行过程:表达式1——表达式2——循环语句——表达式3

代码展示:

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

打印结果:12345678910

代码执行过程:i赋值为0,进入for循环,执行表达式1,i赋值为1,执行表达式2,判断i=1是否小于等于10,成立,进入循环语句,输出1,执行表达式3,i加一赋值为2,进入表达式2,进行判断……直到i赋值为11,判断不成立,出for循环,return 0,结束。

3.2.2 for 循环中的break和continue

break

代码展示:

#include <stdio.h>
int main()
{
	int i = 0;
	for (i = 1; i <= 10; i++)
	{
		if (5 == i)
			break;
		printf("%d ", i);
	}
	

打印结果:1 2 3 4 

当代码执行到break时,跳出for循环。

continue

代码展示:

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

打印结果:1 2 3 4 6 7 8 9 10 

当i=5时,continue,跳过循环部分剩下的代码,也就是printf("%d ", i),去执行表达式3,i++,让i赋值为6,然后去执行剩下的操作。

 3.2.3 for语句的循环控制变量

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

代码展示:

#include <stdio.h>
int main()
{
	int i = 0;
	for (i = 0; i < 10; i++)
	{
		printf("hehe\n");
	}
	return 0;
}

运行结果:

 这个代码中的10,具有一定的意义。10个hehe。

3.2.4 一些for循环的变种

代码1展示:

#include <stdio.h>
int main()
{
	for (;;)
	{
		printf("hehe\n");
	}
	return 0;
}

运行结果:hehe死循环

注意:(1)语句的初始化、判断、调整三个部分都可以省略。当然, 如果条件允许的话,不要省略这三个部分。                                                                                                                                             (2)中间的判断部分如果省略,意味着判断恒为真,就构成死循环了。                               代码2展示:

#include <stdio.h>
int main()
{
	int i = 0;
	int j = 0;
	for (i = 0; i < 3; i++)
	{
		for (j = 0; j < 3; j++)
		{
			printf("hehe\n");
		}
	}
	return 0;
}

打印结果:九个hehe

代码分析:(1)首先我们先分析第二个for循环,j=0时进入循环打印一个hehe,j=1时又进入一次,j=2时又进入一次,j=3时不小于3,出第二个for循环。则第二个for循环可以打印出3个hehe                                   (2)把第二个for循环看做一个整体W,可以知道第一个for循环,可以打印3次W,那么就是9个hehe.

代码3展示:

#include <stdio.h>
int main()
{
	int i = 0;
	int j = 0;
	for (; i < 3; i++)
	{
		for (; j < 3; j++)
		{
			printf("hehe\n");
		}
	}
	return 0;
}

运行结果:三个hehe

代码分析:i=0时进入循环,j=0,会打印3个hehe,循环结束后j=3,i=1和i=2进入时,j=3,无法进入第二个循环,所以就打印出三个hehe。

  代码4展示:

#include <stdio.h>
int main()
{
	int i = 0;
	int j = 0;
	for (i = 0, j = 0; j = 0; i++, j++)
	{
		printf("hehe\n");
	}
	return 0;
}

代码结果:(什么都没有)

代码分析:j=0,为判断语句,0为假,所以for循环不会执行。

3.3 do…while()循环

3.3.1 do while()循环

do ..while()语句语法:

 代码展示:

#include <stdio.h>
int main()
{
	int i = 1;
	do
	{
		printf("%d ", i);
		i++;
	} while (i <= 10);
}

打印结果:1 2 3 4 5 6 7 8 9 10 

代码分析:i=1进入do while循环,先打印1,再i再加一,赋值为2,然后i=2与10比较,成立,继续打印。

do while循环至少执行一次,使用场景有限,不经常使用。

3.3.2 do while中的break和continue

break

代码展示:

#include <stdio.h>
int main()
{
	int i = 1;
	do
	{
		if (5 == i)
			break;
		printf("%d ", i);
		i++;
	} while (i <= 10);
	return 0;
}

打印结果:1 2 3 4 

continue 

代码展示:

#include <stdio.h>
int main()
{
	int i = 1;
	do
	{
		if (5 == i)
			continue;
		printf("%d ", i);
		i++;
	} while (i <= 10);
	return 0;
}

打印结果:1 2 3 4 死循环

循环语句就到此结束了,希望友友们可以提出宝贵的的意见。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

是小刘同学啦

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

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

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

打赏作者

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

抵扣说明:

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

余额充值