黑马程序员 C语言---关于if switch学习总结

---------------------- <a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>、<a href="http://www.itheima.com"target="blank">.Net培训</a>、期待与您交流! ---------------------- 

一,逻辑运算符

   &&;逻辑与
 格式: 条件表达式1&&条件表达式2
 返回值: 只有两个  真 (1)  假  (0)
 规则: 先判断条件表达式1是否为真.再判断条件表达式2是否为真,如果条件表达式1与条件表达式2都为真  则返  回真  否则返回假,
 口诀:  一假则假
 逻辑运算, 当前面一个表达式为假时,后边一个表达式就不再参与运算

   int a = 10;

   int b = 20;

   int result = (a > 15) && (b > 5);

   printf("result = %d\n", result);

  输出结果为0   一假则假


   ||,逻辑或
 格式:条件表达式1||条件表达式2
 返回值:只有两个 真(1)  假(0)
 规则: 先判断条件表达式1是否为真,再判断条件表达式2是否为真,如果条件表达式1或者条件表达式2为真  则返  回真
 口诀:  一真则真
 逻辑运算:当条件表达式1为真是就不会再判断条件表达式2

       int a = 10;

       int b = 20;

     int result = (a > 15) || (b > 5);

     printf("result = %d\n", result);

  输出结果是1    一真则真

     ! 逻辑非

 起始就取反, 真变假 假变真

 格式:!条件表达式;

 返回结果:只有两个真(1假(0

 运算结合方向:从右至左

   int a =10;

    int result = !!(a > 15);  //取反2次

    printf("result = %d\n", result); 

  输出结果是0也就是假   





二,三目运算符

 1.单目:
 条件表达式
 2.双目
 条件表达式1&&条件表达式2
 3.三目运算符
 格式:条件表达式?结果a : 结果b;
 规则: 当条件表达式为真的时候返回结果A  否则返回结果B

    int a = 40;

    int b = 50;

    int result = a > b ? a : b;

    printf("result = %d\n", result);

 输出结果50  

 注意点,  如果条件表达式为真,没有写结果a  默认返回1  例:

   int result = (a >1?:5);

   


三;if-基本概念

  第一种格式
 if(条件表达式)
 {
   语句
   ………
 }
 特点:首先会判断条件表达式是否为真,如果条件表达式为真就执行if后面大括号中的内容

  第二种格式  

 if (条件表达式)

 {

     语句;

     ...

 }else

 {

     语句;

     ...

 }

 特点:选择题 要么执行if后面大括号中的内容 要么执行else后面大括号中的内容

  第三种格式 

 if (条件表达式1)

 {

     语句;

     ...

 }else if(条件表达式2)

 {

     语句;

     ...

 }else if(条件表达式3)

 {

     语句;

     ...

 }

 ...

 else

 {

     语句;

     ...

 }

   特点:会从上至下的判断条件表达式,当条件表达式1为真就执行条件表达式1后面大括号中的内容,而其他都不  执行,如果条件表达式1不为真就会判断条件表达式2是否为真,如果条件表达式2为真就会执行条件表达式2后面大  括号中的内容,其他都不会执行,以此类推

    注意 if 和 else 是一个整体, else会匹配离它最近的一个if


 什么场合下用三目运算符,什么场合用if

     三目运算符好处:可以简化if else 

     坏处:如果进行过于复杂的运算非常不好实现, 因为它是一个运算符,所以必须有一个结果

     

     if 好处:比较灵活

     如果以后仅仅是求两个值的大小这种情况,比较简单的运算用三目运算符

     而如果要进行比较复杂的操作 用if

四;switch概念


 

 switch (条件表达式)// 注意,该条件表达式必须是返回值是整形

 {

     case 整数1: // 条件表达式 ==  整数1

        语句1;

        ...

        break;

     case 整数2:

         语句1;

         ...

         break;

    default:  //只有前面的case都不满足的情况下才会执行default

          语句1;

         break;

 }

  1.swithc中的default是可以省略的

    int age = 11;

    switch (age) {

        case 10:

            printf("A\n");

            break;


    }

    

    2.当省略default的时候 后面的语句不会执行

    switch (age) {

        case 10:

            printf("A\n");

            break;

        

            printf("B\n");//此处不会被执行

            break;

    }

    

    3.default的顺序可以随便放,不会影响执行结果

    switch (age) {

        default:// 只有所有的case都不满足的时候才执行default

            printf("B\n");

            break; 如果调换了default的顺序不能随便省略default后面的break

        case 10:// 当case或者default满足之后其它的case和default都失效了

            printf("A\n");

            break;

    }

    

 什么时候用switch,什么时候用if

     

     >switch只对固定的数据进行判断的时候使用,如果对区间的判断非常不利

       

     >if 是我们开发中经常使用的,因为if更为灵活

     

     >switch 的效率理论上 比if高


 ---------------------- <a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>、<a href="http://www.itheima.com"target="blank">.Net培训</a>、期待与您交流! ---------------------- 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值