选择结构,也成分支控制结构。

单分支选择结构(if)

if (表达式) 语句1

例如

1
2
if (a>b) max = a;
if (a<=b) max = b;

双分支选择结构(if-else)

就是在 if 后面加上 else ,组成if-else语句。

if (表达式) 语句1
else        语句2

例如

1
2
if (a>b)   max = a;
else max = b;

如果语句不止一条,需要加上花括号:

1
2
3
4
5
6
7
8
if(表达式)
{

}
else
{

}

条件运算符(?:)

条件运算符是C语言中唯一的一个三目运算符,运算时需要三个操作数。

表达式1?表达式2:表达式3

判断表达式1,满足就执行表达式2,不满足就执行表达式3

多分支选择结构(if-else嵌套)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
if(表达式)
{

}
else
{
if(表达式)
{

}
else
{

}
}

开关语句(switch)

当问题需要讨论的情况较多(一般≥3种时),通常使用开关语句来代替条件语句。

1
2
3
4
5
6
7
8
9
switch(整型变量或字符型变量)
{
case 常量1:语句1;break;
case 常量2:语句2;break;
case 常量3:语句3;break;
...
case 常量n:语句n;break;
default:语句n+1;break; //注意最后一行别漏写
}

其中,如果有几种相邻的 case 行执行的语句相同,只保留最下面的语句和 break 即可。

逻辑运算符及常用运算符

逻辑运算符 含义 类型
! 逻辑非 单目
&& 逻辑与 双目
丨丨 逻辑或 双目

常用运算符:

  • 一元运算符:逻辑非、求相反数-++--sizeof类型强制转换等
  • 算术运算符:+ - * / %
  • 关系运算符:< <= >= > == !=
  • 逻辑运算符:逻辑与&&、逻辑或||
  • 赋值运算符:= += -= *= /= %=