暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

C++基础学习:第四节-运算符

Cpp入门到精通 2024-01-10
55




点击蓝字 关注我们


c++基础学习

第四节 运算符


C++运算符用于执行各种操作,下面是一些常见的C++运算符:



算术运算符用于执行基本的数学运算,如加法(+)、减法(-)、乘法(*)、除法(/)、取模(%)等

      int a = 11;
    int b = 10;
    cout <<"a+b="<< a + b << endl;//加法运算
    cout << "a-b=" << a - b << endl;//减法运算
    cout << "a*b=" << a * b << endl; //乘法运算
    cout << "a/b=" << a b << endl;//除法运算
    cout << "a%b=" << a % b << endl;//取模运算(取余)

    结果如下:

      a+b=21
      a-b=1
      a*b=110
      a/b=1
      a%b=1



      赋值运算符用于将值赋给变量,如等号(=)、加等(+=)、减等(-=)等。

         int c;
        c = a + b;//赋值运算
        cout << "c=" << c << endl;
        a += 1;//a=a+1
        cout << "a=" << a << endl;
        a -= 1;//a=a-1,a此时已经变成新值12,此运算结果为11
        cout << "a=" << a << endl;
        a *= 2;//a=a*2
        cout << "a=" << a << endl;
        //以此类推/或%

        结果如下:

          c=21
          a=12
          a=11
          a=22



          比较运算符用于比较两个值,如相等(==)、不等(!=)、大于(>)、小于(<)等。

              int d;
            d = a > b;//比较运算符,结果为1或0,1为真,0为假
            cout << "d=" << d << endl;
            d = (a == b);//"=="为数学中的等于号,"="为赋值号
            cout << "d=" << d << endl;//a==b为假,符号表示为a!=b
            //以此类推!=,<,>=.<=;

            结果如下:

              d=1
              d=0



              逻辑运算符用于执行逻辑运算,如与(&&)、或(||)、非(!)等。

                  int m1 = 1;//非0为真
                int m2 = 0;//0代表假
                int m0;
                m0 = m1 && m2;//与运算符,全真为真,有假为假
                cout << "m0=" << m0 << endl;
                m0 = m1 || m2;//或运算符,有真为真,全假才假
                cout << "m0=" << m0 << endl;
                m0 = !m1;//非运算符,取反,m1为假,则m0为真;m1为真,则m0为假
                cout << "m0=" << m0 << endl;

                结果如下:

                  m0=0
                  m0=1
                  m0=0

                  位运算符用于对二进制位进行操作,如按位与(&)、按位或(|)、按位取反(~)等。


                      int a1 = 5;//5的2进制表示0101
                    int b1 = 4;//4的2进制表示0100
                    int c = a1& b1;//与运算符(&):对两个操作数的每个位执行逻辑与操作。
                    cout << "a1&b1=" << c << endl;
                    int d = a1 | b1;//或运算符(|):对两个操作数的每个位执行逻辑或操作。
                    cout << "a1|b1=" << d<< endl;
                    int e = ~a1;//非运算符(~):对操作数的每个位执行逻辑非操作,即取反。
                    cout << "~a1=" << e << endl;
                    int f = a1 ^ b1;//异或运算符(^):对两个操作数的每个位执行逻辑异或操作。
                    cout << "a1^b1=" << f << endl;//0101^0100为0001,位相同为0,位不同为1
                    int g1 = a1<<2;//左移运算符(<<):将操作数的所有位向左移动指定的位数。
                    cout << "a1<<2=" << g1 << endl;//0101左移两位,010100
                    int g2 = b1>>2;//右移运算符(>>):将操作数的所有位向右移动指定的位数。
                    cout << "b1>>2=" <<g2 << endl;//0100右移两位0001

                    结果如下:

                      a1&b1=4
                      a1|b1=5
                      ~a1=-6
                      a1^b1=1
                      a1<<2=20
                      b1>>2=1

                      条件运算符(三元运算符)使用“?:”来根据条件选择值。

                      语法为:条件语句?值1:值2;含义为:条件语句正确结果为值1,不正确结果为值2,例子如下:

                          int a = 7;
                        int b = 5;
                        int c = (a > b) ? a : b;
                        cout << "a和b的较大值为:" << c<< endl;

                        结果如下:

                          a和b的较大值为:7

                          如果把a和b值交换呢?

                              int a = 5;
                            int b = 7;
                            int c = (a > b) ? a : b;
                            cout << "a和b的较大值为:" << c<< endl;

                            结果如下:

                              a和b的较大值为:7


                              递增和递减运算符用于增加或减少变量的值,如递增(++)、递减(--)。

                                  int a = 5;
                                a++;
                                cout << "a=" << a << endl;
                                int b = 7;
                                b--;
                                cout << "b=" << b<< endl;

                                结果如下:

                                  a=6
                                  b=6

                                  成员访问运算符用于访问类、结构体和联合的成员,如点运算符(.)和箭头运算符(->),后续章节中讲述。



                                  运算符优先级

                                  c++运算符的优先级确定表达式中项的组合。这会影响到一个表达式如何计算。某些运算符比其他运算符有更高的优先级,例如,乘除运算符具有比加减运算符更高的优先级。以下从上到下为优先级从高到低比较。

                                  类别 运算符 结合性 
                                  后缀 () [] -> . ++ - -  从左到右 
                                  一元 + - ! ~ ++ - - (type)* & sizeof 从右到左 
                                  乘除 * % 从左到右 
                                  加减 + - 从左到右 
                                  移位 << >> 从左到右 
                                  关系 < <= > >= 从左到右 
                                  相等 == != 从左到右 
                                  位与 AND 从左到右 
                                  位异或 XOR 从左到右 
                                  位或 OR 从左到右 
                                  逻辑与 AND && 从左到右 
                                  逻辑或 OR || 从左到右 
                                  条件 ?: 从右到左 
                                  赋值 = += -= *= = %=>>= <<= &= ^= |= 从右到左 
                                  逗号 从左到右 





                                  END




                                  往期推荐


                                   C++基础学习:第一节-数据类型   

                                  C++基础学习:第二节-变量与常量

                                  C++基础学习:第三节-变量作用域

                                  文章转载自Cpp入门到精通,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                                  评论