第2章 C语言的赋值运算符、复合运算符与逗号运算符 (十一)

发布于:2023-01-13 ⋅ 阅读:(247) ⋅ 点赞:(0)

文档视频讲解链接地址

腾讯课堂视频链接 : 13_表达式_复制与复合运算符
腾讯课堂视频链接 : 14_表达式_逗号运算符

2.13 赋值运算符与赋值复合运算符

1. 赋值运算符

  • 赋值运算符为“=”,其运算的一般形式如下:
    <左值表达式> = <右值表达式>

  • 赋值复合运算符其运算的一般形式如下:
    < 变量> <操作符>= <表达式>

  • 相当于下列式子:
    <变量> = <变量> <操作符> <表达式>

  • 例如:

    x=10;
    x=y=15;
    

2. 赋值复合运算符

  • 赋值复合运算符一共有10个

  • 赋值复合运算符如下:
    01-c-44

  1. 实例 14

    • 源程序:

      01-cbase\14-fuhe.c
      
    • 源代码:

      #include <stdio.h>
      int main(int argc, char const *argv[])
      {
          int a = 10 ; 
          int b = 8  ; 
          a += b;     // a = a + b ; 
          printf("a=%d\n",a);
      
          a = 10 , b= 8 ; 
          a -= b;     // a = a - b ; 
          printf("a=%d\n",a);
      
          a = 10, b = 8;
          a *= b;     // a = a * b ; 
          printf("a=%d\n",a);
      
          a = 10, b = 8;
          a /= b;     // a = a / b ; 
          printf("a=%d\n",a);
      
          a = 10, b = 8;
          a %= b;     // a = a % b ; 
          printf("a=%d\n",a);
      
          a = 10, b = 8;
          a &= b;     // a = a & b ;  
          //10: 0000 1010 
          // & 
          //8 : 0000 1000 
          //  : 0000 1000
          // 0x8
          printf("a=%d\n",a);
      
      
          a = 10, b = 8;
          a |= b;     // a = a | b ;  
          //10: 0000 1010 
          // | 
          //8 : 0000 1000 
          //  : 0000 1010
          // 0xa
          // 10
          printf("a=%d\n",a);
      
          a = 10, b = 10;
          a ^= b;     // a = a ^ b ;  
          printf("a=%d\n",a);  // a = 0 
      
          a = 10, b = 8;
          a <<= b;     // a = a << b ;  
          // 高位移出, 低位补0  a= a* 2^8 
          // 0 
          printf("a=%d\n",a);  // a = 2560 
      
          a = 10, b = 8;
          a >>= b;     // a = a >> b ;  
          // 低位移出, 高位补0(符号位)  a= a / 2^8 
          // 0 
          printf("a=%d\n",a);  // a = 0
      
          return 0;
      }
      
    • 运行结果:

      a=18
      a=2
      a=80
      a=1
      a=2
      a=8
      a=10
      a=0
      a=2560
      a=0
      

2.14 逗号运算符

  1. 逗号运算符

    • 在C语言中,可以把多个表达式用逗号联接起来构成一个更大的表达式。其中的逗号称为逗号运算符,所构成的表达式称为逗号表达式。

    • 逗号表达式中用逗号分开的表达式分别求值,按照从左向右的顺序依次求值,以最右边一个表达式的值作为整个表达式的值。

  2. 例如:

    float  x=10.5,  y=1.8,  z=0;
    
    z = (x+=5, y = x+0.2) ;     
    // z 赋值为15.7, x赋值为15.5, y赋值为15.7
    
    z = (x=y=5, x +=1) ;      
    // z 赋值为6, x赋值为6,  y赋值为5
    
    z = (x=5, y = 6, x+y ) ;     
    // z 赋值为11, x赋值为5,  y赋值为6
    
    z = (z=8, x=5, y = 3) ;     
    // z 赋值为3, x赋值为5, y赋值为3
    

网站公告

今日签到

点亮在社区的每一天
去签到