(五)控制语句

控制语句:顺序、分支、循环
(一)分支结构
1、二分支选择结构
if(表达式)
{
语句块;
}
else
{
语句块;
}
2、阶梯形式
if(表达式1)
{
语句1;
}
else if(表达式2)
{
语句2;
}
else if(表达式3)
{
语句3;
}
……
else
{
语句n;
}

3、嵌套形式
if(表达式1)
{
if(表达式2)
{
语句块1;
}
else
{
语句块2;
}
}
else
{
if(表达式3)
{
语句块3;
}
else
{
语句块4;
}

}

#include<stdio.h>
int main()
{
	int i=0;
	int j =1;
	int k =8;
	if(i==0)
	{
		i++;
		if(j==0)
		{
			j++;
		}
		else
		{
			j--;
		}
	}
	else if(k==8)
	{
		k--;
		
	}
	else
	{
		i = i+2;
		if(k<0)
		{
			k--;
		}
		else
		{
			k++;
		}
	}
	printf("i=%d,j=%d,k=%d\n",i,j,k);
	return 0;
}

4、switch(整型表达式/字符型表达式)
{
case 常量表达式1:
语句块;
break;
case 常量表达式2:
语句块;
break;
case 常量表达式3:
语句块;
break;
……
default:
语句块;
}
每个case后必须加break,没有break会一直执行下去,直到遇到break才会跳出switch语句块。
#include<stdio.h>
int main()
{
	float score;
	printf("input a score :\n");
	scanf("%f",&score);
	if(score >100 || score <0)
	{
		printf("input error\n");
		return -1;
	}
	switch ((int)score/10)
	{
		case 10:
		case 9:
			{
				printf("A\n");
				break;
			}
		case 8:
			{
				printf("B\n");
				break;
			}
		case 7:
			{
				printf("C\n");
				break;
			}
		case 6:
			{
				printf("D\n");
				break;
			}
		default:
			{
				printf("you are failed\n");
			}
	}
	return 0;
}

(二)循环语句 for while do while goto
1、for(表达式1;表达式2;表达式3)
{
语句块;
}
注: 表达式1赋初值,可以省略,但是在使用之前必须赋初值;
表达式2表判断,不能省略,如果没有判断语句,则为死循环;
表达式3 表示变化方式,可以省略,但是要将变化方式放在循环里面。

2、 while(表达式)
{
语句块;
}
#include<stdio.h>
int main()
{
	int i =10;
	while(i>0)
	{
		i--;
	}
	printf("i=%d\n",i);
	return 0;
}

3、do while

do
{
语句块;
}while(表达式);

while先判断,后执行 ,do while 先执行,后判断;while至少一次都不执行,do while至少执行一次

break:跳出本层循环
continue:跳出本次循环,继续下一次循环
#include<stdio.h>
int main()
{
	int i =10;
	do
	{
		i--;
	}while(i>0);
	printf("i=%d\n",i);
	return 0;
}

4、goto:无条件跳转语句 一般格式为:goto语句标号;

如果要用goto实现for循环,注意goto要放在判断语句里,要不然就是死循环;

#include<stdio.h>
int main()
{
	int num =0;
	int num2 = 1;
loop: scanf("%d%d",&num,&num2);
	  printf("num=%d,num2=%d\n",num,num2);
	 if(num>0)
	 {
	  goto loop;
	 }
	  return 0;
}


  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值