分支
比较三个数的大小
int a,b,c;
scanf("%d %d %d", &a, &b, &c);
int max = 0;
if ( a>b ) {
if ( a>c ) {
max = a;
} else {
max = c;
}
} else {
if ( b>c ) {
max = b;
} else {
max = c;
}
}
printf("The max is %d\n", max);
嵌套的判断
当if 的条件满足或者不满足的时候要执行的语句也可以是一条if或if-else语句,这就是嵌套的if语句
if ( code == READY )
if ( count <20 )
printf("一切正常\n");
else
printf("继续等待\n");
else的匹配
else总是和最近的那个if匹配
tips
在if或else后面总是用{ }
即便只有一条语句的时候
分段函数
f(x)=-1; x<0
0; x=0
2x; x>0
if ( x < 0 ) {
f = -1;
} else if ( x == 0 ) {
f = 0;
} else {
f = 2 * x;
}
级联的if-else if
if ( exp1 )
st1;
else if ( exp2 )
st2;
else
st3;
if语句常见错误
1.忘了大括号
2.if后面的分号
3.错误使用==和=(if只要求( )里的值是零或非零
4.使人困惑的else
warning 警告
代码风格
1.在if和else之后必须加上大括号形成语句块
2.大括号内的语句缩进一个tab的位置
多路分支:switch-case语句
if-else
if ( type==1 )
printf("你好");
else if ( type==2 )
printf("早上好");
else if ( type==3 )
printf("晚上好");
else if ( type==4 )
printf("再见")
else
printf("啊,什么啊?")
switch-case
switch ( type ) {
case 1:
printf("你好");
break;
case 2:
printf("早上好");
break;
case 3:
printf("晚上好");
break;
case 4:
printf("再见");
break;
default:
printf("啊,什么啊?");
}
switch-case
1.控制表达式只能是整数型的结果
2.常量可以是常数,(C99)也可以是常数计算的表达式
3.根据表达式的结果,寻找匹配的case,并执行case后面的语句,一直到break为止
4.如果所有的case都不匹配,那么就执行default后面的语句;如果没有default,那么就什么都不做