1、顺序结构
分支结构
循环结构
分支结构:
在C语言中,分支结构是一种控制程序执行流程的重要机制。它允许程序根据条件判断的结果,选择执行不同的代码块。C语言中主要有两种分支结构:if语句和switch语句。
逻辑运算
在C语言中,逻辑运算用于执行布尔逻辑操作。C语言提供了三种基本的逻辑运算符:逻辑与(&&)、逻辑或(||)和逻辑非(!)。
逻辑与(&&):只有当两个操作数都为真(非零)时,逻辑与的结果才为真。
逻辑或(||):只要两个操作数中有一个为真(非零),逻辑或的结果就为真。
逻辑非(!):逻辑非将操作数的布尔值取反。如果操作数为真,则结果为假;如果操作数为假,则结果为真。
算数运算
算术运算符包括:
- 加法运算符(+)
- 减法运算符(-)
- 乘法运算符(*)
- 除法运算符(/)
- 取模运算符(%)
- 自增运算符(++)
- 自减运算符(--)
关系运算符包括:
- 大于运算符(>)
- 大于等于运算符(>=)
- 小于运算符(<)
- 小于等于运算符(<=)
- 等于运算符(==)
- 不等于运算符(!=或<>)
运算优先级
算术>关系运算>逻辑运算> 赋值>逗号
在C语言中,运算符的优先级和结合性决定了表达式中操作数的计算顺序。以下是C语言中的优先级和结合性的一般规则:
- 括号(Parentheses):括号内的表达式具有最高优先级。例如:
(a+b)*c
。 - 一元运算符:例如
+
、-
、!
等。这些运算符比乘除和加减运算优先级高。 - 乘法、除法和取模:这些运算符的优先级高于加法和减法。例如:
a*b+c
先计算a*b
,然后再加上c
。 - 加法和减法:这些运算符的优先级相同。例如:
a+b-c
先计算a+b
,然后再减去c
。 - 关系运算符:例如
>
,<
,>=
,<=
,==
,!=
。这些运算符的优先级低于算数运算符。例如:在表达式a < b && b > c
中,首先比较a
和b
,然后再与b > c
的结果进行逻辑与运算。 - 逻辑运算符:例如
&&
(逻辑与)和||
(逻辑或)。这些运算符的优先级低于关系运算符。例如:在表达式a < b || b == c
中,首先比较a
和b
,然后再与b == c
的结果进行逻辑或运算。 - 赋值运算符:例如
=
、+=
、-=
等。这些运算符的优先级低于逻辑运算符。 - 逗号:逗号运算符在所有其他运算符中具有最低的优先级。它用于在一行中分隔多个表达式,并从左到右依次执行这些表达式。
if语句
if (条件表达式) {
// 如果条件表达式为真(非0),则执行这里的代码
} else {
// 如果条件表达式为假(0),则执行这里的代码(可选部分)
}
其中,条件表达式
是一个返回布尔值的表达式,用于判断程序应该执行哪个代码块。如果条件表达式的值为真(非0),则执行if语句后面的代码块;否则,如果提供了else部分,就执行else后面的代码块。
if的多分支语句
多分支语句
if (表达式1) //注意: 不能加分号
{
语句1
}else if (表达式2) //注意: 不能加分号
{
语句2;
}else if (表达式3)//注意: 不能加分号
{
语句3;
}else if (表达式n)//注意: 不能加分号
{
}else
{
}
判断 "表达式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匹配
switch语句
switch //多分支的情况
switch(表达式) //整型表达式
{
case 常量表达式: //1+b
语句;
break;
case 常量表达式:
语句;
break;
case 常量表达式:
语句;
break;
default: //默认
语句;
break;
}
含义:
求解 "表达式"
根据 结果 ,匹配 下面case后面的值
匹配上后,
则执行对应case下的语句 ,
直到遇到了break 或者是switch 右} (花括号)