算术运算符
运算符的优先级
括号 > 正负 > 数学运算 > 位运算 > 数学对比 > 逻辑对比 > 条件运算 > 赋值运算
 
A.赋值运算符
复合赋值运算符
+= 
-+ 
*= 
/=
 
B.自增自减
a++ ++a
a— —a
 
ps:没有自乘自除:a** a//
 
C.sizeof
输出所占字节数
 
D.关系运算
除了0之外都是true
返回值只有0和1, 真即为1, 假即为0
存在多个运算符的时候,可以使用结果1和0继续按照优先级顺序运算
 
E.逻辑运算
逻辑运算的结果只有1和0
逻辑与: &&
逻辑或: ||
位与: &
位或: |
 
位抑或: ^
#include<stdio.h>

intmain(intargc,constchar* argv[]) {
   intresult =1^1;
   printf("result = %d\n", result);
   
   
   return0;
}

 
out: 
result = 0
 
逻辑非: !
 
任何数值都有真假!!!
 
 
F.三目运算
xx?xx:xx
#include<stdio.h>

intmain(intargc,constchar* argv[]) {
   inta =10;
   intb =20;
   intresult = a>b?33:11;
   printf("result = %d\n", result);
   
   
   return0;
}

 
out:
result = 11
 
G.位运算
1.& 按位与
2.| 按位或
3.^ 按位抑或
同类型的位运算复合运算符合交换律
4.~ 按位取反
注意在64位系统中, int占8字节,且以补码形式存在,是在此条件下取反
5.<<n 左移
能够按照实际数值进行位移,数值最高位消去,且符号位不会改变
相当于乘以2的n次方
6.>> 右移
 
使用^交换两个变量值
    int l = 10;
    int m = 20;
    l = l ^ m;
    m = l ^ m;
    l = l ^ m;
    printf("l = %d, m = %d\n", l , m);
 
利用位运算符计算奇偶
普通方法
    a%2==0?printf("偶数!\n"):printf("奇数\n”);
位运算
    a&1?printf("奇数!\n"):printf("偶数\n");
 
编写二进制输出函数
 
 
 

最新文章

  1. Android笔记——Handler Runnable与Thread的区别
  2. Android6.0动态申请权限
  3. 《CSS 设计指南》学习笔记 一
  4. 第一节 SOA的基本概念和设计思想
  5. WM_INITDIALOG与WM_CREATE消息的区别
  6. [转载]C#读取Excel几种方法的体会
  7. CocoaPods的一些理解
  8. 如何在word中写出赏心悦目的代码
  9. css使用技巧
  10. android细节之禁用activity的系统的默认切换效果
  11. [Unity3D]Unity3D持久性数据的游戏开发PlayerPrefs采用
  12. 学习面向对象编程OOP 第一天
  13. Apache日志分割
  14. freemarker中的split字符串分割(十六)
  15. Algorithm in Practice - Sorting and Searching
  16. Leetcode_260_Single Number III
  17. Telegraf安装与介绍
  18. MT【290】内外圆求三角最值
  19. webstorm更改scss输出路径
  20. u3d发送邮件

热门文章

  1. 深入剖析Classloader(二)--根类加载器,扩展类加载器与系统类加载器
  2. HDU1875——畅通工程再续(最小生成树:Kruskal算法)
  3. CodeForces114E——Double Happiness(素数二次筛选)
  4. 编码识别工具:hash-identifier
  5. 【iOS开发】iOS7 兼容及部分细节
  6. 用PHP尝试RabbitMQ(amqp扩展)实现消息的发送和接收
  7. http_build_query函数(学习)
  8. IPC是什么意思?
  9. Repeater实例应用
  10. vijos1603迷宫