C语言--基本运算符
一、算术运算符
1. 加法运算符 +
* 除了可以进行加法运算外,还可以表示正号:+521
2.减法运算符 —
* 除了可以进行减法运算外,还可以表示负号:—741
3.乘法运算法符 *
* 请注意符号不是X,而是*
4.除法运算符 /
* 请注意符号不是÷,而是/
* 整数除以整数还是整数,1/2的值不是0.5而是 0。
5.区域运算符 %
* 取余就是两个整数相除之后的余数
* %两侧只能是整数
* 正负性取决于%左侧的数值的符号
6.赋值运算符 =
*简单赋值:int a =10,a=10+5
*符合赋值:int a+=4+5
7.自增自减
*自增运算符:++,如a++等价于a=a+1
*自减运算符:--,如a--等价于a=a-1
补充:a++和++a的区别
++在前是先把a加一在使用a;++在后是先使用a,然后再加一。
二、关系运算符(比较运算符)
1.关系运算符
有 ==、!=、<、<=、>、>= 一共六种
2.真假
1> 在C语言中,条件成立称为“真”,条件不成立称为“假”,因此判断条件是否成立,就是判断条件的“真假”。
2> 怎么判断真假呢?C语言规定,任何数值都有真假性,任何非0值都为“真”,只有0才为“假”。也就是说,18、-18、4.5、-4.5等都是“真”,0则是“假”.
3.关系比较
1> 关系运算符的运算结果只有2种:如果条件成立,结果就为1,也就是“真”;如果条件不成立,结果就为0,也就是“假”
4.使用注意
*关系运算符中==、!=的优先级相等,<、<=、>、>=的优先级相等,且前者的优先级低于后者:2==3>1
*关系运算符的结合方向为“从左往右”: 4>3>2
*关系运算符的优先级小于算术运算符:3+4>8-2
三、逻辑运算符
*逻辑运算的结果只有2个:“真”为1,“假”为0
1.&& 逻辑与
1> 格式:条件A && 条件B
2> 运算结果
只有当条件A和条件B同时成立时,结果才为1,就是“真”,其余情况全部为0,也就是“假”。
3> 运算过程
总是先判断条件A,如果条件A成立,就继续判断条件B;如果条件A不成立,就不会再去判断条件B。
4> C语言规定,任何非0值都为“真”,只有0才为“假”。因此逻辑运算也适用于数值。
2.|| 逻辑或
1> 使用各式
条件A||条件B
2> 运算结果
当条件A或B中,只要有一个成立时,结果就为1,也就是“真”,当条件A、B同时不成立时,结果 才为0,也就是假。
3> 运算过程
总是先判断条件A是否成立,如果条件A成立,就不会再去判断条件B;如果条件A不成立,才回去判断条件B。
3.! 逻辑非
1> 使用格式
! 条件A
2> 运算结果
其实是对条件A进行取反操作:若条件A成立,结果就为0,也就是“假”;如果条件A不成立,结果就是1,也就是“真”。
3> 注意
*可以多次连续使用逻辑非运算符:!(4>2)结果为0,是“假”,!!(4>2)结果为1,是“真”,!!! (4>2)结果为0,是“假”
*C语言规定:任何非0值都为“真”,只有0才为“假”。因此,对非0值进行逻辑非!运算的结果都 是0,对0值进行逻辑非!运算的结果为1。!5、!6.7、!-9的结果都为0,!0的结果为1
4.优先级
1. 逻辑运算符的优先级顺序:小括号() > 负号 - > ! > 算术运算符 > 关系运算符 > && > ||
四、三目运算符
1.格式
条件A?语句1:语句2
2.运算结果
如果条件A成立,则执行语句1;如果条件A不成立,则执行语句2
五、自我总结
基本运算符都是我们日常经常使用的运算符,对他们的熟练使用,可以让我们在日常工作中得心应手。只不过有时和我们原有的一些认识有所冲突,像什么数学里的乘除和计算机语言中的就有所不同,还有就是自增自减,第一次看到就感觉很难理解,头疼了好几天不懂什么意思,特别是前加加和后加加的问题,困扰了我好久,有时做梦都在想这个问题,不过现在我是彻底搞明白了,真是应了那句话:世上无难事只怕有心人。还有就是运算符也有优先级,在使用的时候一定要注意,如果担心出现什么纰漏可以使用小括号括起来,这样就可以减少很多beg的出现,特别是宏定义那一块,经常出问题,使用时要考虑周全。
C语言--基本运算符的更多相关文章
- C语言位运算符:与、或、异或、取反,左移和右移
C语言位运算符:与.或.异或.取反.左移和右移 个位操作运算符.这些运算符只能用于整型操作数,即只能用于带符号或无符号的char,short,int与long类型. ,则该位的结果值为1,否则为0 | ...
- C语言预处理运算符
转自C语言预处理运算符 预处理还需要运算符?有没有搞错? ^_^, 没有搞错,预处理是有运算符,而且还不止一个: #(单井号) -- 字符串化运算符. ##(双井号 )-- 连接运算符 #@ ...
- C语言位运算符:与、或、异或、取反、左移和右移
语言位运算符:与.或.异或.取反.左移和右移 位运算是指按二进制进行的运算.在系统软件中,常常需要处理二进制位的问题.C语言提供了6个位操作运算符.这些运算符只能用于整型操作数,即只能用于带符号或无符 ...
- go语言的运算符
什么是运算符:运算符用于在程序运行时执行数学或逻辑运算 go语言的运算符如下: 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 其他运算符 一,算数运算符 运算符 描述 实例 + 相加 A ...
- C语言的运算符的优先级与结合性+ASCII表
[0]README 0.1) 内容来源于 C程序设计语言, 旨在整理出C语言的运算符的优先级与结合性, 如下图所示(哥子 记了大半年都没有记住,也是醉了,每次都要去翻): Alert)以下内容转自:h ...
- 3014C语言_运算符
第四章 运算符 4.1 分类 C语言的运算符范围很广,可分为以下几类: 1.算术运算符:用于各类数值运算.包括加(+).减(-).乘(*).除(/).求余(%).自增(++).自减(--)共七种. 2 ...
- go语言基本运算符
go语言基本运算符 1.算术运算符 以下假设A=10,B=20: 2.关系运算符 以下假设A=10,B=20: 3.逻辑运算符 以下假设A=true,B=false: 4.位运算符 十进制转二进制: ...
- 【转】C语言位运算符:与、或、异或、取反、左移与右移详细介绍
转载自:http://www.jb51.net/article/40559.htm,感谢原作者. 以下是对C语言中的位运算符:与.或.异或.取反.左移与右移进行了详细的分析介绍,需要的朋友可以过来参考 ...
- 关于C语言中运算符优先级的一次错误
好久没碰编程了,最近有点闲,又拾起来.做了个简单的网络测试程序,测试的时候发现有条语句老是获取不到结果.如下: if(portnumber=atoi(argv[1])>65535) portnu ...
- c语言位运算符
C语言既具有高级语言的特点,又具有低级语言的功能. 所谓位运算是指进行二进制位的运算. C语言提供的位运算: 运算符 含义 & 按位与 | 按位或 ∧ 按位异或 ∽ ...
随机推荐
- css3属性:column分栏
css3选择器中提出了分栏的属性,其浏览器支持情况为:Internet Explorer 10 和 Opera 支持 column 属性,Firefox 支持替代的 -moz-column 属性,Sa ...
- php-app开发接口加密
自己平时工作中用到的一套接口加密规则,记录下来以后用: /** 2 inc 3 解析接口 客户端接口传输规则: 1.用cmd参数(base64)来动态调用不同的接口,接口地址统一为 http://a. ...
- python运维开发(二十二)---JSONP、瀑布流、组合搜索、多级评论、tornado框架简介
内容目录: JSONP应用 瀑布流布局 组合搜索 多级评论 tornado框架简介 JSONP应用 由于浏览器存在同源策略机制,同源策略阻止从一个源加载的文档或脚本获取或设置另一个源加载的文档的属性. ...
- Eclipse工程乱码解决
eclipse之所以会出现乱码问题是因为eclipse编辑器选择的编码规则是可变的.一般默认都是UTF-8或者GBK,当从外部导入的一个工程时,如果该工程的编码方式与eclipse中设置的编码方式不同 ...
- STL中vector,Map,Set的实现原理
vector的数据安排以及操作方式,与array非常类似,两者唯一的区别是空间运用的灵活性,array是静态空间,一旦配置了就不能改变,如果你想要大一点的空间,就必须首先配置一块新空间,然后将原来的元 ...
- oc语言--面向对象的三大特性
一.封装 1.什么是封装 在程序上,隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别:将对象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的 ...
- 1006 Do the Untwist
考察编程基础知识,用到字符和数字相互转化等.形式是描述清楚明文和暗文的转化规则. #include <stdio.h> #include <string.h> #define ...
- 在Docker上部署使用Azure CLI镜像
Docker是非常流行的容器技术,在Docker中安装部署多种工具非常快速和方便:而Azure CLI是微软提供的可以在Linux/Mac上运行的跨平台命令行管理工具,本文介绍如何在Azure上安装部 ...
- Unity3D自定义地形的笔刷,刷出别样地形
是不是很简单呀,大家可以发挥想象刷出特殊的地形,小鸡呀,或者其他的logo之类(顶视图看上去效果很棒)的地形. 最后把我找的笔刷上传,Gizmos 注意: 如果文件夹及图片导入后,地形系统的笔刷无 ...
- Effective Java实作类别 - 就是爱Java
定义好了Interface之后,现在我们开始来实作类别:Role,建立一个class,implements Role,将3个属性及clone()实作出来,单纯的getter与setter,可以利用ID ...