C++的一些符号

本文最后更新于 2025年7月18日 晚上

学C++的时候,有些符号经常会被用到,但是又不知道它的具体含义,因此便有了这篇文章。

在C++中符号有非常多且繁杂,一篇文章讲不完,所以这里只介绍一些常用的符号,后续如果有需要再补充。

运算符

算术运算符

四则运算符

“+”:用于加法运算
“-”:用于减法运算
“*”:用于乘法运算
“/”:用于除法运算

1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
using namespace std;
int main()
{
int a = 10, b = 5;
cout << a + b << endl; //输出a+b的值,结果为15
cout << a - b << endl; //输出a-b的值,结果为5
cout << a * b << endl; //输出a*b的值,结果为50
cout << a / b << endl; //输出a/b的值,结果为2
return 0;
}

取模运算符

“%”:用于取模(除法取余)运算

浮点数不能进行取模运算,会报错。

1
2
3
4
5
6
7
8
#include <iostream>
using namespace std;
int main()
{
float a = 10.0, b = 5.0;
cout << a % b << endl; //输出a%b的值。但它不会输出,会报错
return 0;
}
1
2
3
4
5
6
7
8
#include <iostream>
using namespace std;
int main()
{
int a = 10, b = 5;
cout << a % b << endl; //输出a%b的值,结果为0
return 0;
}

自增、自减运算符

“++”:用于变量自增(有前缀或后缀)
“--”:用于变量自减(有前缀或后缀)

