8.【C/C++优先级详解】

文章目录

  • (一)、什么是优先级?
    • (二)、优先级表格都有什么?
      • (三)、经典优先级举列.
        • 1.1 前置++和后置++是什么?
        • 1.2前置++后置++在判断语句中.
        • 1.3前置++后置++在数据类型中.
        • 1.4前置++后置++在输出语句中.
        • 1.5前置++和前置++同在赋值语句中
        • 1.6后置++和后置++同在赋值语句中
        • 1.7后置++和后置++同在赋值语句中
        • 前置++和后置++,单个赋值
      • (四)总结.

(一)、什么是优先级?

优先级是指计算机分时操作系统在处理多个作业程序的时候,决定各个作业程序接收系统调用的先后。优先级越高、先调用。

(二)、优先级表格都有什么?

	![在这里插入图片描述](https://img-blog.csdnimg.cn/349a3421ff8243dea1bd9e7b27eb6a72.jpeg#pic_center)

(三)、经典优先级举列.

本次我们以前置++和后置++进行详细讲说:

1.1 前置++和后置++是什么?

前置++:是先自增,然后再进行表达式.
后置++:是先进性表达式,再进行自增.

1.2前置++后置++在判断语句中.

后置++在判断语句中:在if语句中a++的值仍然为5,因为先进行表达式里面的判断语句得出来不满足,所以进入else语句,此时a=6,又+1所以结果为7.

在这里插入代码片#include <iostream>
#include 
using namespace std;
int main()
{
	int a = 5;
	if (a++ > 5)
		cout << a << endl;
	else
	{
		cout << a+1;
	}
}

8.【C/C++优先级详解】_第1张图片
前置++在判断语句中: 先进性自增,然后再判断的出来if为真输出a

在这里插入代码片#include <iostream>
#include 
using namespace std;
int main()
{
	int a = 5;
	if (++a > 5)
		cout << a << endl;
	else
	{
		cout << a+1;
	}
}

8.【C/C++优先级详解】_第2张图片

1.3前置++后置++在数据类型中.

后置++在数据类型中:直接运行.

#include 
#include 
using namespace std;
int main()
{
	int a = 5;
	a++;
	cout << a << endl;
}

8.【C/C++优先级详解】_第3张图片
前置++在数据类型中:依然直接输出.

#include 
#include 
using namespace std;
int main()
{
	int a = 5;
	++a;
	cout << a << endl;
}

8.【C/C++优先级详解】_第4张图片

1.4前置++后置++在输出语句中.

后置++在输出语句中:因为a默认优先级为+,+的优先级小于++,所以我们先运行后面的后置++,又因为后置++先进性表达式,所以第二个a仍然为5,其余的为6.

#include 
#include 
using namespace std;
int main()
{
	int a = 5;
	cout << a << " " << a++ << endl;
	cout << a << endl;
}

8.【C/C++优先级详解】_第5张图片
输出语句中的前置++: 因为先进性前置++,所以结果都为6

#include 
#include 
using namespace std;
int main()
{
	int a = 5;
	cout << a << " " << ++a << endl;
	cout << a << endl;
}

8.【C/C++优先级详解】_第6张图片

1.5前置++和前置++同在赋值语句中

()的优先级高于+、先执行两个小括号内的++,第一次++x的时候为5,放在储存区,第二次为6,所以两个结果都为6;

#include 
using namespace std;
int main()
{
	int a = 4,b;
	b =  (++a)+(++a);
	cout << b << endl;
}

8.【C/C++优先级详解】_第7张图片

1.6后置++和后置++同在赋值语句中

先存值、后输出

#include 
using namespace std;
int main()
{
	int a = 4,b;
	b =  (a++)+(a++);
	cout << b << endl;
}

8.【C/C++优先级详解】_第8张图片

1.7后置++和后置++同在赋值语句中

后置++优先级高于前置++优先级,所以后置++先运行为4,前置++在5的基础上再+1为6.

#include 
using namespace std;
int main()
{
	int a = 4,b;
	b =  (a++)+(++a);
	cout << b << endl;
}

8.【C/C++优先级详解】_第9张图片

前置++和后置++,单个赋值

后置++,先运算再++

#include 
#include 
using namespace std;
int main()
{
	int a=5,b;
	b = a++;
	cout << b << endl;

}

8.【C/C++优先级详解】_第10张图片

(四)总结.

一定要看好优先级再进行数据判断!

你可能感兴趣的:(c++,c语言,算法)