C语言中的运算符
1. 在C语言中运算符包括:算术运算符、关系运算符、赋值运算符、逻辑运算符
2.用运算符把变量、常量连接起来的式子就是表达式
3.我们阅读一个表达式,从表达式的功能和表达式的值来看
4. 算术运算符和表达式
4.1 运算符包括:+ - * / %
4.2 一个整数和另外一个整数相除,结果是一个整数, 4/6 == 0, 6/4 == 1
4.3 求余操作%,余数的符号和被除数的符号一致 -6 % 4 == -2
4.4 数据类型较短的操作数和较长的操作数进行运算时,首先转换为较长的类型,再参加运算。整数和小数进行运算时,先把整数转换为小数再运算。如:
int i = 10;
long j = 20;
表达式 i + j , 运算前把i的类型先转换为long,然后再和j进行相加
float f = 12.34;
表达式 i + f , 运算前先把i的类型转换为float,再参加运算。
4.5 对于算术表达式来说,整个表达式的类型就是这个表达式中最长的数据类型
i + j 这个表达式 的类型是 long
i + f 这个表达式的类型是float
5. 自增和自减
i ++ 相当于 i = i+1
i--相当于i = i-1
自增和自减 的后缀形式 i++和i—,i++和i--表达式的值是变量i的值,后缀方式是先使用,后自增或自减; ++i和--i是前缀形式,前缀形式的表达式的值,是先自增或自减之后 的值
int i = 10;
int j = i++; // j == 10, i== 11
int k = ++i; // i == 12,k == 12,
6. 赋值表达式
int i = 10;
int j;
j = i 这就是一个赋值表达式,把赋值号(=)右边表达式 的值,赋值给左边的变量
赋值号左边的一定是一个变量,赋值表达式的值就是左边变量的值。
7. 关系表达式
7.1 关系运算符包括: > , >= , < , <= , == , != , <>
7.2 两个操作数进行比较,结果要么是真,要么是假
7.3 关系表达式常常和后面要学的 if语句 , 循环语句结合使用,作为一个条件存在
7.4 需要注意的是,在C语言中,用0表示假,非0数都是真
7.5 注意,如果表达式成立,会输出1, 表达式不成立,会输出0
7.6 如果有三个变量 a, b, c,求三个变量的最大者,这个条件应该这样写:
if( a>b && a > c ){
printf("最大数是%d\n", a );
}
if( b>c && b>a ){
printf("最大数是%d\n", b );
}
if( c>b && c>a ){
printf("最大数是%d\n", c );
}
8.逻辑表达式
8.1 逻辑运算符包括 && || !
8.2 表达式1 && 表达式2,当表达式1为假时,不再计算表达式2
8.3 表达式1 || 表达式2,当表达式1为真时,不再计算表达式2
9. 三目运算符 ?:
条件?表达式1 :表达式2
如果条件成立,返回表达式1的值,条件不成立,返回表达式2的值
10. 位移运算
向左位移<< 和 向右位移 >>
向左位移就相当于原来的数乘以2, 向右位移相当于除以2
11 位运算
按位与 &, 按位或|, 按位取反~, 按位异或^
需要把这个数转换为二进制之后 再按位进行操作
异或的值,只有当两个相应的位不一致的时候,结果为1
12 强制类型转换
(类型) 表达式
13 了解运算符的优先级
C语言中的运算符的更多相关文章
- c语言中逗号运算符和逗号表达式
原文:c语言中逗号运算符和逗号表达式 C语言提供一种特殊的运算符——逗号运算符.用它将两个表达式连接起来.如: 3+5,6+8称为逗号表达式,又称为“顺序求值运算符”.逗号表达式的一般形式为 表达式1 ...
- Go语言中的运算符
## 1 概述Go语言提供了,算术,关系,逻辑,位,指针,赋值运算符.本篇整体说明一下. ## 2 算术运算 * \+ 相加* \- 相减* \* 相乘* / 相除* % 求余* ++ 自增* \-\ ...
- C语言中关于运算符优先级别
在一一个表达式中可能有多个不同的运算符结合起来,由于运算符的优先级别不一样,可能会形成得到的结果不同. 优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级. 对于相同的优先级, ...
- go语言中的运算符^,&
一.^运算符 1.作为二元运算符 ^作二元运算符就是异或,包括符号位在内,相同为0,不相同为1 规则:1^1 =0, 0^0=0,1^0=1,0^1=1 事例: (1)0001 0100 ^ 0000 ...
- python语言中的运算符
基本运算符 1.比较运算符 # >,< ,>= ,<=, ==(比较值) ,!=(不等号) 2.逻辑运算符 and or not(取反) 3.算术运算 / ...
- C语言中位运算符异或“∧”的作用
异或运算符∧也称XOR运算符.它的规则是若参加运算的两个二进位同号,则结果为0(假):异号则为1(真).即0∧=,∧=,∧=.如: 即071∧,结果为023(八进制数). “异或”的意思是判断两个相应 ...
- JAVA语言中的运算符和表达式
JAVA——运算符 按运算符要求的运算符个数可分为一元.二元.三元运算符: 一元运算符有一个操作数:如正数或者负数前面的“+”.“—”,和自增“++”.自减“- -”. 二元运算符有两个操作数:如除法 ...
- go语言中运算符
Go语言学习笔记(运算符)-day01 go语言中与其他语言一样,存在多种运算符,下表列出了go语言中的运算符类型 算数运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 算数运算符 运算符 描述 ...
- c语言 &取地址运算符的理解
对于c语言中的&运算符,百度百科是这样定义的:(&p)则是这样一种运算,返回当时声明p 时开辟的地址:但是根据我对代码的观察,我觉得&运算符不只是返回地址的功能: 例如: in ...
随机推荐
- 用Android模拟器也可以开发和测试NFC应用
从Android2.3开始支持NFC.不过NFC应用只能在Android手机(或平板电脑)上测试和开发,而且Android手机还必须有NFC芯 片.而且如果测试NFC传输文件时至少需要两部支持NFC的 ...
- 相关子查询【SQL Server】
查询book表中大于该类图书价格平均值的图书信息 先将第一条记录的类编号的值为2代入子查询中,子查询为 select avg(price) from book b where b.id=2 则得到类编 ...
- 图论 --- spfa + 链式向前星 (模板题) dlut 1218 : 奇奇与变形金刚
1218: 奇奇与变形金刚 Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 130 Solved: 37[Submit][Status][Web Boa ...
- C# 解析html —— 将html转为XHTML,然后利用Xml解析
呵呵,由于正则不熟,所以另谋出路——利用XML去解析html. 要想将抓取到的数据(直接抓取到的是byte[]) 转为XML文档(即XMLDocument对象),有两个要点: 一.判断编码(http ...
- 关于ExtJs4的Grid带 查询 参数 分页(baseParams-->extraParams)
(园里很多文章,美名其曰 :ExtJs GridPanel+查询条件+分页. 但是加查询条件后点击下一页,查询条件失效,求你们自己测试明白再显摆 不要误导我这种新人.) ExtJs6发布了,ExtJ ...
- 介绍开源的.net通信框架NetworkComms框架 源码分析(十六 ) ConnectionStatic
原文网址: http://www.cnblogs.com/csdev Networkcomms 是一款C# 语言编写的TCP/UDP通信框架 作者是英国人 以前是收费的 目前作者已经开源 许可是 ...
- 【CTO讲堂】以API为核心的移动应用云大发展时代
摘要:CTO线上讲堂5月20日正式登场,CTO俱乐部首期邀请到APICloud联合创始人兼CTO邹达与C粉之家微信群友一起聊聊如何快速玩转App开发,分享技术人的职场成长. 为了帮助IT从业者职业之路 ...
- 孙鑫MFC学习笔记9:状态栏与工具栏编程
1.在窗口创建之前就应该修改窗口的样式 2.单文档应用程序会把文档名作为应用程序标题,应该去掉FWS_ADDTOTITLE属性,然后修改lpszName为标题 3.在窗口创建完成后,可以通过SetWi ...
- TSwitch 中文简繁显示支持(XE6 Android)
说明: XE6 的 TSwitch 做了很多改进,包含多语显示处理,但 XE6 似乎只认定一种中文语系「zh」,它无法处理「zh_TW」.「zh_CN」.「zh_HK」.「zh_SG」等语系,不过可以 ...
- Guava学习笔记目录
Guava 是一个 Google 的基于java1.6的类库集合的扩展项目,包括 collections, caching, primitives support, concurrency libra ...