1
2
3
4
5
6
7
8
9
10
11
//自增运算
#include <iostream>
using namespace std;
int main()
{
int a = 0, b = 0;
cout << ++b << endl; //输出b的值,结果为1。先自增b,然后输出b的值
cout << a++ << endl; //输出a的值,结果为0。先输出a的值,然后再自增a
cout << a << endl; //输出a的值,结果为1
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
//自减运算
#include <iostream>
using namespace std
int main()
{
int a = 10;
cout << --a << endl; //输出a的值,结果为9。先自减a,然后输出a的值
a = 10;
cout << a-- << endl; //输出a的值,结果为10。先输出a的值,然后再自减a
cout << a << endl; //输出a的值,结果为9
return 0;
}

关系运算符(比较运算符)

关系运算符用来比较两个值之间的关系,然后得到布尔值:true或false。
“==”:用于判断两个值是否相等
“!=”:用于判断两个值是否不相等
“>”:用于判断一个值是否大于另一个值
“<”:用于判断一个值是否小于另一个值
“>=”:用于判断一个值是否大于或等于另一个值
“<=”:用于判断一个值是否小于或等于另一个值

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <iostream>
using namespace std;
int main()
{
int a = 10, b = 5;
if (a == b) //判断a和b是否相等
{
cout << "a等于b" << endl;
}
if (a != b) //判断a和b是否不相等
{
cout << "a不等于b" << endl;
}
if (a > b) //判断a是否大于b
{
cout << "a大于b" << endl;
}
if (a < b) //判断a是否小于b
{
cout << "a小于b" << endl;
}
if (a >= b) //判断a是否大于或等于b
{
cout << "a大于等于b" << endl;
}
if (a <= b) //判断a是否小于或等于b
{
cout << "a小于等于b" << endl;
}
return 0;
}

逻辑运算符

逻辑运算符用来对布尔值进行逻辑操作,多用于条件判断语句。
“&&”:用于两个布尔值之间进行逻辑与运算。
“||”:用于两个布尔值之间进行逻辑或运算。
“!”:用于对一个布尔值进行逻辑非运算。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using namespace std;
int main()
{
bool a = true, b = false;
if (a && b) //判断a和b是否同时为true
{
cout << "a和b同时为true" << endl;
}
if (a || b) //判断a和b是否有一个为true
{
cout << "a和b有一个为true" << endl;
}
if (!a) //对a进行逻辑非运算
{
cout << "a为false" << endl;
}
return 0;
}

位运算符

位运算符用来对二进制数进行操作。
“&”:用于两个二进制数进行位与运算。两个位都为 1 时,结果为 1,否则为 0。
“|”:用于两个二进制数进行位或运算。两个位中只要有一个为 1,结果就为 1,否则为 0。
“^”:用于两个二进制数进行位异或运算。两个位不同时且其中一个为 1 时,结果为 1,否则为 0。
“~”:用于对一个二进制数进行位取反运算。每位取反(0 变 1,1 变 0)。
“<<”:用于将一个二进制数向左移动指定的位数(左移一位相当于乘以 2)。
“>>”:用于将一个二进制数向右移动指定的位数(右移一位相当于除以 2)。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
using namespace std;
int main()
{
int a = 10; // 二进制:1010
int b = 5; // 二进制:0101
cout << (a & b) << endl; //输出a和b的位与运算结果,结果:0(二进制:0000)
cout << (a | b) << endl; //输出a和b的位或运算结果,结果:15(二进制:1111)
cout << (a ^ b) << endl; //输出a和b的位异或运算结果,结果:15(二进制:1111)
cout << (~a) << endl; //输出a的位取反结果,结果:-11(二进制:1011,因为 C++ 中整数是补码表示)
cout << (a<<1) << "向左移动1位" << endl; //输出a向左移动1位后的结果,结果:20(二进制:10100)
cout << (a>>1) << "向右移动1位" << endl; //输出a向右移动1位后的结果,结果:5(二进制:0101)
return 0;
}

赋值运算符

赋值运算符用来给变量赋值。

基本赋值运算符

“=”:用于给变量赋值。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
using namespace std;
int main()
{
int a = 10, b = 5;
a = a + b; //给a赋值为a+b
cout << a << endl; //输出a的值,结果为15
a = a - b; //给a赋值为a-b
cout << a << endl; //输出a的值,结果为10
a = a * b; //给a赋值为a*b
cout << a << endl; //输出a的值,结果为50
a = a / b; //给a赋值为a/b
cout << a << endl; //输出a的值,结果为10
a = a % b; //给a赋值为a%b
cout << a << endl; //输出a的值,结果为0
return 0;
}

复合赋值运算符

“+=”:用于给变量加上一个值。
“-=”:用于给变量减去一个值。
“*=”:用于给变量乘以一个值。
“/=”:用于给变量除以一个值。
“%=”:用于给变量取模(除法取余)一个值。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
using namespace std;
int main()
{
int a = 10, b = 5;
a += b; //给a赋值为a+b
cout << a << endl; //输出a的值,结果为15
a -= b; //给a赋值为a-b
cout << a << endl; //输出a的值,结果为10
a *= b; //给a赋值为a*b
cout << a << endl; //输出a的值,结果为50
a /= b; //给a赋值为a/b
cout << a << endl; //输出a的值,结果为10
a %= b; //给a赋值为a%b
cout << a << endl; //输出a的值,结果为0
return 0;
}

位运算复合赋值

“&=”:用于给变量与一个值进行位与运算。
“|=”:用于给变量与一个值进行位或运算。
“^=”:用于给变量与一个值进行位异或运算。
“<<=”:用于给变量左移指定的位数。
“>>=”:用于给变量右移指定的位数。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
using namespace std;
int main()
{
int a = 10, b = 5;
a &= b; //给a赋值为a与b的位与运算结果
cout << a << endl; //输出a的值,结果为0
a |= b; //给a赋值为a与b的位或运算结果
cout << a << endl; //输出a的值,结果为5
a ^= b; //给a赋值为a与b的位异或运算结果
cout << a << endl; //输出a的值,结果为0
a <<= 1; //给a左移1位
cout << a << endl; //输出a的值,结果为0
a >>= 1; //给a右移1位
cout << a << endl; //输出a的值,结果为0
return 0;
}

其他运算符

“?:”:用于条件选择三元条件运算符(条件 ? 结果1 : 结果2)
一般用于代替简单的if-else语句,可以嵌套,但过多嵌套会影响代码可读性。

但是结果1:结果2必须是相同的数据类型,否则会有隐形的数据转换,容易导致报错。

1
2
3
4
5
6
7
8
9
#include <iostream>
using namespace std;
int main()
{
int a = 10, b = 5;
int c = (a > b) ? a : b; //条件选择,如果a大于b,则c等于a,否则c等于b
cout << c << endl; //输出c的值,结果为10
return 0;
}

标点符号

标点符号用于语法分隔或组合代码。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
//这是单行注释
/*
这是多行注释
可以跨越多行
*/
#include <iostream>//“#”预处理指令前缀(如 #include)
#include <stdlib.h>
using namespace std;//“;” :语句结束符,用于分隔语句。
int main()
{//“{” :代码块开始符,用于开始一个代码块。
char ch = 'a';//“''” :单引号,用于表示字符。
string str = "hello, world";//“""” :双引号,用于表示字符串。
int a = 10, b = 5,d[5] = {1,91,2,19,9};// “[]”:数组下标。“,” :逗号,用于分隔表达式或参数;“{}” 代码块、初始化列表
float c = 3.14;//“.” :句点,用于表示小数点,也可用于表示对象成员的访问
cout << ( a + b ) * c << endl;//“()” :圆括号,用于函数调用、表达式分组、强制类型转换。
cout << ( a > b ? a : b ) << endl;//“:” :冒号,类继承、访问修饰符、三元运算符
printf("Hello, %c\n", ch);//“\” :转义字符(如 \n换行)。
cout << "a + b = " << a + b << endl; //输出a+b的值
cout << "a - b = " << a - b << endl; //输出a-b的值
cout << "a * b = " << a * b << endl; //输出a*b的值
cout << "a / b = " << a / b << endl; //输出a/b的值
cout << "a % b = " << a % b << endl; //输出a%b的值
return 0;
}//“}” :代码块结束符,用于结束一个代码块。

符号的上下文含义

某些符号的用途取决于上下文:
“*”:可以是乘法、指针声明或解引用。
“&”:可以是按位与、取地址或引用声明。
“<<”:可以是左移运算符或流输出(如 std::cout << “Hello”)。


C++的一些符号
https://zhxcodes.pages.dev/2025/04/03/C-的一些符号/
作者
本意
发布于
2025年4月3日
更新于
2025年7月18日
许可协议