📅  最后修改于: 2023-12-03 15:14:00.851000             🧑  作者: Mango
在 C++ 中,可以使用数值、变量、运算符等组成表达式。求值表达式就是计算这些表达式的值。
C++ 中的基本数据类型主要包括整型、浮点型、字符型和布尔型。其中,整型包括 int
、short
、long
和 long long
;浮点型包括 float
和 double
;字符型是 char
;布尔型是 bool
。
int x = 10;
float y = 3.14;
char c = 'a';
bool b = true;
C++ 中的运算符可以分为算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符等。
算术运算符用于数值计算,例如加法 +
、减法 -
、乘法 *
、除法 /
、取反 -
(负号)和取模 %
(求余数)。
int a = 10, b = 3;
int c = a + b; // c = 13
int d = a - b; // d = 7
int e = a * b; // e = 30
int f = a / b; // f = 3
int g = -a; // g = -10
int h = a % b; // h = 1
关系运算符用于比较两个数据的大小关系,例如大于 >
、小于 <
、等于 ==
、不等于 !=
、大于等于 >=
和小于等于 <=
。
int a = 10, b = 3;
bool c = a > b; // c = true
bool d = a < b; // d = false
bool e = a == b; // e = false
bool f = a != b; // f = true
bool g = a >= b; // g = true
bool h = a <= b; // h = false
逻辑运算符用于处理逻辑值 true
和 false
,例如与 &&
、或 ||
和非 !
。
bool a = true, b = false;
bool c = a && b; // c = false
bool d = a || b; // d = true
bool e = !a; // e = false
位运算符用于处理二进制位,例如按位与 &
、按位或 |
、异或 ^
、取反 ~
、左移 <<
和右移 >>
。
int a = 0b1100, b = 0b1010;
int c = a & b; // c = 0b1000
int d = a | b; // d = 0b1110
int e = a ^ b; // e = 0b0110
int f = ~a; // f = 0b0011
int g = a << 2; // g = 0b110000
int h = b >> 1; // h = 0b0101
赋值运算符用于给变量赋值,例如等于 =
、加等于 +=
、减等于 -=
、乘等于 *=
、除等于 /=
和模等于 %=
。
int a = 10, b = 3;
a += b; // a = 13
a -= b; // a = 10
a *= b; // a = 30
a /= b; // a = 10
a %= b; // a = 1
在 C++ 中,可以使用表达式计算出一个值。例如:
int a = 10, b = 3;
int c = a + b * 2; // c = 16
表达式求值的顺序是由运算符的优先级和结合性确定的。下面是 C++ 中的运算符优先级和结合性:
| 优先级 | 运算符 | 结合性 |
| ------ | ------------ | ------ |
| 1 | ()
| 左右 |
| 2 | ++
、--
| 右 |
| 3 | +
、-
、!
、~
| 右 |
| 4 | *
、/
、%
| 左 |
| 5 | +
、-
| 左 |
| 6 | <<
、>>
| 左 |
| 7 | <
、>
、<=
、>=
| 左 |
| 8 | ==
、!=
| 左 |
| 9 | &
| 左 |
| 10 | ^
| 左 |
| 11 | \|
| 左 |
| 12 | &&
| 左 |
| 13 | ||
| 左 |
| 14 | ?
、:
| 右 |
| 15 | =
、+=
、-=
、*=
、/=
、%=
、<<=
、>>=
、&=
、^=
、\|=
| 左 |
可以使用 ()
改变优先级,例如:
int a = 10, b = 3;
int c = (a + b) * 2; // c = 26
本文介绍了 C++ 中的数据类型、运算符和表达式求值。在实际编程中,需要灵活运用这些知识,完成各种任务。