目标
掌握C++支持的各种运算符和应用
掌握C++支持的由各种运算符和常量变量构成的表达式,语句及其应用

运算符

C++中包含了C语言中的运算符和表达式,并且又增加了一些新的运算符。
::作用域运算符
new动态分配内存单元运算符
delete删除动态分配的内存单元运算符
*是成员指针选择运算符
->*是成员指针运算符

算术运算符

C++的算术运算符包含单目运算符和双目运算符。单目运算符有减,增量,减量运算符。双目运算符有加,减,乘,除和模运算符。

hive中增量表和全量表的区别 全增量表达式_ios


hive中增量表和全量表的区别 全增量表达式_ios_02


单目减相当于负号,即操作数取负号

增量运算有前缀增量和后缀增量

  • 前缀增量:++<运算分量> 表示使用运算分量前其值加1
  • 后缀增量:<运算分量>++表示使用运算分量后加1
    减量运算除了加法改为减法外,其他和增量运算完全相同
    优先级:单目运算符>* 或、>%>+或-
#include "stdafx.h"
#include<iostream>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
	int a=5;
	int b=3;
	int c=1,d=2,e=6;
	int res=0;
	res = a+b-c/d+e%d;
	cout<<"运算结果为:"<<res<<endl;
	getchar();
	return 0;

hive中增量表和全量表的区别 全增量表达式_C++_03

赋值运算符
<变量名>=<表达式>

  • 表达式类型需要与变量的类型一致
  • “=”为赋值运算符,其不同于数学上的等号,赋值运算符的运算规则是先计算右边表达式的值,然后将值赋给左边的变量
#include "stdafx.h"
#include<iostream>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
	int i ,sum;
	sum=0;
	for(i=1;i<=100;i++)
	{
		sum += i;	//循环相加
	}
	cout<<"运算结果为"<<sum<<endl;

	getchar();
	return 0;
}

hive中增量表和全量表的区别 全增量表达式_ios_04

关系运算符

关系运算符是双目运算符,作用是将两个运算分量进行大小比较,运算结果类型为布尔数据类型。

hive中增量表和全量表的区别 全增量表达式_运算符_05

逻辑运算符

三种逻辑运算符,单目运算符有,逻辑非(!),双目运算符有逻辑与(&&)和逻辑或(||)

hive中增量表和全量表的区别 全增量表达式_C++_06


hive中增量表和全量表的区别 全增量表达式_运算符_07

条件运算符
三目运算符;
<表达式1>?<表达式2>:<表达式3>

  • 表达式1必须是布尔类型。
  • 表达式执行的顺序是先求解表达式1;若1的值为true,求解表达式2,2的值为最终结果。如1的值为false,求解表达式3,3的值为最终结果。
  • 条件运算符优先级高于赋值运算符优先级,低于逻辑运算符,其结合性从右到左。
#include "stdafx.h"
#include<iostream>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
	int a,b,x;
	cout<<"请输入两个数的值"<<endl;
	cin>>a>>b;
	x=a>b?a:b;
	cout<<"大的数值是"<<x<<endl;

	getchar();
	getchar();
	return 0;
}

hive中增量表和全量表的区别 全增量表达式_ios_08

逗号运算符
<表达式1>,<表达式2>

  • 表达式的执行顺序是,先求解表达式1,再求解表达式2,最终结果为表达式2的值,
  • 逗号运算符是优先级最低的运算符

位运算符

hive中增量表和全量表的区别 全增量表达式_C++_09


hive中增量表和全量表的区别 全增量表达式_hive中增量表和全量表的区别_10

sizeof运算符
一般格式
sizeof(<类型名或表达式>)

运算符优先级

hive中增量表和全量表的区别 全增量表达式_ios_11


hive中增量表和全量表的区别 全增量表达式_hive中增量表和全量表的区别_12

表达式

表达式是由运算符和操作数组成的式子。

hive中增量表和全量表的区别 全增量表达式_C++_13

算术表达式
算术表达式由算术运算符和位操作运算符组成的表达式。

#include "stdafx.h"
#include<iostream>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
	int a,b,m=3,n=4;
	a=7*2+-3%5-4/3;
	b=(m++)-(--n);
	cout<<a<<"\t"<<b<<"\t"<<m<<"\t"<<n<<endl;
	getchar();
	return 0;
}

hive中增量表和全量表的区别 全增量表达式_#include_14

关系表达式
由关系运算符组成的表达式为关系表达式。运算结果为逻辑型。常用在条件和循环语句中。

#include "stdafx.h"
#include<iostream>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
	char x='m',y='n';
	int n;
	n=x<y;
	cout<<n<<endl;
	n=x==y-1;
	cout<<n<<endl;
	n=('y' !='Y')+(5<3)+(y-x==1);
	cout<<n<<endl;

	getchar();
	return 0;
}

hive中增量表和全量表的区别 全增量表达式_运算符_15

逻辑表达式
由逻辑运算符组成的表达式。

#include "stdafx.h"
#include<iostream>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
	int a=3,b=0;
	int result;
	result =! a && a+b && a++;	//只要有一个不为0的就不在计算其他子表达式
	cout<<result<<endl;
	result =!a||a++||b++;	//只要有一个为真就不再计算
	cout<<result<<endl;

	getchar();
	return 0;
}

hive中增量表和全量表的区别 全增量表达式_ios_16

条件表达式
由三目运算符“?:”组成的表达式为条件表达式。

#include "stdafx.h"
#include<iostream>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
	int a=3,b=4,c;
	c = a > b ? ++a : ++b;//5
	cout<<a<<","<<b<<","<<c<<endl;
	c=a-b?a-3?b:b-a:a;//嵌套条件表达式 值为2
	cout<<a<<","<<b<<","<<c<<endl;

	getchar();
	return 0;
}

hive中增量表和全量表的区别 全增量表达式_运算符_17

赋值表达式
由赋值运算符组成的表达式为赋值表达式。

#include "stdafx.h"
#include<iostream>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
	int a,b,c,d;
	int m=3,n=4;
	a=b=c=d=5/2;
	cout<<a<<"\t"<<b<<"\t"<<c<<"\t"<<d<<endl;
	m *= n+1;
	cout<<m<<"\t"<<n<<endl;

	getchar();
	return 0;
}

hive中增量表和全量表的区别 全增量表达式_运算符_18

逗号表达式
逗号表达式是用逗号将若干表达式连接起来组成的表达式。

#include "stdafx.h"
#include<iostream>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
	int a,b,c;
	a=1,b=2,c=a+b+3;
	cout<<a<<','<<b<<','<<c<<endl;
	c=(a++,a+=b,a-b);
	cout<<a<<','<<b<<','<<c<<endl;

	getchar();
	return 0;
}

hive中增量表和全量表的区别 全增量表达式_#include_19

语句

语句由表达式构成。

语句中的空格
语句中存在部分空格,保证程序的可读性。

空语句
语句也可以是直接是一个分号,这种语句称为空语句。一般用于语法上要求有一条语句但实际没有任何操作的场合。
例如

for(i=1;i<10;i++)
;//空语句 起延时作用

声明语句
主要作用是完成指定变量的定义。基本格式如下:
<数据类型><变量1>……<变量n>

赋值语句
赋值语句实现为指定变量获得指定值的操作。

参考:《21天学通C++》作者:刘蕾