控制语句
一、分支语句(选择结构)
if分支语句
单分支选择
if(条件表达式)
{
语句块A
}
例子:
定义两个整型变量a和b,通过比较它们的大小,求出较大者。
int a, b, max;
a = 4; //a赋初值为4
b = 2; //b赋初值为2
max = a; //假设a是a、b两者之间较大的数
if ( a < b ) //判断a是否小于b
{
//如果表达式为真,b就是最大值
max = b;
}
双分支选择
if(条件表达式)
{
语句块A
}
else
{
语句块B
}
备注:必有一个语句块会被执行
例子:输入你的成绩 打印及格与否
同样还是定义两个整型变量a和b,并比较它们的大小,求出较大者。
int a, b, max;
a = 4;
b = 2;
if ( a < b ) //判断a是否小于b
{ //第一个程序段
max = b; //如果表达式a < b为真,则b为最大值
}
else
{
//第二个程序段
max = a; //如果表达式a < b为假,则a为最大值
}
多分支选择
if(条件表达式)
{
语句块A
}
else if (条件表达式)
{
语句块B
}[else if (条件表达式)
{
语句块B
}...]
[else
{
语句块C
}
备注:
1、else if分支可以N个
2、else分支可选
if分支判断语句有以下3种分支块
if() {}
else if() {}
else{}
备注:
1、其中if(){}分支是必选的
2、else if(){}和else{}是可选的
3、else if(){}可多个
4、else{}至多只能有一个
5、书写顺序为 if(){} -> else if(){} -> else{}
switch分支语句
语法:
switch(表达式)
{
case 常量1:
语句A;
语句B;
语句C;
[break;]
[
case 常量2:
语句A;
语句B;
语句C;
[break;]
......
]
[
default:
语句A;
语句B;
语句C;
break;
]
}
备注:
break的作用:跳出分支
default分支块作用:当没有满足条件的分支,那么default分支会被执行
case分支块,可多个
default分支块至多一个
书写顺序先case分支块最后default分支块
条件运算符
C语言中唯一一个三目运算
a ? b : c简单理解方式为:
if(a)
{
return b;
}
else
{
return c;
}
例子:
1、1<2?4:5 4
a > b ? (c = a) : (c = b);//c存放最大值
等价于if语句
Int a = 10;
Int b = 30;
Int c = -1;
a < b ? (b = 1) : b > 20 ? (c = 2) : (c = 4);//短路现象
例如:
⑴ m<n ? x : a+3
等价于:(m<n) ?(x) :(a+3)
⑵ a++>=10 && b-->20 ? a : b
等价于:(a++>=10 && b-->20) ? a : b
⑶ x=3+a>5 ? 100 : 200
等价于:x= (( 3+a>5 ) ? 100 : 200 )