文章目录
前言
如果条件满足才能做某件事情,如果条件不满足就做另外一件事情,或者什么也不做。分支语句又被称为“判断语句”,正因为有了判断,才让程序有了很多的分支。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 的分支语句的使用方法,实际编程中将会经常结合多种函数来使用。希望这篇文章能够帮你理解分支语句的结构和使用。