运算符与表达式

本文详细介绍了C++编程中的运算符分类(算数、自增自减、赋值、关系、逻辑和逗号),以及各种表达式的概念和运算规则。包括算术表达式、赋值表达式、条件表达式等,并通过实例演示了运算符优先级和表达式的执行过程。
摘要由CSDN通过智能技术生成

目录:

1、运算符
1.1.1 算数运算符
1.1.2 自增自减运算符
1.1.3 赋值运算符
1.1.4 关系运算符
1.1.5 逻辑运算符
1.1.6 逗号运算符
1.1.7 运算符的优先级

2.表达式
2.1.1 算术表达式
2.1.2 赋值表达式
2.1.3 关系表达式
2.1.4 逻辑表达式
2.1.5 逗号表达式
2.1.6 条件表达式
 

1.1.1  算数运算符
 

双目运算符+ 加法运算符
- 减法运算符
* 乘法运算符
/ 除法运算符
% 求余运算符

注:
对于‘/’
1)x/y 中y不能为零
2)当两个操作数x、y都是整数时,结果为整数,例:7/4=1、-7/4=-1、7/-4=-1
3)当两个操作数x、y其中有一个是实数时,结果为实型,例:5/2.5=2.000000
对于‘%’
1)操作数必须为整数
2)x%y不能为0
3)9%-5=4、-9%5=-4

1.1.2 自增自减运算符
++  自增
-- 自减
1)都只能运用于变量,不能用于常量(因为常量不允许改变)或表达式((x+y)++不能实现)
2)它们的优先级和负号是一样的,但比正号优先级高
3)自增、自减是单目运算符,只能有一个运算对象

int main()
{
	int z=10;
	//后置++
	int a=z++;
	printf("后置++ a=%d\n",a);
	//前置++
	int f=++z;
	printf("前置++ f=%d\n",f);
	//后置-- 
	int k=z--;
	printf("后置-- k=%d\n",k);
	//前置-- 
	int b=--z; 
	printf("前置-- b=%d\n",b);
 } 

运行结果:

首先它是后置++,先将z赋值给a,之后再将a进行++,所以a打印出来的是10;f是对z进行前置++,由于之前在赋值给a时已经对z进行++,当时z已经是11,再进行前置++之后就为12,--同理。

1.1.3  赋值运算符
<1>赋值运算符: x=y,将y赋值给x,这里“=”是赋值的意思,
<2>复合赋值运算符:x+=2等同于x=x+2。
 

+=<<=左移
-=>>=右移
*=&=执行位与运算
/=^=执行位异或运算
%=|=执行位或运算

对原始值左移、对原始值右移、对原始值执行位与运算、对原始值执行位异或运算、对原始值执行位或运算都是针对2进制来执行的。

1.1.4  关系运算
关系运算都是双目运算符

<小于
<=小于等于
>大于
>=大于等于
==等于
!=不等于

1.1.5 逻辑运算符
 

&&逻辑与
||逻辑或
逻辑非

1.1.6  逗号运算符
将若干个表达式连接起来,结合方向自左向右,优先级最低。
例如:for(i=1,j=10;i<j;i++,j--)


1.1.7 运算符的优先级
优先级:由高到低

!逻辑非
算数运算符
关系运算符
&&或||

赋值运算符

2、表达式

2.1.1 算术表达式
按运算符优先级进行运算。


2.1.2 赋值表达式
变量=表达式


2.1.3 关系表达式
参与关系运算的可以是两个数,也可以是表达式
例:a>b、A+B>B+C、(A=2)>  (B=5)
真返回1,假返回0


2.1.4 逻辑表达式
逻辑表达式的结果只有两种,真1、假0
&&与||是短路运算,&&前面是假,就不再往下计算,||前面是真,就不再往下计算


2.1.5 逗号表达式
逗号表达式一般形式: 表达式1,表达式2,表达式3,.......,表达式n
整个表达式的结果为最后一个表达式的值。
 

int main()
{
	int n,x;
	n=((x=8*2,x*4),x*2);
	printf("n=%d\n",n);
	printf("x=%d\n",x);
	
}

运行结果:


2.1.6 条件表达式

 <表达式1>? <表达式2>:<表达式3>
条件成立,结果为表达式1,反之,表达式2

int main()
{
	int a=0;
	printf("请输入你的数字:"); 
	scanf("%d",&a);
	printf("%d",(a<0? 1:0));
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值