您的位置:首页 > 编程语言 > C语言/C++

黑马程序员——C语言笔记之if,if....else....,switch判断

2015-08-16 14:30 555 查看
------- android培训java培训iOS培训.Net培训、期待与您交流!
----------

if

一.if 

       1. 格式:if
(表达式/常量/变量) {     语句块       }
       2.原来:如果表达式为真就执行语句块里的内容,为假就不执行。

二.if-else-
   
 1.格式:if (表达式) {     
                        语句块  1    
                       }else{ 语句块2   }
       2.原理:如果表达式为真执行语句块1,表达式为假执行语句块2。
       3.注意:无论是真假都会执行一个语句块。
 例:思考与实现
            


  利用if-else-进行判断,当用户输入5时为真就回打印语句块1,如果不等于5的话就会打印语句块2。

三.if-else-嵌套
   
 1.格式: if(表达式1){
                 语句块1
              }else  if(表达式2){
                 语句块2
              }else   if(表达式3){
                  语句块3
              }else{                    }
       2.原理:表达式1为真就是执行语句块1,如果1为假2为真就执行语句块2,1.2都为假3为真就执行语句块3以此类推。
例:  思考与实现
          输入一个属于0~100的成绩,按0~59为(E),60~69为(D),70~79为(C),80~89

    为(B),90~100为(A)分成几等

       


使用if-else-嵌套,表达式1为真就是执行语句块1,如果1为假2为真就执行语句块2,1.2都为假3为真就执行语句块3以此类推。
四.if 使用注意:
     1.空语句 :表达式后面没有任何要执行的语句。
         例:if (a==3);
      2.if之后的代码块,如果只有一个语句块的话可以省略大括号。
         例:if(a>3)
                 printf("a>2\n");
                 print("a>3\n");
         如果条件为真两句话都会打印,为假的话printf("a>2\n");这句话不会打印,是因为if后面省略了大括号,只影响一句话。
      3.永真永假式
         例:if (1) {                  }       
                大括号里永远执行。    
                if (0){                    }
                    大括号里永远不执行。
      4.if语句结合return语句。
         例:if (a==3)
                 return 0;
                 printf("a>3");
                 return语句之后的语句都不会执行,所以不会执行printf("a>3");这句话。
       5.if的作用域
         例:if(a==3){
                    int   no=10;
               }
               printf("no=%d",no);
              no 是打印不出来的,因为语句块相当于一个代码块,执行完会释放掉。

switch
一.switch
      1.格式:switch(表达式){
                     case  常量表达式1:语句块1
                     case  常量表达式2:语句块2
                     case  常量表达式n:语句块n
                     defauit  :语句n+1

        2.原理 :1)表达式的值逐个与其后的常量表达式的值相比较,当表达式的值与某个case后面的常量表达式相等
                            时,就执行该常量表达式后面的语句,然后不再进行判读,继续执行该语句后面所有case后的语                                 句。
                       2)如果表达式和case后的常量表达式均不相等,就执行defauit的后面的语句。
二.case穿透问题
    
         
1.case穿透视:当执行某个case后面的语句之后,并没有结束,而是继续执行下面case后的语句。
        2.防止case穿透:在每一个case语句的后面加上一句“break”;。
            break作用:结束switch语句。
      例:思考与实现
          


                  


          使用switch判断是哪个季节,像12.1.2三个月份就是case的穿透效果,注意在每个季节后面要加break,防止穿
          透。
三switch使用注意:
     
   1.switch表达式的类型
               1).可以是整型的变量
                      例:num=10;
                             switch(num)
               2).可以是整型的常量
                      例:switch(10)
               3).可以是返回值是整型的表达式
                      例:switch(5+5)
               4).可以是转换为int类型的表达式
           2.case后可以有多行语句,可以加括号,也可以省略括号。
           3.可以加break,也可以不加。
           4.case语句的注意
              1).case语句的格式:case  常量表达式:(空格和冒号不能省略)
              2).可以是常量
                    例:case  10:
              3).可以是常量表达式
                    例:case  5+5:
              4).default语句位置可以任意放
              5).case的穿透问题同样适用于default
              6).default语句放到switch语句最后,可以不用加break,如果不是放在最后,必须加上break
              7).case 后面不能是实数
              8).case语句后,默认的第一句话不能定义变量,如果第一句话非要定义的话要加上大括号
         
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: