C语言关系和逻辑运算符与分支语句

一. 关系运算符:

就是用来比较大小的

运算符

名称

大于

>=

大于等于

==

等于

<=

小于等于

小于

!=

不等于

    1. 运算符间不能有空格, 而且顺序不能被颠倒

    2. 可以直接用于基本数据类型, 但对于浮点数来说, 只能比较大小, 不能比较是否相等. 

     面试题: 分别写出BOOL, int, float. 指针类型的变量a与”零”的比较.

       bool: if( !a )

             if( a )

       int:if( 0 == a )

       float:const floatEXP = 0.000001

             if( a < EXP && a > -EXP )        // a在0.000001和-0.000001之间, 无限接近于0.

       指针: if(NULL i = a ) or if( NULL == a )

二. 逻辑运算符:

    1. 运算符类型:a

① &&与运算

||或运算

③ ! 非运算

2. 优先顺序:

   1).逻辑运算符之间的按由高到低顺序为:!(非) &&(与) ||(或)

   2).逻辑运算符和其他运算符优先级由高到低顺序为:

!(非)

算术运算符

关系运算符

&&和||

赋值运算符

3. 运算法则:

  &&: 有0则0, 全1为1

   || : 有1为1, 全0为0

    ! : 有1为0, 有0为1 (取反)

三. 短路运算:

1. 在”与”运算中, 如果第一个运算为0, 后面的就不作运算了.

2. 在”或”运算中, 如果第一个运算为1, 后面的就不作运算了.

: 只要运算没作完, 就叫短路运算, 不管后面还剩几个表达式或者前面作了多少个表达式的运算.

四. if语句:

   1. 语句格式:

 if(表达式1)

{

    语句块1

}

  else if(表达式2)

{

    语句块2

}

 else if(表达式3)

{

   语句块3

}

   ……

  else if(表达式n)

{

    语句块n

}

     else(表达式m)

{

    语句块m

}

五. switch:

表达形式:

switch(表达式)

{

  case 1: 常量表达式1: 语句组1

  case 2: 常量表达式2: 语句组2

  …

  case n: 常量表达式n: 语句组n

  break;

default: 语句组1

}

1). switch后跟的表达式只能是int, char, 枚举的

2). case里如果要定义变量, 要加大括号, 例:

    switch(表达式)

    {

      case1:

           {

                 // …..

         }

      break;

    }

3). 多个case可以共用一组语句:

int nInput = 0 ;

      scanf("%d", &nInput ) ;

      switch( nInput )

      {

      case1:

      case2:

      case3:

           {

                 printf("%d\n", nInput ) ;

           }

           break;

      }

4). 使用技巧:

    为防止丢失break, 先把结构搭起来, 再在结构内输入内容.

循环语句的使用

一. while循环:

   1. 反复执行的程序段称为循环体

   2. 循环变量: int i = 0 ; i为循环变量.

一般地, 默认一重循环写为int i = 0, 二重循环写为int j = 0 ;

   3. 一般格式:

      while( 一般是关系和逻辑表达式 )

     {

       循环体

      }

       后续语句 ;

①.  while后不能加分号, 加了就成死循环.

死循环: 循环体中无循环终止条件或循环条件永远为真.

解决方法: 通过breakreturn语句结束循环.

②.  死循环形式:

while(1)

{

  ....

}

4. while循环执行流程:

    首先判断循环中的条件是否为真, 如果为真, 则执行while循环体中的语句, 执行完毕后, 再回到条件那重新判断; 如果为假, 再跳过循环体,执行后面的条件.

二. do-while循环:

先执行循环体中的语句, 再判断条件真假, 如果为真则继续循环, 为假则停止循环. 就是说它至少执行一次循环. 一般格式为:

do

{

   循环体

}while(表达式) ;

后续语句;

do-while循环中while(条件)后面的分号必须要加, 否则编译报错.

三. for循环:

格式:

for( 初始化 ; 条件表达式 ; 增量 )

{

  循环体 ;

}

1. for( int i = 1 ; i < 6 ; ++i )

  在C语言中报错, 在C++中通过.

2. 死循环: for(  ; 1 ; )

3. for循环不仅可以用于循环次数已经确定的情况, 还可以用于循环次数不确定而只给出循环结束条件的情况.    

四. 其他:

   1. 题目: 计算1+2+3+4+5. 比较以下两种写法(结果一样):

      int i = 1 ;                             int  i = 0 ;

      int Sum = 0 ;                                  int Sum = 0 ;

        while( i <6 )                             while( i < 5 )

       {                                                   {

  Sum = Sum+ i ;                               ++i ;

  ++i ;                                                Sum =Sum + i ;

}                                                   }



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值