C++ 运算符总则

运算符总则:

  • 1.整型提升:
    2.精度高为准
    单目运算符(++,–、强转)>双目(算术运算符>赋值运算符>逗号运算符)

    *一、自增自减:自己(变量)本身+1或者-1
    前置:++a,–a:先自加(减),再运算
    后置:a++,a–:先运算,再自加(减)
    总结:前置优先级低于后置;前置效率高于后置
    运算法则:运算前,数前置;运算后,数后置。

    二、赋值运算符:=,+=,*=…
    1.左值必须是变量。
    2.结合性:从右往左
    3.右值必须看成一个整体

    3.逗号运算符:,
    由逗号运算符组成的式子,称为逗号表达式。
    从左往右依次计算,最后一个式子的值,就是整个表达式的值。

    4.强转: (类型)
    1.把浮点型强转为整型,去掉小数部分。
    2.整型强转为字符型,该整型作为ASCII码值对应的字符*

#include <iostream>
using namespace std;

int main()
{
	//强转运算符
	int num = (int)4.9+4.2;
	cout << "num=" << num << endl;//8

	

	//逗号运算符:
	int  m = 2, n = 3;//逗号间隔符
	//逗号表达式:
	m = n + 3, m += 4, ++n, m + n;
	cout << "m=" << m << ",n=" << n<< endl;//10,4
	m = 2, n = 3;//逗号运算符


	//把逗号表达式的值赋值给变量m   
	// ?
	m = (n + 3, m += 4, ++n, m + n);
	cout << "m=" << m << ",n=" << n << endl;//10,4



	//赋值运算符:
	int x=2, y=3;
	y *= x + 4;//等价于 y=y*(x+4)
	cout << "x=" << x << ",y=" << y << endl;//2,18
	y += x -= 30;//x=x-30;y=y+x
	cout << "x=" << x << ",y=" << y << endl;//-28 -10
	x = 2,y = 3;
	y += x++;//y=y+x++;
	cout << "x=" << x << ",y=" << y << endl;//3,5
	y += ++x;//y=y+(++x);
	cout << "x=" << x << ",y=" << y << endl;//4,9
	++y += x++;//y=++y+x++;
	cout << "x=" << x << ",y=" << y << endl;//5,14
	//y++ += x++;//编译报错 ++后置的结果为常量,不能作为赋值运算符左值



	//自增自减
	int a=1, b;
	b = a++;//a=2,b=1
	cout << "a=" << a << ",b=" << b << endl;
	b = ++a;//a=3,b=3
	cout << "a=" << a << ",b=" << b << endl;
	b =a+++a;//a=4 ,b=6  后置>前置
	cout << "a=" << a << ",b=" << b << endl;
	b = a++ + (++a) + a++;//a=7 b=15
	cout << "a=" << a << ",b=" << b << endl;
	return 0;
}

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GAME LIAO

感谢您的支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值