C++证道之路第四章表达式

一、基础

表达式的基本组成部分包括变量、常量、运算符和括号。它们可以组合成更复杂的表达式,如a + b * c

二、算术运算符

算术运算符用于执行基本的数学运算,包括加、减、乘、除和取模:

  • + 加法
  • - 减法
  • * 乘法
  • / 除法
  • % 取模(仅对整数有效)

三、逻辑和关系运算符

这些运算符用于进行比较和逻辑判断:

  • == 等于
  • != 不等于
  • < 小于
  • > 大于
  • <= 小于或等于
  • >= 大于或等于
  • && 逻辑与
  • || 逻辑或
  • ! 逻辑非

四、赋值运算符

赋值运算符用于给变量赋值,最常见的是=。还有复合赋值运算符,如+=, -=, *=, /=, %=, &=, |=, ^=, <<=, >>=

五、递增和递减运算符

++-- 分别用于递增和递减变量的值。它们可以作为前缀或后缀使用:

六、成员访问运算符

用于访问类或结构体的成员:

. 成员访问运算符

-> 成员访问运算符(用于指针)

struct Point {
    int x;
    int y;
};

Point p = {1, 2};
p.x = 3; // 使用 . 运算符

七、条件运算符

int result = (condition) ? trueValue : falseValue;

八、位运算符

用于按位操作整数:

& 位与

| 位或

^ 位异或

~ 位非

<< 左移

>> 右移

九、sizeof运算符

int i;
std::cout << sizeof(i) << std::endl; // 输出4或8,取决于系统

十、逗号运算符

用于执行多个表达式,返回最后一个表达式的值:

int a, b, c;
c = (a = 3, b = a * 4, b + 3); // c将得到b的值,即15

十一、类型转换

可以显式地将一种数据类型转换为另一种类型:

int i = 10;
float f = static_cast<float>(i);

十二、运算符的优先级表

C++中有许多运算符,它们有不同的优先级。以下是一个简化的优先级列表(从高到低):

() (函数调用, 括号)
[] (下标)
->*, .* (成员指针)
->, . (成员访问)
++, -- (递增, 递减)
!, ~, +, -, (类型) (逻辑非, 位非, 正号, 负号, 类型转换)
*, /, % (乘法, 除法, 取模)
+, - (加法, 减法)
<<, >> (左移, 右移)
<, <=, >, >= (比较运算符)
==, != (相等性运算符)
& (位与)
^ (位异或)
| (位或)
&& (逻辑与)
|| (逻辑或)
? : (条件运算符)
= (赋值)
, (逗号)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值