黑马程序员技术交流社区
标题:
分支语句if
[打印本页]
作者:
爱楚楚
时间:
2015-7-15 22:48
标题:
分支语句if
1、 格式:
1)一般形式(第一种形式):表示如果表达式为真,执行语句块1,否则不执行。
if(表达式)
{ 语句块1
} 后续语句;
如 if(a==5){
printf("恭喜你");
}
2)第二种形式:
if(表达式1){
语句块1;
}else{
语句块2;
}
语意: 首先要获得表达式1的值
真(1): 执行语句块1
假(0): 执行语句块2
注意:这种形式,不管表达式1的值是真是假,都会执行一个代码块
3)第三种形式:
嵌套的if语句的使用
if(表达式1){
语句块1;
if(表达式2){
语句块3; //表达式1为真 表达式2为真
}else{
语句块4; // 表达式1为真 表达式2为假
}
}else{
语句块2;
if(表达式3){
语句块5; //表达式1为假 表达式3为真
}
}
4)if...else if....else
if(表达式1){
语句块1;
}else if(表达式2){
语句块2;
}else if(表达式3){
语句块3;
}.....
.....
else{
语句块n//所有表达式的值都为假的情况
}
2、if 语句使用注意点
1)if(条件) 可以直接写分号 “;” 表示什么也不干 “;” 空语句
2)if(条件) return 0; 程序不会往下执行了,直接退出
3)if(1)、if(-1) 表示永真 if(0) 表示为永假
4)if语句的作用域问题
if (age > 10) { printf("已经懂事了\n");
int num = 1000; }
printf("num = %d\n",num); //出错
5)if语句的作用域紊乱
6)if语句可以省略代码块
1))if (a<3); //if控制的代码块 是空得
//printf("a = %d\n",a);
2))if语句的代码块如果只有一句话,可以省略大括号
if(a<3)
// printf("向钱看,向后赚\n");
3))省略扩号的if和else
if(a>3)
printf("向钱看,向后赚\n");
else
printf("a = %d\n",a);
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2