1、自增自减

(1)前置运算:”先变后用“   如++i。

后置运算:”先用后变“   如i--。

比如:

int i = 5。
y1 = ++i;
y2 = i++;

结果:y1 = 6;y2=6;i=7.

(2)前置和后置另一个差别:前置能够用在等号的两边;而后置仅仅能位于等号的右边。

这是由于前置返回操作数本身,后置返回的是一个暂时变量。

int mian()
{
int a = 3;
a += (++a); //a=7
a += (a++); //a=16
(++a) += (a++); //a=35
(a++) += a; //不对
}

2、关系与逻辑运算符

(1)关系运算符(四种)和逻辑运算符(三种):返回的是布尔类型的结果

关系运算符,比如:<(小于号),>(大于号),<=(小于或等于),>=(大于或等于),!=(不等于)

逻辑运算符,比如:!(非),&&(且),||(或)

(2)关系的优先级 > 逻辑运算符

3、位运算

(1) 共六种:&、|、^、~、《(左移)、》(右移)

异或^:仅当两位不同样时,结果才是1。

(2)进制转换

[十进制转二进制]

正十进制转二进制除二取余倒排序。一直除到商等于1或0时为止.

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

所以。52相应的二进制数是:110100。

负整数转换为二进制:取反加一

解释:将该负整数相应的正整数先转换成二进制,然后对其“取补”,再对取补后的结果加1就可以。

比如要把-52换算成二进制:

1.先取得52的二进制:00110100

2.对所得到的二进制数取反:11001011

3.将取反后的数值加一就可以:11001100

即:(-52)10=(11001100)2



[十进制转十六进制]:除16取余倒排序。

十六进制数的表示:前缀法:0xA1

                                      后缀法:A1H



[二进制和十六进制转十进制]

算法一样。

都是  5*16^1+3*16^0 这样的形式



(3)移位运算

规则:移位后,丢弃移出去的数,移后空白位补位规则例如以下:

int       左移低位补零。右移高位补符号位

unsighed int   低位高位都补零



4、类型转换

(1)赋值转换:将一种类型的值赋给还有一种类型的变量。

int   a = 3.14。

(2)表达式转换

a、整型提升

b、运算时转换

同一类型的有符号和无符号类型所占的内存空间同样。

(3)显示转换

(4)其它转换

5、运算优先级

(1)括号下标结构体成员优先级最高

(2)单目高于双目;算术双目高于其它双目

(3)算术>移位>关系>位运算>逻辑

(4)三目运算仅仅有一个逗号,低于逻辑

(5)赋值比”,“高

