栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++ 基础与深度分析 Chapter4 表达式基础与详述(算数、逻辑、位、赋值、自增减、其他运算符)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++ 基础与深度分析 Chapter4 表达式基础与详述(算数、逻辑、位、赋值、自增减、其他运算符)

文章目录
  • 算数操作符
  • 逻辑与关系操作符
  • 位操作符
  • 赋值操作符
  • 自增与自减运算符
  • 其他运算符
    • 成员访问操作符
    • 条件运算符:

算数操作符


一元、二元,都是针对操作数的个数。一元其实就是正负号。一元的优先级最高,比乘除都高。

int main()
{
    int a[3] = {1, 2, 3};
    int* ptr = a;
    cout << ptr + 1 << endl; // 0x7ffee7b946e0 支持指针加减法
    cout << *(ptr + 1) << endl; // 2
    cout << std::cend(a) - std::cbegin(a) << endl; // 3 2个指针的相减,不支持2个指针相加
}

除法会向0取整。(小数点直接去掉 )
%求余操作,直接收整数。

ppt公示。

逻辑与关系操作符




自己写代码的时候,一定要加括号。


注意这里和数学是不一样的。












位操作符



int main()
{
    signed char x = 3; // 00000011
    signed char y = 5; // 00000101
    cout << (x & y) << endl; // 1 00000001
    cout << (x | y) << endl; // 7 00000111
    cout << (x ^ y) << endl; // 6 00000110
}



左移右移,要注意符号位,原来符号是0或者1,补的时候,就是相同的。
左移1位,为乘以2
右移1位,为除以2.





赋值操作符







自增与自减运算符


前缀自增运算符,返回运算之后的值。后缀自增运算法,返回运算之前的值。

int main()
{
    int x = 3;
    int y;
    y = x++; // 后缀自增运算符,返回之前的值
    cout << x << endl; // 4
    cout << y << endl; // 3 先复制,再执行x++
}

int main()
{
    int x = 3;
    int y;
    y = ++x; // 前缀自增运算符,返回之后的值
    cout << x << endl; // 4
    cout << y << endl; // 4
}

其他运算符

成员访问操作符
struct Str
{
    int x;
};


int main()
{
    Str A;
    A.x;

    Str* ptr = &A;
    (*ptr).x; // 小括号这里不能删, 点的作用高于*,点是成员访问
    ptr->x; // ->访问指针所指向的对象的成员
}




->返回一个左值。

条件运算符:
int main()
{
    cout <<  (true ? 3 : 5) << endl; // 3 条件运算符,接受3个操作数
}
int main()
{
    int x = 1;
    int y = 2;
    true ? (++x) : (++y);
    cout << x << endl; // 2
    cout << y << endl; // 2
    // 条件表达式只执行一个条件,另一个条件不执行
}









转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/971456.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号