zoukankan      html  css  js  c++  java
  • 【C语言疯狂讲义】(三)C语言运算符

    1、运算符:

     

         连接两个操作数(常量、变量)的符号

         用运算符依照一定的规则连接的式子称为表达式

     

         运算符的分类:

     

         1)操作数的个数:

     

            单目运算(++     sizeof    !

            双目运算符:。。。

            三目运算符:  ?: 

     

         2) 功能:

     

            算术运算符、关系和逻辑运算、位运算

     

     2、算术运算符

     

        1)什么东西?

           进行算术的运算,总计5

     

           +  -  *  /  %

           

           双目运算符

     

           a+b   a*3   b/5    10%3


     

        2)优先级

     

           * /   3

           + -   4 

           乘除的优先级要高于加减的

     

        3)结合性

     

           前提:优先级同样

           左结合:从左到右结合计算

     

           int a=3,b=2;

           a+b*3/1-5

        

           --> a+6-5 

           --> 4

     

        4)注意事项

     

           % 求余数

      

           m%n求余数

     

           m = 0   结果是 0

           n = 0   结果无意义,n不能为0

           m > n   结果正常取余数

           m < n   结果是 m

     

     3、赋值运算符

       

         1)什么东西?

     

             =   作用:把等号的右側的值(常量、表达式)赋值给等号左边的变量

                 注意:等号的左边一定要是变量

     

                      a+2 = b+2 (错误的)  10=a(错误的)

     

             a = 2;  b=a+3;

     

         2)优先级

     

            14

     

         3)结合性

     

            右结合:从右至左

            int a,b,c,d;

            a = b = c = d = 0;

     

            int a=b=c=d=0;(错误的)

     

         4)注意事项

     

            复合赋值运算符:总共同拥有5

     

            +=    a+=2;--> a = a+2;

            -=    a-=2;--> a = a-2;

            *=    。。

    。。

            /=

            %=

     

     

     4、自增、自减运算符

     

         1)什么东西?

     

            ++ --  相当于让运算符连接的操作数自身的值+1或者-1

     

            格式: 变量名++      ++ 变量名

                  变量名--      -- 变量名

     

                  让变量的值自己主动的+1或者-1


         2)优先级

       

             2

     

         3)结合性


             右结合

             

             (a++)+(++b)

             

             -a++  -->  -(a++)

     

         4)注意事项

     

             技巧:

     

             int a=3;         a++        ++a

         

             表达式的值          3          4

     

             a变量的值           4          4

     

            

             假设a++符号的前面。先取出a的值作为表达式的值,然后a自身值+1

                口诀:先用后变

             假设a++符号的后面,先让a自身值+1,然后取出a的值作为表达式的值

                口诀:先变后用

     

     5sizeof运算符

     

         1)什么东西?

            计算常量、变量、数据类型在我们内存中占用的字节数

     

         2)使用方法

     

            常量上   sizeof(10)  sizeof(2.3)  sizeof('a')  

                      ---> sizeof 10   sizeof 2.3  

     

                      sizeof("a")  //2

     '

            变量上:int a;  sizeof(a);

     

            数据类型上:sizeof(int)   sizeof(float)  sizeof(char)

     

         3)结合性

     

         4)注意事项

     

            sizeof不是第一个函数,是一个运算符

            sizeof('a') 4个字节。字符型的常量在C标准的编译中用int型存储的

     

     6、关系运算符

         真假性问题:

     

              全部的数值都有真假性

     

              0 就真(1)      0就是假(0)

     

         1)什么东西?

     

            推断操作数之间的关系,总计有6


            >    大于

            <    小于

            >=   大于等于

            <=   小于等于

            ==   等于

            !=   不等于

     

            双目运算符

       

            a>3   b>a+2;   1>2

     

         2)优先级

     

            6

     

         3)结合性

     

            左结合    

      

            a = 1>2<3>0;

                ((1>2)<3)>0

                    1>0

     

         4)注意事项

     

     7、逻辑运算符

     

         1)什么东西?

     

            很多其它的时候是推断多个条件是否同一时候成立(同一时候为1

     

            双目运算符

     

            &&   逻辑与&&符号两边的表达式都必须为真

     

                 口诀:同真为真   一假则假

     

            ||   逻辑或 ||符号两边的表达式有一个为真。结果就为真

     

     

                 口诀:同假为假  一真则真

     

            !    逻辑取反 (单目运算。右结合)

     

                 口诀:真变假     假变真

     

         2)优先级

     

                        2

            &&             11

            ||             12

     

     

         3)结合性

     

            左结合

     

         4)注意事项

     

            短路的问题:

     

                掌握口诀即可 

     

                a && b+2 || b-5

     

     8、条件运算符

     

         1)什么东西?

     

            ?

    :

     

            进行了一个简单的推断

            

            a>b?a:b  -->取出ab中的最大值

     

            先推断a>b是否为真:

     

                     假设为真:a的值作为条件表达式的值返回

                     假设为假:b的值作为条件表达式的值返回

     

         2)优先级

     

            13

     

         3)结合性

     

            左结合

     

            (num1>num2?num1:num2)>num3 ?

    num1>num2?num1:num2 :num3

     

         4)注意事项

  • 相关阅读:
    对C# .Net4.5异步机制测试
    权限系统设计
    C#基础知识
    eclipse+pyDev
    Ubuntu下使用sublime text进行py开发
    110_02 补充模块:BeatifulSoup模块
    034 如何判断一个对象是否是可调用对象
    037 简单计算器实现
    036 re模块的小练习
    035 用Python实现的二分查找算法(基于递归函数)
  • 原文地址:https://www.cnblogs.com/claireyuancy/p/6766951.html
Copyright © 2011-2022 走看看