分支循环语句

  • Post author:
  • Post category:其他



目录


分支语句和循环语句


分支语句


if语句和switch语句


这样我们先把if语句的几种形式总结;、


单个if语句:


if和else同时出现;


if和if else


还有一种为内嵌式if语句;


下面来的有关if语句的经典例子


swtich语句


有break时


无break时,就会发生改变,使在case中依次循环一遍。


循环语句


for循环


下面看一些for循环的变种


第一种


do while 循环


分支语句和循环语句

分支语句

if语句和switch语句

我们先来看一下,什么是语句。

#include"stdio.h"
int main()
{
	int a;
	int b;//用分号隔开来的就是语句
}

这样我们先把if语句的几种形式总结;、

单个if语句:

if
{
	printf("");
}

if和else同时出现;

if
{
	printf("");
}
else
{
	printf("");
}

if和if else

if
{
	printf("");
}
if else
{
	printf("");
}
else
{
	printf("");//语句依次执行。
}

还有一种为内嵌式if语句;

if(满足的条件)
{
	if
	{
		printf("");
	}
	else
	{
		printf("");
	}
}

下面来的有关if语句的经典例子

#include"stdio.h"
int main()
{
	int m = 5;
	if (m++ > 5)
		printf ("%d\n", m);
	else
		printf ("%d\n", m--);
}

大家可以猜一下,答案是多少 5, 6 ,4

答案是6,得到答案之后,其实这道题还没有完。

下面我们先来明确一个概念,i++是先赋值,再自增1,++i是先自增1,再赋值。

在if中的时候if是5,所以不满足条件,跳出if之后,i等于6自增1,所以满足之前的先赋值,再自增1,进入else 输出i =6;这个时候还没有完,执行完printf语句之后,i再自减1,i为5.

这里我还是再强调一句,输出为6.

如果–i的话就是5

swtich语句

有break时

#include"stdio.h"
int main()
{
	int day = 0;
		switch (day)
	{
	case 1:
			printf("星期一\n");
            break;
	case 2:
			printf("星期二\n");
            break;\\为停止执行下面的语句

	}
}

无break时,就会发生改变,使在case中依次循环一遍。

#include"stdio.h"
int main()
{
	int i = 10;
	switch (i)
	{
	case 9:i += 1;
	case 10:i--;
	case 11:i *= 3;
	case 12:++i;
		printf("%d\n", i);
	}
}

由于没有break结束语句,将从case10执行到case12;穿透swtich语句;

循环语句

首先咱们先来看下while语句的

运用

#include"stdio.h"
int main()
{
	int i = 0;
	while(i<=10)
	{

		if (i == 5)
			break;
		printf("%d\n", i);
	
	}
}

大家觉得会输出什么数字0,1,2,3,4,;还是0,1,2,3,4,5;

是0,1,2,3,4;因为break;是一个跳出这个下面语句;表示不再执行;

break


是用于



永久



终止循环的。

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

你们觉得这个会是多少 ,在告诉答案之前,我先告诉你continue是中止本次循环,也可这么理解吧,不表达5.那么输出的数字是0,1,2,3,4,5,6,7,7,8,9,10吗?显示不是,因为到5之后就不会向下走了,一直就会,在其中死循环中。这样改之后就会,发生改变。

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

这个就不会,当到达5时就会停止本次以下循环,跳到i=i+1;中,说明continue是停止本次循环,而不是终止循环。

for循环

for(初始;判断;调整;)

#include"stdio.h"
int main()
{
	for (int i = 1; i <= 10; i++)
	{
		printf("%d\n", i);
	}
}//如果不理解的话,可以调试一下。


现在


while


循环中依然存在循环的三个必须条件,但是由于风格的问题使得三个部分很可能偏离

较远,这样查找修改就不够集中和方便。所以,for循环的风格更胜一筹。

这里就展示一个for循环代码就可。
#include"stdio.h"
int main()
{
	for (int i = 1; i <= 10; i++)
	{
		if (i == 5)
			continue;
		printf("%d\n", i);
	}
}

下面看一些for循环的变种

第一种

#include"stdio.h"
int main()
{
	int x,  y;
	for (x = 0, y = 0; x < 2 && y < 5; ++x, y++)
	{
		printf("hehe\n");
	}
}

第二种可以称之为死循环,无法跳出循环,因为无判断判断条件,

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

下面来看一道面试题。

#include"stdio.h"
int main()
{
int i = 0;
	int k = 0;
	for (i = 0, k = 0; k = 0; k++, i++)
	{
		k++;
	}
}

他们没有循环。

do while 循环

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

大致于,while差不多



版权声明:本文为qq_46759357原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。