if语句和switch语句

文章目录

前言

如果条件满足才能做某件事情,如果条件不满足就做另外一件事情,或者什么也不做。分支语句又被称为“判断语句”,正因为有了判断,才让程序有了很多的分支。if语句和switch语句就是其中的条件分支语句


一、if语句

概述:if语句是用来判定所给定的条件是否满足,根据判定的结果(真或假)决定执行给出的操作。

关键字为:if

if语句具有真(true)和假(false)2种返回值,返回值类型为bool。

if语句有三种表达结构,如下:

语法结构:

① if(表达式)

          语句;

②if(表达式)

         语句1;

    else

          语句2;

③if(表达式1)

         语句1;

    else if(表达式2)

          语句2;

    else

            语句3;

例:

可以用if语句求时间差

#include<stdio.h>

int main()

{
	int hour1, hour2;
	int minute1, minute2;

	scanf_s("%d %d", &hour1, &minute1);
	scanf_s("%d %d", &hour2, &minute2);

	int ih = hour2 - hour1;
	int im = minute2 - minute1;
	if (im < 0)
	{
		im = 60 + im;
		ih--;
	}
		
	printf("时间差是%d小时%d分钟\n", ih, im);
	return 0;
}

也可以求简单的分段函数

 

#include<stdio.h>
int main()
{
	int x, y;
	printf("请输入x的值\n");
	scanf_s("%d", &x);
	//接收x的值
	if (x < 0)
	{
		y = -1;
		printf("%d", y);
	}
	else if (x = 0)
	{
		y = 0;
		printf("%d", y);
	}
	else
	{
		y = 2 * x;
		printf("%d", y);
	}
	//判断并输出y的值
	return 0;
}

注意:if和else后面总用{},尽管只有一条语句也要用

           else自动与距离最近且未匹配的if匹配


二、switch语句

概述:switch 是多分支选择语句(用法与if语句相似),但整形表达式结果为多少,就从第几个case进入,然后进行判断

switch 语句又称为情况选择语句或开关语句。

同时switch 语句也是分支语句的一种,用于对多种情况进行不同处理的语句。

switch语句的表达结构:

switch(整形表达式)

{

case 1 :

                语句1;//整形常量表达式

                break;//可省略(为终止语句)

case 2 :

                语句2;//整形常量表达式

                break;//可省略(为终止语句)

case 3 :

                语句3;//整形常量表达式​​​​​​​

                ​​​​​​​break;//可省略(为终止语句)

case n :

                语句n;//整形常量表达式​​​​​​​

                ​​​​​​​break;//可省略(为终止语句)

default :                      //默认情况

                语句n+1;

}

switch语句:

                     ①‘ case ’进‘ break ’出 ,case后面必须为整形且为常量表达式

                     ②允许嵌套使用,也可以掺杂if语句

                     ③如果你只想执行这一个case语句,不想执行其他case,那么就需要在这个

                        case 句后面加上break,跳出switch语句(根据要求自行决定)

例:

判断成绩等级

#include<stdio.h>
int main()
{
	int a,b;
	printf("请输入成绩:  ");
	scanf_s("%d", &a);
	b = a / 10;
	switch (b)
	{
	case 1:
	case 2:
	case 3:
	case 4:
	case 5:
		printf("成绩低于60,等级为E\n");
		break;
	case 6:
		printf("成绩高于60低于70,等级为D\n");
		break;
	case 7:
		printf("成绩高于70低于80,等级为C\n");
		break;
	case 8:
		printf("成绩高于80低于90,等级为B\n");
		break;
	case 9:
		printf("成绩高于90低于100,等级为A\n");
		break;
	default :                              //default关键字用来标记switch语句中的默认分支
		printf("你十分优秀\n");
		break;
	}
	return 0;

}

 同时大部分用if语句可以解决的,也可以用switch语句

#include<stdio.h>
int main()
{
	int x, y,i;
	printf("请输入x的值\n");
	scanf_s("%d", &x);
	//接收x的值
	i = 1 * (x < 0) + 2 * (x == 0) + 3 * (x > 0);
	//判断x进入哪个条件
	switch (i)
	{
	case 1:
		printf("y=%d\n", y = -1);
		break;
	case 2:
		printf("y=0\n");
		break;
	case 3:
		y = 2 * x;
		printf("y=%d\n", y);
		break;
	default:
		printf("输入的x没有对应的y\n");
	}
	//计算y的值并输出
	return 0;
}

总结

 本文只是简单的介绍了if else和switch 的分支语句的使用方法,实际编程中将会经常结合多种函数来使用。希望这篇文章能够帮你理解分支语句的结构和使用。

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值