分支语句(if和switch)

一、if语句

1.if(表达式){语句;}

其中表达式用非0表示真,用0表便假;

#include<stdio.h>
int main()
{
	int a = 0;
	int b = 0;
	scanf("%d %d", &a, &b);
	if (a > b)
	{
		printf("%d", a);
	}
	if (a < b)
	{
		printf("%d", b);
	}
	return 0;
}

2.if(表达式){语句1;}else{语句2;} 

采用if...else来控制双分支语句。

#include<stdio.h>
int main()
{
	int age = 0;
	scanf("%d", &age);
	if (age<18)
	{
		printf("未成年");
	}
	else
	{
		printf("成年");
	}
	return 0;
}

3.if(表达式1){语句1;}else if(表达式2){语句2;}else{语句3;} 

一般形式:
if(表达式1) { 语句1;}
else if(表达式2) {语句2;}

else if(表达式n){语句n;}
else{语句n+1;}

用于控制多分支语句。

#include<stdio.h>
int main()
{
	int age = 0;
	scanf("%d", &age);
	if (age<18)
	{
		printf("少年");
	}
	else if ( age>=18 && age<30)
	{
		printf("青年");
	}
	else if(age>=30&&age<50)
	{
		printf("老年");
	}
	else
	{
		printf("老寿星");
	}
	return 0;
}

注:else匹配:与离他最近的if匹配。 

#include<stdio.h>
int main()
{
	int a = 0;
	int b = 2;
	if (a == 1)
		if (b == 2)
			printf("hehe\n");
	 else
		 printf("haha\n");
	return 0;
}

 else就与第二个if匹配,同时注意要适当的增加{}使代码的逻辑更清晰。

#include<stdio.h>
int main()
{
	int a = 0;
	int b = 2;
	if (a == 1)
	{
		if (b == 2)
		{
			printf("hehe\n");
		}
		else
		{
			printf("haha\n");
		}
	}
	return 0;
}

二、switch语句

switch语句为多分支语句。

对于一些特殊的形式要用if...else就太麻烦,可以使用switch语句。

swifch(整型表达式)

{

        语句项;

}

case 整形常量表达式;

        语句;

 要求输出对应的数字输出对应的星期数。

#include <stdio.h>
int main()
{
    int day = 0;
    scanf("%d", &day);
    switch (day)
    {
        case 1:
            printf("星期一\n");
            break;
        case 2:
            printf("星期二\n");
            break;
        case 3:
            printf("星期三\n");
            break;
        case 4:
            printf("星期四\n");
            break;
        case 5:
            printf("星期五\n");
            break;
        case 6:
            printf("星期六\n");
            break;
        case 7:
            printf("星期天\n");
            break;
    }
    return 0;
}

 对于上述代码虽然能完成对用功能,但是如果输入的数字不在1-7中,就会产生错误,对此我们要在switch语句中加入default语句。

#include <stdio.h>
int main()
{
    int day = 0;
    scanf("%d", &day);
    switch (day)
    {
        case 1:
            printf("星期一\n");
            break;
        case 2:
            printf("星期二\n");
            break;
        case 3:
            printf("星期三\n");
            break;
        case 4:
            printf("星期四\n");
            break;
        case 5:
            printf("星期五\n");
            break;
        case 6:
            printf("星期六\n");
            break;
        case 7:
            printf("星期天\n");
            break;
        default:
            printf("输入错误");
                break;
    }
    return 0;
}

 注:

1.在最后一个case语句的后面加上break,可以避免出现在以前的最后一个case语句后面忘了加break语句。

2.我们应该在每一个switch语句中都放入dafault子句,并在后面加上break。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值