C语言分支和循环语句

 1.分支语句

分支结构也叫做选择结构,分支语句包括if,else语句和switch语句。

1.1 if语句

if(表达式)
   语句

if语句中表达式为真,则执行语句;标达式为假,则不执行。 C语言规定0为假,非0为真,例如-1就是真。也就是表达式的结果是0就不执行,非0就执行。

1.2 else语句

if(表达式)
   语句1
else 
   语句2

if表达式中如果为真就执行语句1;否则就执行语句2。if 和 else 都只能控制一条语句,只有打上括号才能控制多条语句。

1.3悬空else

如果有多个if和else,if总是和它最近的else匹配

1.4 switch语句

switch (表达式) 
{
case 1: he he
case 2: ha ha
default: 都不是
}

switch 语句后的表达式必须是整形标达式。

case 后面的值必须是正型常量表达式。

default 就是case 1和case 2 都不执行,才会进入default。

1. case 和后边的数字之间必须有空格
2. 每⼀个 case 语句中的代码执⾏完成后,需要加上 break ,才能跳出这个switch语句。

如果去掉case后面的break的话,会进入一条成立部分,把成立部分打印出来后,还会继续打印,直到结束。下面来举一个例子:

	int main()
{
	int n = 0;
	scanf("%d", &n);
	switch (n % 3)
	{
	case 0:
		printf("整除,余数为0\n");
	case 1:
		printf("余数是1\n");
	case 2:
		printf("余数是2\n");
	}
	return 0;
}

打印出来会是这样的:

在 switch 语句中 case 语句和 default 语句是没有顺序要求的,只要你的顺序是满⾜实际需求的就可以。不过我们通常是把 default ⼦句放在最后处理的。没有顺序要求但也不能随便放,要满足程序要求的。下面我来举一个例子:

//题目要求1~5为工作日,6~7为休息日
int main()
{
	int day = 0;
	scanf("%d", &day);
	switch (day)
	{
	case 1:
	default:
		printf("输入错误,请重新输入\n");
		break;
	case 2:
	case 3:
	case 4:
	case 5:
		printf("工作日\n");
		break;
	case 6:
	case 7:
		printf("休息日\n");
		break;
	}
	return 0;
}

2.循环语句 

循环有while循环,for循环,do-while循环

2.1while循环

if语句和while语句的语法非常类似。

if(表达式)
语句;
while(表达式)
语句; //如果循环体想包含更多的语句,可以加上⼤括号

 首先上来就是执行判断表达式,表达式的值为0,循环直接结束;表达式的值不为0,则执行循环语句,语句执行完后再继续判断是否为真,为真继续循环,否则结束。

下面来举一个例子:这样会死循环地打印hehe。

在屏幕上打印1~10的值:

2.2 for循环

for循环是三种循环中用的最多的。

for循环的语法如下:

for(表达式1;表达式2;表达式3)
{
       语句
}

表达式1为初始化,表达式2为判断,表达式3为调整。

循环过程如下:表达式先初始化,然后判断,如果为真就执行语句,为假则退出循环。执行完语句后就会到调整部分,调整完后继续进行判断,如此往复。总的来说,初始化就执行一次,剩下的就是判断和调整,语句之间来回执行。

下面举一下例子:

在屏幕上打印1~10的值:

总结一下:while对比for循环,for循环比较方便。

2.3 do-while循环

do-while循环用的比较少。

do-while循环的语法如下:

do
{
   语句
}while(表达式)

do-while循环第一次是先执行再判断,如果表达为真继续执行,否则就退出循环,所以do-while循环至少被执行一次。

下面来举一个do-while循环的例子:

在屏幕上打印1~10的值:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值