C/C++运算符及其优先级的更多相关文章

  1. javascript中运算符的优先级

    运算符优先级 JavaScript中的运算符优先级是一套规则.该规则在计算表达式时控制运算符执行的顺序.具有较高优先级的运算符先于较低优先级的运算符执行.例如,乘法的执行先于加法. 下表按从最高到最低 ...

  2. java中运算符的优先级

    所谓优先级,就是在表达式中的运算顺序.Java 中常用的运算符的优先级如下表所示: 级别为 1 的优先级最高,级别 11 的优先级最低.譬如,x = 7 + 3 * 2  得到的结果是 13 &quo ...

  3. C语言运算符和优先级

    关于C语言运算符和优先级,经整理众多博客资料汇入自己的实战,如下:        a.算术运算        C语言一共有34种运算符,包括常见的加减乘除运算.        1) 加法:+ 还可以表 ...

  4. C语言语法之运算符及优先级

    注:该内容整理自以下链接. http://blog.csdn.net/huangblog/article/details/8271791 表:C语言运算符及优先级 优先级 运算符 名称或含义 使用形式 ...

  5. Java运算符的优先级(从高到低)

    运算符的优先级(从高到低) 优先级 描述 运算符 1 括号 ().[] 2 正负号 +.- 3 自增自减,非 ++.--.! 4 乘除,取余 *./.% 5 加减 +.- 6 移位运算 << ...

  6. javascript运算符的优先级

    最基木的运算符优先级就是所谓的“先乘除,后加减”.对于优先顺序处于同一层次上的运算符,按照从左到右出现的顺序计算.下面给出javascript定义的所有运算符的优先级.运算符 优先顺序成员选择.括号. ...

  7. [转]说说C语言运算符的“优先级”与“结合性”

    补充自己的一点理解: 1.关于++i 与 i++的区别. ++i 和 i++如果是单独使用的语句,即二者后面均加上分号,或者其他单独使用的语句,没有任何区别.例如: for(i=0;i<100; ...

  8. 慕课网-安卓工程师初养成-3-9 Java中运算符的优先级

    来源 http://www.imooc.com/code/1315 所谓优先级,就是在表达式中的运算顺序.Java 中常用的运算符的优先级如下表所示: 级别为 1 的优先级最高,级别 11 的优先级最 ...

  9. swift:高级运算符(位运算符、溢出运算符、优先级和结合性、运算符重载函数)

    swift:高级运算符 http://www.cocoachina.com/ios/20140612/8794.html 除了基本操作符中所讲的运算符,Swift还有许多复杂的高级运算符,包括了C语和 ...

  10. python运算符的优先级

    运算符优先级 如果你有一个如2 + 3 * 4那样的表达式,是先做加法呢,还是先做乘法?我们的中学数学告诉我们应当先做乘法——这意味着乘法运算符的优先级高于加法运算符. 下面这个表给出Python的运 ...

随机推荐

  1. day5:协成函数与import、for...import...的使用

    一.协程函数 1.把函数的执行结果封装好__iter__和__next__,即得到一个迭代器2.与return功能类似,都可以返回值,但不同的是,return只能返回一次值,而yield可以返回多次值 ...

  2. Python3.0+Selenium3进行Web自动化遇到的坑

    1.搭建环境时,已经把chromedriver的路径加入到PATH,但是还是报错说需要加入PATH.此时重新启动下Pycharm即可

  3. HTML标签及属性大全

    HTML标签及属性大全 基本结构标签: <HTML>,表示该文件为HTML文件 <HEAD>,包含文件的标题,使用的脚本,样式定义等 <TITLE>---</ ...

  4. JMeter基础之-使用技巧

    在这此对新版本jmeter的学习+温习的过程,发现了一些以前不知道的功能,所以,整理出来与大分享.本文内容如下. 如何使用英文界面的jmeter 如何使用镜像服务器 Jmeter分布式测试 启动Deb ...

  5. 【 D3.js 入门系列 --- 9.4 】 集群图的制作

    本人的个人博客为: www.ourd3js.com csdn博客为: blog.csdn.net/lzhlzz 转载请注明出处,谢谢. 集群图( Cluster )通经常使用于表示包括与被包括关系. ...

  6. centos6.5安装apache2

    参考 http://my.oschina.net/u/593517/blog/340289 http://blog.csdn.net/hkmaike/article/details/9732177

  7. node中的require和exports

    http://cnodejs.org/topic/4f16442ccae1f4aa270010e9

  8. python3----练习题(冒泡排序)

    冒泡,原理是临近的数字两两进行比较,按照从小到大的顺序进行交换,这样交换一次之后,最大的数字就被交换到了最后一位. li = [33, 2, 10, 1] for j in range(1, len( ...

  9. Duilib教程-非DUI控件

    DUILIB并不是真正的DUI,至少有部分控件不是完全DUI的.其实包括: 1.EDIT. 它的实现原理是,CEditUI包含一个窗口CEditWnd,流程如下: 1)鼠标单击,创建窗口见 EditU ...

  10. 一个Demo展示Storyboard的强大

    本文转载至http://www.cocoachina.com/ios/20150330/11440.html 今天我通过完成一个长按cell删除的Demo,向你们展示熟练运用storyboard和Au ...