c语言13&6,[C语言 - 13] 运算符

这篇博客详细介绍了C语言和Go语言中的运算符优先级,特别强调了位运算符的使用,包括按位与(&),按位或(|),按位异或(^),按位取反(~)以及左移(<<)和右移(>>)。通过示例代码解释了位运算符如何应用于变量交换和奇偶性判断,并探讨了赋值运算符、自增自减运算符以及三目运算符的应用。此外,还提到了C语言中预处理运算符的作用。
摘要由CSDN通过智能技术生成

算术运算符

运算符的优先级

括号 > 正负 > 数学运算 > 位运算 > 数学对比 > 逻辑对比 > 条件运算 > 赋值运算

A.赋值运算符

复合赋值运算符

+=

-+

*=

/=

B.自增自减

a++ ++a

a— —a

ps:没有自乘自除:a** a//

C.sizeof

输出所占字节数

D.关系运算

除了0之外都是true

返回值只有0和1, 真即为1, 假即为0

存在多个运算符的时候,可以使用结果1和0继续按照优先级顺序运算

E.逻辑运算

逻辑运算的结果只有1和0

逻辑与: &&

逻辑或: ||

位与: &

位或: |

位抑或: ^

#include

intmain(intargc,constchar* argv[]) {

intresult =1^1;

printf("result = %d\n", result);

return0;

}

out:

result = 0

逻辑非: !

任何数值都有真假!!!

F.三目运算

xx?xx:xx

#include

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.<

能够按照实际数值进行位移,数值最高位消去,且符号位不会改变

相当于乘以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");

编写二进制输出函数

go语言的运算符

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

3014C语言&lowbar;运算符

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

go语言基本运算符

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

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

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

C语言预处理运算符

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

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

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

C语言的运算符的优先级与结合性&plus;ASCII表

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

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

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

C语言移位运算符

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

随机推荐

IOS Block-Block块的使用与理解

在IOS中,block块是新添加的语法,其他程序语言中也被称为闭包. 程序块的理念是像任何其他C语言类型一样对待特定的代码块.程序块可以分配给一个变量,以参数的形式传递给函数或方法,当然也可以执行(不 ...

Linux 之dhcp服务搭建

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议 dhcp服务器端监控端口67 涉及的配置文件:/etc/dhcp/dhcpd ...

syslinux 3&period;84 2009-12-18 ebios copyright &lpar;c&rpar; 1994-2009 H&period; Peter Anvin et al

使用USB方式安装win7+Ubuntu12.04双系统时出现"syslinux 3.84 2009-12-18 ebios copyright (c) 1994-2009 H. Peter ...

Strategic Game(匈牙利算法,最小点覆盖数)

Strategic Game Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

彻底弄懂css中单位px和em,rem的区别

PX:PX实际上就是像素,用PX设置字体大小时,比较稳定和精确.但是这种方法存在一个问题,当用户在浏览器中浏览我们制作的Web页面时,如果改变了浏览器的缩放,这时会使用我们的Web页面布局被打破.这样 ...

Android 引入外部模块编译选择

/********************************************************************************* * Android 引入外部模块编 ...

linux下ab网站压力测试命令

http://domain:代表压测域名.   get方法压测:        1)一般get方法压测简单,直接后缀url就ok了,参数直接挂在url后面的?a=1&b=2,         ...

odoo继承父类中的函数(方法)

使用_inherit继承父类重新设计新类时,可以调用父类中的函数,具体为: 第一步:获得某个模型('model.name')的数据集并进行某种集合操作(model_function),从而获得想要的数 ...

HihoCoder 1055 &colon; 刷油漆 树形DP第一题(对象 点)

刷油漆 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 上回说到,小Ho有着一棵灰常好玩的树玩具!这棵树玩具是由N个小球和N-1根木棍拼凑而成,这N个小球都被小Ho标上了 ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值