黑马程序员技术交流社区

标题: if语句分析。上课做的笔记 [打印本页]

作者: 深情眸    时间: 2015-4-12 01:04
标题: if语句分析。上课做的笔记
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。添加{}
  1. int main(){
  2.     int  age;
  3.     printf("请输入一个值:");
  4.     scanf("%d",&age);
  5.     if (age >= 0){
  6.     if(age < 5){
  7.         printf("小儿\n");
  8.       }else{
  9.          if(age < 10){
  10.              printf("小孩\n");}
  11.               if (age < 12){
  12.               printf("小破孩\n");
  13.                }else{
  14.              printf("不知道\n");
  15.           }   
  16.        }
  17.      }
  18.        return 0;
  19. }
复制代码

作者: kaiyan1208    时间: 2015-4-12 02:21
好贴 好笔记

作者: 深情眸    时间: 2015-4-12 09:35
kaiyan1208 发表于 2015-4-12 02:21
好贴 好笔记


作者: 耿小强    时间: 2015-4-12 09:35
好笔记,很细致
作者: caishipi    时间: 2015-4-12 10:10
没有笔记的习惯,不过现在要改变下,向楼主学习
作者: jackchen    时间: 2015-4-12 11:27
好厉害啊!1
作者: 可乐zj    时间: 2015-4-12 11:31
很详细很好,赞一个
作者: 糊涂娃    时间: 2015-4-13 22:53
哈哈 签好我没有记笔记...




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2