if语句介绍
1、流程控制
2、if的使用
a,先判断表达式(),如果表达式为真,执行语句块1,否则不执行。注意:后面的后续语句不受影响。
if(表达式/常量/变量)
{
语句块1
}
后续语句;
3、if-else语句
如果表达式为真,则执行语句块1,否则执行语句块2
if(表达式)
{语句块1
}else{
语句块2
}
4、if-else的嵌套问题
if(表达式1)
{语句块1
}else{
if(表达式2)
{语句块2
}else{
语句块3
}
}
4、if语句的高级用法
如果表达式1为真,则执行语句块1,否则判断表达式2,如果为真则执行语句块2,否则在判断表达式3,如果真执行语句块3,当表达式1、2、3都不满足,会执行最后一个else语句。 if-else if-else if-else
if(表达式1)
{语句块1
}else if(表达式2)
{语句块2
}else if(表达式3)
{语句块3
}else{
语句块4
}
5、if语句都使用注意点
(1)if(条件)可以直接写分毫“;”表示没有语句1,什么也没做
if(条件);//条件为假,直接运行语句2,3。条件为真,不做运算
语句2;
语句3 ;
(2)
if(条件)语句1;//条件为假,直接运行语句2,3。条件为真,运行语句1,2,3
语句2;//
语句3 ;
(3)
if(0){};//永远不执行{}
if(1){};//永远执行{}
(4)if语句结合return语句
if( )
return 0;//在一个函数中,return语句之后的语句都不会执行
(5)、if作用域问题
if(a=3){
int num = 10; //if 结构体内是不允许定义新变量的
}
printf(“num=%d\n”,num);
(6)、作用域疑惑,作用域混乱
if(a==3)
int num = 10;
printf(“a>3\n”);
return 0;
(7)省略大括号的分析
语句省略大括号应该逆顺序看程序,先找else,再往上寻找与之对应的if。添加{}
- int main(){
- int age;
- printf("请输入一个值:");
- scanf("%d",&age);
- if (age >= 0){
- if(age < 5){
- printf("小儿\n");
- }else{
- if(age < 10){
- printf("小孩\n");}
- if (age < 12){
- printf("小破孩\n");
- }else{
- printf("不知道\n");
- }
- }
- }
- return 0;
- }
复制代码 |