- ------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------
一.if基本概念
1.第一种格式
if (条件表达式)
{
语句;
...
}
特点:首先会判断条件表达式是否为真,如果条件表达式为真就执行if后面大括号中的内容
int age = 19;
if (age >= 18)
{
printf("成年人\n");
}
printf("执行完毕\n");
2.第二种格式
if (条件表达式)
{
语句;
...
}else
{
语句;
...
}
特点:选择题 要么执行if后面大括号中的内容 要么执行else后面大括号中的内容
int age = 12;
if (age >= 18) {
printf("成年人\n");
}else{
printf("再等等吧,不太着急\n");
}
3.第三种格式
if (条件表达式1)
{
语句;
...
}else if(条件表达式2)
{
语句;
...
}else if(条件表达式3)
{
语句;
...
}
...
else
{
语句;
...
}
特点:会从上至下的判断条件表达式,当条件表达式1为真就执行条件表达式1后面大括号中的内容,而其他都不执行,如果条件表达式1不为真就会判断条件表达式2是否为真,如果条件表达式2为真就会执行条件表达式2后面大括号中的内容,其他都不会执行,以此类推
int age = 28;
if (age == 1) {
printf("刚出生\n");
}
else if (age == 2)
{
printf("刚会走路\n");
}
else if (age == 18)
{
printf("成年人\n");
}
else if (age == 28)
{
printf("娶媳妇\n");
}
else
{
printf("人到黄昏\n");
}
二.if注意点
1.if的省略
if是可以省略大括号的(but 不推荐这样写
因为if省略大括号的时候当条件表达式为真会执行if后面的“第一条语句”
如果if省略大括号就代表着if后面的第一条语句和if是一个整体
int a = 4;
if (a > 5)
printf("a大于5\n");
printf("XXOO\n");// 这条语句和if没有关系
2.分
号问题
分号问题,分号是空语句
int a = 4;
if (a > 5); //分号也是一条语句,是一条空语句
printf("a大于5\n");
3.作用域
作用域不对
int a = 10;
if (a > 5)
{
//
变量拥有自己的作用域
int b = 22;
}
printf("b = %d\n", b);
4.作用域混乱
作用域混乱,if后面的第一条语句和if是一个整体,只有if条件满足才会执行int b = 22;
以后想在if后面定义变量必须加上大括号,明确变量的作用域
int age = 14;
if (age > 5)
int b = 22;
printf("b = %d\n", b);
终结:注意:因为C语言中任何数值都有真假性,有时候可能把== 误写成=, 为了解决这种问题,以后在书写判断一个数是否 == 或者 != 一个变量的时候把常量写前面。
注意:if 和 else 是一个整体, else会匹配离它最近的一个if。
注意:在日常开发中尽量不要省略大括号
---------------------- <a target="blank">ASP.Net+Android+IOS开发</a>、<a target="blank">.Net培训</a>、期待与您交流! ----------------------