分支与循环(下)

1.while 循环

while 语句可简单理解为,当满足条件时进入循环,进入循环后,当条件不满足时,跳出循环。

#include<stdio.h>
int main()
{
	int a = 1;
	while (a<=5)//a<=5就可以进入循环
	{
		printf("Hello my friend\n");
		a++;//每经过一次 a 就加一,直到 a>5 就跳出循环。
	}
	return 0;
}

输出结果:

Hello my friend//程序循环了5次
Hello my friend
Hello my friend
Hello my friend
Hello my friend

2.do while循环

do while 语句比 while 多一个 do ,那会发生什么变化呢?

#include<stdio.h>
int main()
{
	int a = 1;
	do
	{
		printf("Hello my friend\n");
		a++;
	} while (a <= 5);
	return 0;
}

上述代码是 do while 的基本格式,跟 while 的区别是

循环语句差异
while先判断条件是否为真,为真则继续执行循环体
do while先执行一次循环体,再判断条件(为真则继续执行循环体)

do while 语句中的 while 是放在最后的,则表明判断条件在后。

温馨提示: do while 循环中,放在最后的 while 之后不要忘记加上 (分号)

3.for 循环

for 循环是最常用的一种循环,理解起来也并不难。
比如我们要循环打印1~10

#include<stdio.h>
int main()
{
	int a;
	for (a = 1; a <= 10; a++)
	{
		printf("%d ", a);
	}
	return 0;
}//运行结果:1 2 3 4 5 6 7 8 9 10

图解:
图解1

4. continue 语句

continue 的作用是跳过本次循环 continue 后边的代码

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

由于 a 进入循环打印了 1、2 后 ,经过 a++ , a等于 3 ,随即进入到 if 循环中,遇到了 continue ,continue 后的代码(a++)不执行,就会跳到开头(while循环),继续往下走,打印 3 (死循环)。
最后的运行结果为:1 2 3 3 3 3 3 3 3 3 3 3 (3的死循环)。

5. break 语句

break 的作用是永久的中止循环,只要 break 被执行,直接就会跳出循环

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

循环了两次后,a 等于3,进入 if 循环后,遇到了 break ,跳出 while 循环。
最后的运行结果为:1 2 3。

6. goto 语句

goto 语句可以实现在同⼀个函数内跳转到设置好的标号处。 (goto 语句个人理解成传送门 ↓ )

#include<stdio.h>
int main()
{
   int a=1;
   while (a <= 10)
   {
   	 printf("Welcome\n");
   	 a++;
   	 goto here;
   }
   here://此处是冒号,不是分号
   printf("Hello my friend");
   return 0;
}

运行结果:

Welcome
Hello my friend

以上代码本应打印出10行 Welcome ,由于 goto 的加入,使程序直接跳到 here ,并接着向下运行。

7. 循环的嵌套

循环也可以嵌套,比如我们想打印 9 * 9 乘法表。

9 * 9 乘法表的实现

#include<stdio.h>
int main()
{
    int a, b;
        for (a = 1; a <= 9; a++)
        {
            for (b = 1; b <= a; b++)
            {
                printf(" %3d * %d= %d", a, b, a * b);
            }
            printf("\n");
        }
    return 0;
}

运行结果:
9*9乘法表

最后

1. goto 语句多放在循环语句的嵌套中,如果出现错误,就不需要使用 break 一层层跳出,直接使用 goto 跳出到想要的位置会更加方便。
2. 使用这些语句时如果循环体中的语句只有一条时,{ }(花括号)可省略。
3. 嵌套的语句使用起来会有些复杂,自己注意多练习,把每一条语句弄明白。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值