C语言常见的结构有顺序结构、选择结构、循环结构。分支结构可以分为if语句和swith语句。
- 分支结构常用的操作符(关系操作符、条件操作符、逻辑操作符)
- if语句
- switch语句
一、分支结构常用的操作符
1.关系操作符(也叫“关系表达式”)
- > 大于运算符
- < 小于运算符
- >= 大于等于运算符
- <= 小于等于运算符
- == 相等运算符 (与赋值运算符 “ = ” 不一样,容易混淆。为了防止这种错误,可以将变量写在==左边)
- != 不相等运算符
2.条件操作符(也叫“三目操作符”)
形式如下:
exp1 ? exp2 : exp3
计算逻辑:如果 “exp1” 为真,“exp2” 计算,计算的结果是整个表达式的结果;如果 “exp1” 为假,“exp3” 计算,计算的结果是整个表达式的结果。
3.逻辑操作符(&&,||,!)
&& :与运算符,相当于并且(两侧表达式都为真,则为真,否则为假)
| | :或运算符,相当于或者(两侧表达式都为假,则为假,否则为真)
! :逻辑取反运算符(改变单个表达式的真假)
二、if 语句
If语句执行流程
1.单分支结构(if语句)
If(表达式)
语句;
示例:
if ( score < 60 )
printf("该生成绩不合格");
if(score >= 60)
printf("该生成绩合格");
2.双分支选择结构(if else语句)
If(表达式)
语句1;
else
语句2;
示例:
if ( score < 60 )
printf("该生成绩不合格");
else
printf("该生成绩合格");
3.多分支选择结构(else if语句)
If(表达式1)
语句1;
else if(表达式2)
语句2;
else
语句3;
示例:
if (score < 60 && score >= 0)
printf("该生成绩不合格\n");
else if (score >= 60 && score <=100)
printf("该生成绩良好\n");
else
printf("输入错误\n");
4.多分支选择结构(If语句的嵌套)
If总是与距它最近的未匹配的else相匹配
{
If(表达式1)
语句1;
{
If(表达式2)
语句2;
else
语句3;
}
else
语句4;
{
If(表达式3)
语句5
else
语句6
}
}
示例:
if (score >= 0 && score <= 100)
{
if (score >= 60)
{
if (score >= 60 && score < 80)
printf("该生成绩良好\n");
else
printf("该生成绩优秀\n");
}
else
printf("该生成绩合格\n");
}
else
printf("输入错误\n");
三、switch 语句
语法形式:
swtich(表达式)
case 常量表达式1:语句块1
case 常量表达式2:语句块2
default : 语句块3
当表达式的值不为 case 1 和 case 2 时,执行 default 后面的语句。
注意:switch后面的表达式必须是整形表达式
case后面的值,必须是整形常量表达式
示例:
#include <stdio.h>
int main()
{
int n;
scanf("%d",&n);
switch(n%3)
{
case 0:
printf("整除\n");
break;
case 1:
printf("余数为1\n");
break;
case 2:
printf("余数为2\n");
break;
default:
printf("输入错误\n");
}
return 0;
}
输出结果:
注意:1. case 和后面的数字之间必须有空格
2. 每个 case 语句后面执行完后,需要加上 break 跳出 swtich 语句
如果去掉break,运行结果如下: