c/c++运算符优先级【一文搞懂】【大白讲解】

发布时间:2024年01月06日

C++运算符优先级教程

我们知道,在数学运算中,有 “先乘除后加减” 的运算规则,在我们程序语言中一样有运算符的优先级问题,来决定我们运算的顺序问题,这就是运算符的优先级。

即所谓运算符的优先级,指的是在含有多个逻辑运算符的式子中,到底应该先计算哪一个,后计算哪一个。

C++运算符运算规则

C++?中运算符的运算规则是,优先级高的运算符先执行,优先级低的运算符后执行,同一优先级的运算符按照从左到右的顺序进行。

需要注意的是,C++ 中大部分运算符都是从左向右执行的,只有单目运算符、赋值运算符它们是从右向左执行的。

C 语言运算符中,如果有小括号,即?(),则小括号的优先级最高。

C++语言运算符优先级表

注意:优先级值越大,表示优先级越高。?

案例?

运算符优先级

#include <iostream>
using namespace std;
int main(int argc, char **argv)
{
	
	//乘除优先级比加减高
	int a = 1 + 2 * 3;
	int b = 10 - 10 / 5;
	cout << "a = " << a << " b = " << b << endl;
}

我们首先定义了?变量?a,其值为表达式?1+2*3?的结果,因为乘法的优先级高于加法,因此这里我们先计算乘法,再计算加法,所以最终结果为?1+6=7

接着我们定义变量 b,其值为表达式?10 - 10 / 5?的结果,因为除法的优先级高于减法,因此这里我们先计算除法,再计算减法,所以最终结果为?10-2=8

小括号改变运算符优先级

#include <iostream>
using namespace std;
int main(int argc, char **argv)
{
	
	//小括号的运算符优先级最高
	int a = (1 + 2) * 3;
	int b = (10 - 2) / 4;
	cout << "a = " << a << " b = " << b << endl;
}

我们首先定义了变量 a,其值为表达式?(1 + 2) * 3?的结果,因为小括号的运算符优先级最高,因此这里我们先计算小括号里面的加法,再计算乘法,所以最终结果为?3*3=9

接着我们定义变量 b,其值为表达式?(10 - 2) / 4?的结果,因为小括号的运算符优先级最高,因此这里我们先计算减法,再计算除法,所以最终结果为?8 / 4 = 2

C++运算符优先级总结

即所谓运算符的优先级,指的是在含有多个逻辑运算符的式子中,到底应该先计算哪一个,后计算哪一个。

C++ 中运算符的运算规则是,优先级高的运算符先执行,优先级低的运算符后执行,同一优先级的运算符按照从左到右的顺序进行。

C++ 运算符中,如果有小括号,即?(),则小括号的优先级最高。

文章来源:https://blog.csdn.net/2301_82018821/article/details/135425129
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。