算术运算符
运算符的优先级
括号 > 正负 > 数学运算 > 位运算 > 数学对比 > 逻辑对比 > 条件运算 > 赋值运算
 
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");
 
编写二进制输出函数
 
 
 

[C语言 - 13] 运算符的更多相关文章

  1. go语言的运算符

    什么是运算符:运算符用于在程序运行时执行数学或逻辑运算 go语言的运算符如下: 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 其他运算符 一,算数运算符 运算符 描述 实例 + 相加 A ...

  2. 3014C语言_运算符

    第四章 运算符 4.1 分类 C语言的运算符范围很广,可分为以下几类: 1.算术运算符:用于各类数值运算.包括加(+).减(-).乘(*).除(/).求余(%).自增(++).自减(--)共七种. 2 ...

  3. go语言基本运算符

    go语言基本运算符 1.算术运算符 以下假设A=10,B=20: 2.关系运算符 以下假设A=10,B=20: 3.逻辑运算符 以下假设A=true,B=false: 4.位运算符 十进制转二进制: ...

  4. C语言位运算符:与、或、异或、取反,左移和右移

    C语言位运算符:与.或.异或.取反.左移和右移 个位操作运算符.这些运算符只能用于整型操作数,即只能用于带符号或无符号的char,short,int与long类型. ,则该位的结果值为1,否则为0 | ...

  5. C语言预处理运算符

    转自C语言预处理运算符 预处理还需要运算符?有没有搞错? ^_^, 没有搞错,预处理是有运算符,而且还不止一个: #(单井号)    -- 字符串化运算符. ##(双井号 )-- 连接运算符 #@   ...

  6. C语言位运算符:与、或、异或、取反、左移和右移

    语言位运算符:与.或.异或.取反.左移和右移 位运算是指按二进制进行的运算.在系统软件中,常常需要处理二进制位的问题.C语言提供了6个位操作运算符.这些运算符只能用于整型操作数,即只能用于带符号或无符 ...

  7. C语言的运算符的优先级与结合性+ASCII表

    [0]README 0.1) 内容来源于 C程序设计语言, 旨在整理出C语言的运算符的优先级与结合性, 如下图所示(哥子 记了大半年都没有记住,也是醉了,每次都要去翻): Alert)以下内容转自:h ...

  8. 033 01 Android 零基础入门 01 Java基础语法 03 Java运算符 13 运算符和表达式知识点总结

    033 01 Android 零基础入门 01 Java基础语法 03 Java运算符 13 运算符和表达式知识点总结 本文知识点:运算符和表达式知识点总结 前面学习的几篇文都是运算符和表达式相关的知 ...

  9. C语言移位运算符

    位移位运算符是将数据看成二进制数,对其进行向左或向右移动若干位的运算.位移位运算符分为左移和右移两种,均为双目运算符.第一运算对象是移位对象,第二个运算对象是所移的二进制位数. 位移位运算符的运算对象 ...

随机推荐

  1. 李洪强iOS开发之【零基础学习iOS开发】【02-C语言】06-变量与内存

    在前面一节中简单介绍了变量的使用,当我们定义一个变量的时候,系统就会为变量分配一块存储空间.而变量的数值在内存中是以二进制的形式存储的,这讲来深入研究变量在内存中的一些存储细节. 一.字节和地址 为了 ...

  2. 102. Binary Tree Level Order Traversal

    题目: Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to ri ...

  3. POJ1265——Area(Pick定理+多边形面积)

    Area DescriptionBeing well known for its highly innovative products, Merck would definitely be a goo ...

  4. 关于 hot code replace fail 问题 .

    频频出现Hot code replace failed问题.网上查不到解决方法,想来想去,是否是jvm的问题?我的jre使用自己下载的jdk1.6.07,而MyEclipse的jvm自带的是1.5.0 ...

  5. 《RabbitMQ in action》

    Producers create messages and publish (send) them to a broker server (RabbitMQ).What’s a message? A ...

  6. 【HDOJ】4605 Magic Ball Game

    思路1:树状数组+离线处理,对所有的w离散化处理,边dfs边使用树状数组更新左右w的情况.思路2:主席树,边bfs边建树.结点信息存储cnt,然后在线查询.树状数组. /* 4605 */ #incl ...

  7. 如何将一个Form中的代码拆分到多个文件中

    https://social.msdn.microsoft.com/Forums/en-US/64c77755-b0c1-4447-8ac9-b5a63a681b78/partial-class-fo ...

  8. JSON 之JAVA 解析

    一.   JSON (JavaScript Object Notation)一种简单的数据格式,比xml更轻巧. Json建构于两种结构:     1.“名称/值”对的集合(A collection ...

  9. 记一次SSH登陆失败问题的定位

    创建用户之后,使用ssh协议登陆提示失败. useradd -d /home/hdp -m hdp -g dba -s /bin/bash 通过命令 ssh -v hdp@127.0.0.1 登陆,查 ...

  10. C#编程让Outlook乖乖交出帐户密码

    许多人习惯于让Outlook记住密码,收邮件时便不必每次都输入邮箱密码,一切让Outlook代劳.但时间一长,马虎的人会把自己的邮箱密码忘记,这样就无法重新设置或者登录Web界面收取邮件了.Outlo ...