c++基础(四)之表达式、语句和运算符的使用

目录

左值与右值的理解

运算符汇总

除法运算符(/)

求模运算符(%)

递增、递减运算符(++、--)

按位右移运算符(>>)和左移运算符(<<)

 

逻辑运算符

按位运算符

复合运算符和优先级排列


左值与右值的理解

左值通常是内存单元,另一方面,右值可以是内存单元的内容。因此,所有的左值都可用作右值,但并非所有的右值都可用作左值。所有的左值(如变量)都可用作右值,但并非所有的右值都可用作左值,请看示例:

101 = MyInteger;

这行代码是不合理的,不能通过编译。

运算符汇总

除法运算符(/)

如果两个操作数都是整数,结果将不包含小数,直接取整。

求模运算符(%)

返回除法运算的余数,只能用于整数。

 

递增、递减运算符(++、--)

有需要将变量加(减)1的,每次循环,都需要将变量值递增或递减。

前缀or后缀?

先说结论,前缀优于后缀,因为后缀编译器需要临时存储初始值,以防需要将其赋给其他变量。但单就整形变量而言,并无影响。

相等运算符(==)和不等运算符(!=)、大于等于(>=)、小于等于(<=)

 

按位右移运算符(>>)和左移运算符(<<)

移位运算符将整个位序列向左或向右移动,其用途之一是将数据乘以或除以2^n.

#include<iostream>
#include<vector>
using namespace std;

int main()
{    
	int Num = 2;
	cout << "Num:  " << Num << endl;

	//将变量乘以2
	int Doublevalue = Num << 1; 
	cout << "Doublevalue:  " << Doublevalue << endl;

	//将变量除以2
	int Halvedvalue = Num >> 2;
	cout << "Halvedvalue:  " << Halvedvalue << endl;

	return 0;
}

 

逻辑运算符

           NOT(!!)、AND(&&)、OR(||)

 

按位运算符

按位运算符返回的并非布尔值,而是对操作数对应位执行指定运算的结果。

NOT(~):将每位取反

AND(&):对相应位执行AND运算

OR(|):对相应位执行OR运算

XOR(^):对相应为执行异或运算(XOR)

其中,后三个运算符对变量与选择的数字(通常是位掩码)执行相应的运算。

在整数的每位都表示特定标记的状态时,有些按位运算特别有用。例如,32位的整数可用于表示32个布尔标记。

 

复合运算符和优先级排列

等级越大越高:

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值