C语言 第九章 流程控制

本文详细解析了C语言中的流程控制结构,包括顺序结构、选择结构(if语句和switch语句)、三种循环结构(while、do-while、for)。通过实例展示了如何使用这些结构来实现复杂的逻辑判断和重复执行的操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//前言
1,默认运行流程:按书写顺序执行代码。
2,其它运行流程:注册界面 条件执行。
3,流程控结构:3种,
顺序结构:按书写顺序执行每一段代码。
选择结构:对给定的条件进行判断,根据判断结果选择执行。
循环结构:在给定条件成立下,反复执行某一段代码。

//一,顺序结构

//二选择结构
C语言的选择结构有两种:if语句 和 switch语句。

1,if语句
	1,形式 
	if(条件)
	{
		语句1;
		语句2;
		。。。 
	 } 
	 条件成立时执行{ }中的语句,不成立不执行 

	2,if后面只有一行代码时可以省略{ } //不建议 
		if{条件}
			语句1;
	
	3,语句嵌套
		int a = 7;
		
		if (a>0)
		{
			printf("a的值大于0\n");
			
			if(a<9)
			{
				printf("a的值小于9"); 
			}
		 } 
	
	4,使用注意
		if(条件)//后面没有分号
		
		判断条件位0是:最好写成0==a
		if(a==0) 

2,形式二:if与else连用
	1,if(条件)
		{
			语句1; //条件成立执行 
		 } 
		 else
		 {
		 	语句2; //条件不成立执行
			  
		 }
	
	2,eg: int a = 10;
			if(a==0)
			{
				printf("a等于0");
				
			 } 
			 else
			 {
			 	printf("a不等于0"); 
			  } 
	
	3,if-else 复杂形式
		if(条件1)
		{
			语句1; //条件一成立时执行 
		 } 
		 else if(条件2)
		 {
		 	语句2; //条件二成立时执行 
		  } 
		  else if(条件3)
		  {
		  	语句3 //条件三成立时执行 
		   } 
		...
		else
		{
			其它语句;// 所有条件都不成立时执行
			 
		 } 
		 以上的代码中,只有1个{}中的代码会被执行
		
		eg: int a = 10;
			if(a==0)
			{
				printf("a等于0");
				 
			 } 
			 else if(a>0)
			 {
			 	printf("a>0");
			  } 
			  else
			  {
			  	a<0;
			  }

//三,选择结构2-switch
1,形式:
switch(整型表达式)
{
case 数值1;//整型表达式的值等于数值1时执行
语句1;// 以下以此类推
break;
case 数值2;
语句2;
break;

case 数值n;
语句n;
break;
default;
语句n+1;//如果数值1~数值n中没有一个值等于整型表达式的值时执行
break; //推出整个switch
}

	2 举例:
	 int a = 10;
	 switch (a)
	 {
	 	case 0:
	 		printf("这是一个0");
			 break;
		
		case 5:
			printf("这是一个5");
			break;
			
		case 10:
			printf("这是一个10");
			break;
			
		default :
			printf("什么也不是"); 
			break; 
	  } 
	  执行后a的结果为10
	
	3,break
		1,作用:退出整个switch语句,如果没有,代码会执行到有时才推出switch
		2,判断分数的优良中差时,每个case后面没必要添加break
		
		int score = 77;
		switch(score/10)
		{
			case 10:
			case 9:
				printf("优秀");
				break;
				
			case 8:
				printf("良好");
				break;
				
			case 7:
			case 6:
				printf("中等");
				break;
			
			default:
				printf("差劲");
				break; 
		 } 
		 
	4,在case中定义变量
		1,在case中定义一些变量,必须用{} 括住case中的所有语句。
		
		int a = 10;
		int b = 4;
		
		char op = '-';
		
		switch(op)
		{
			case '+':
				{
					int sum = a+b;
					printf(a+b=%d\n,sum);
					break;
				}
				
			case '-':
				{
					int minus = a-b;
					printf("a-b=%d\n,minus");
					break;
				}
			
			default:
				printf("不能识别的字符");
				break; 
		 } 

//四,循环结构1-while
1,作用;重复执行某个操作时,首先考虑循环结构。
1,形式:
while(条件)
{
语句1;
语句2;
。。。。。
}
条件成立执行{}循环体中的语句,然后再次判断。
直到条件不成立 时结束while循环。

	 while循环特点:如果while中的条件一开始就不成立,
	 				那么循环体中的语句永远不会执行。
	不建议省略{}。
	
	2,举例;屏幕上重复输出10次hello word
		int count = 0;
		while(count < 10)//没 有 分号,有会造成死循环 
		{
			printf("hello world");
			
			count++;//省略会形成死循环 
			
		 } 

//五,循环结构2-do while循环
1,形式:
do
{
语句1;
语句2;

} while(条件);//不要忘记分号;

	 首先执行一遍循环体中的语句,
	 判断while中的条件
	 条件成立则执行循环体中的语句
	 然后再次判断
	 重复执行
	
	特点:不论while中的条件是否成立,循环体中语句至少会被执行一遍

//六,循环结构3-for循环
1,形式:
for (语句1;条件;语句2)
{
语句3;
语句4;

}
for循环开始时先执行语句1,且整个循环过程中只执行一次语句1.
接着判断条件,条件成立,执行循环体{}中的语句。
循环体执行完毕后,接下来执行语句2,,然后再次判断条件,重复上述过程。
直到条件不成立就结束for循环

2,举例
	for (int = 0;i<5;i++)
	{
		printf{"%d",i};
	 } 
	 变量的作用域为当前的for{}

3,补充
	初始化语句和循环一次后执行的语句由多条语句组成时,用逗号,隔开
	for(int x = 0,y = 0;x<3;x++,y+=2)
	{
		printf("x = %d,y = %d \n",x,y);
	 } 

//七,break 和 continue
1,break
跳出switch语句/在循环结构中跳出整个循环
1,举例
for(int i = 0;i<5;i++)
{
printf(“i=%d \n”,i);

		if(i>2)
		{
			break;
		 } 
	 } 
	 i>2时跳出for循环 
	 
	2,for循环嵌套
	for(int x = 0;x<2;x++)
	{
		for(int y = 0;y<2;y++)
		{
			printf("x = %d,y=%d \n",x,y);
		}
	 } 
	 
	 break 只会影响它所在的那个for循环

2,continue
continue只能使用在for循环结构中,
他的作用是跳过这一次循环,直接进入下一次循环
for (int x =0;x<10;x++)
{
	if(x%2==0)
	{
		continue;
	}
	printf("x=%d \n",x);
	
 } 
 continue只会影响它所在的那个for循环 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值