C语言中if语句与switch语句

发布时间:2024年01月20日

学习语句前先了解一下运算符的优先级以及结合性。

关系运算 (大小关系) ( >???>=? <? ?<=? ?==? ? != )

关系运算的结果:?真 ?1? ? ??假 ?0

逻辑运算 :
与(&&)?
?规则: 一假则假?
?表达式1 && 表达式2?
?或(?||)
? 规则: 一真则真? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 表达式1 || 表达式2 ??
非 (!)?
? 规则:真假相对

&&截断特性(短路特性)
?||也有截断特性

一、if 语句
if 语句的3 种形式
C语言提供了 种形式的 if 语句。
1? 、形式1:
? if (表达式) //表达式 做判断的条件?
? {
? ? 语句
? }? ? ? ? ? ? ? ?//复合语句?
?含义:
? ? 首先,判断 "表达式"?
?? ?真
?? ? ? 执行 语句
?? ? ? 语句执行完,表示if语句结束,程序继续往下
?? ?假
?? ? ? 表示if语句结束,程序继续往下
2、形式2:
?if (表达式)
?{
? ?语句1
?}else?
?{
? ?语句2
?}
含义:
? ?首先 判断"表达式"
? ?
? ?真:
? ? ?执行 ”语句1"
?? ? 语句1 执行完,表示if语句结束,程序继续往下
? ?假:
? ? ? 执行 ”语句2"
?? ? 语句2 执行完,表示if语句结束,程序继续往下

3、形式3: 多分支语句

if (表达式1) //注意: 不能加分号
{
? ?语句1
}else if (表达式2) //注意: 不能加分号
{
? ?语句2;
}else if (表达式3)//注意: 不能加分号
{?
? ?语句3;
}else if (表达式n)//注意: 不能加分号
{
? ?
}else
{
??
}

if-else-if?
含义:
判断 "表达式1"
真 执行 "语句1" ? 语句1 执行完,表示if语句结束,程序继续往下?
假?
? ?判断"表达式2"?
? ?真 执行 "语句2" ? 语句2 执行完,表示if语句结束,程序继续往下?
? ?假?
?? ? ? 判断"表达式3"?
?? ? ? 真 执行 "语句3" ? 语句3 执行完,表示if语句结束,程序继续往下?
?? ? ? 假?
?? ? ? ? ...
?? ??? ? 判断"表达式n"?
?? ? ? ? 真 执行 "语句n" ? 语句n 执行完,表示if语句结束,程序继续往下?
?? ? ? ? 假 ?
?? ??? ? ? ?执行 else后面语句 ,执行完,程序继续往下

注意:
? ?1.不存在单独的else语句 ,else出现一定有一个if与之对应?
? ?2.else 与 if匹配规则?
? ? ?一定从最里面开始匹配?
?? ? else 与 最近 前面一个if匹配

条件运算:

?表达式1 ? 表达式2 : 表达式3
?
?问一问 表达式1 ? --是真 还是 假?
?
?真 ,执行 表达式2?
?假 ,执行 表达式3

二、switch语句

switch(表达式)? ? ? ? ? ? ?//整型表达式?
{
?? ?case 常量表达式: ?//1+b?
?? ? ? ? 语句;
?? ??? ? break;
?? ?case 常量表达式:
?? ? ? ? 语句;
?? ??? ? break;
?? ?case 常量表达式:
?? ??? ? 语句;
?? ??? ? break;
??? ?default: //默认?
?? ? ? ? 语句;
?? ??? ? break;
}

含义:
? 求解 "表达式"
? 根据 结果 ,匹配 下面case后面的值?
? 匹配上后,
? 则执行对应case下的语句 ,
? 直到遇到了break 或者是switch 右} (花括号) ?

注意:
? 1.switch 后表达式 需要是一个 整型表达式?
? 2.case后面是,常量表达式,不能出现变量

文章来源:https://blog.csdn.net/qq_53476859/article/details/135705859
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。