C语言程序 运算符
2015-07-23 22:05
274 查看
------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------
C语言中的运算符及优先级
1,运算符是告诉编译程序执行特定运算或逻辑操作的符号,C语言中一共有34种运算符。
2,运算符的分类
按照功能划分:算术运算符、关系运算符与逻辑运算符、按位运算符。
2.1 算术运算符有加减乘除运算、取余运算、自增自减运算。
2.1.1 取余运算也叫模运算,用“%”表示,取余运算是两个整数相除的余数,如5%3==2, 取余结果正负性只跟“%”左边数值有关,如-5%3==-2,5%(-3)==2。
2.1.2赋值运算符:用“=”表示,从右往左运算,如a = 4表示把4赋值给a。
2.1.3 自增自减运算:也称复合赋值运算,自增用“++”表示,a++可写成a=a+1,自增有两种方式:
(1)++a ++在前面表示先把a+1再进行赋值
(2)a++ ++在后面表示先把a赋值再进行a+1运算
自减同理。
2.2 sizeof运算:也称长度运算,是C语言特有的运算符。用来计算一个变量或者一个常量、一种数据类型所占的内存字节数。
语法为 sizeof();是常量或变量时括号可以不要,但直接放数据类型时括号不能省,如sizeof 0.20 == 8,sizeof(int)==4。
2.3 关系运算符:也叫比较运算符,表示在某个条件成立的情况下才会执行某一代码。
真假:在C语言中,条件成立称之为“真”,反之为“假”,任何非0值都为真,只有0才是假。
关系运算符有:大于(“>”)、小于("<")、大于等于(">=")、小于等于(“<=”)、不等于(“!=”)和等于(“==”)。
注意点:等号“==”与赋值符号“=”容易弄混。
2.4 逻辑运算:分3种:
逻辑与:用“&&”表示,使用格式:条件A&&条件B A与B同时成立时条件才为真,如1&&2==1即为真;
逻辑或:用“||”表示, 使用格式: 条件A||条件B A和B都不成立时为假, 如1||0==1为真,((1>2 )|| (2>3))==0即为假;
逻辑非: 用“!”表示, 使用格式: !条件 条件为真时其结果为假,条件为假时结果为真,如!2==0即为假,!0==1即为真
2.5 三目运算符: 使用格式:条件?数值1:数值2, 条件成立时输出数值1条件不成立时输出数值2,一般用于比较大小,如 2 > 3 ? 2 : 3==3。
2.6 按位运算:主要用于二进制中的运算,分6种:
2.6.1 按位与:用“&”表示,只有对应的两个二进制位都为1时,结果才为1,否则为0,可用来精确每个二进制的位。
2.6.2 按位或:用“|”表示, 对应的二进制位有一个为1时结果为1,否则为0。
2.6.3 按位异或:用“^”表示,对应的二进制位不相同时结果为1,否则为0。相同数值异或,结果为0,如a^a==0,多个数值异或时可交换异或,任何数值与0异或,结果为本身,如a^b^a==a^a^b==b。
2.6.4 按位取反:用“~”表示,把每个二进制位取反(即0取1,1取0),一般用于原码、反码及补码的计算。
2.6.5 左移:用“<<”表示,把整个二进制位都向左移n位,保持符号不变,左移后的值为原来的2的n次方倍。
2.6.6 右移:用“>>”表示,符号位不变,其余整体右移,空余位用符号位补齐,右移后的值为原来的2的-n次方倍。
3.优先级:
C语言中的运算符及优先级
1,运算符是告诉编译程序执行特定运算或逻辑操作的符号,C语言中一共有34种运算符。
2,运算符的分类
按照功能划分:算术运算符、关系运算符与逻辑运算符、按位运算符。
2.1 算术运算符有加减乘除运算、取余运算、自增自减运算。
2.1.1 取余运算也叫模运算,用“%”表示,取余运算是两个整数相除的余数,如5%3==2, 取余结果正负性只跟“%”左边数值有关,如-5%3==-2,5%(-3)==2。
2.1.2赋值运算符:用“=”表示,从右往左运算,如a = 4表示把4赋值给a。
2.1.3 自增自减运算:也称复合赋值运算,自增用“++”表示,a++可写成a=a+1,自增有两种方式:
(1)++a ++在前面表示先把a+1再进行赋值
(2)a++ ++在后面表示先把a赋值再进行a+1运算
自减同理。
2.2 sizeof运算:也称长度运算,是C语言特有的运算符。用来计算一个变量或者一个常量、一种数据类型所占的内存字节数。
语法为 sizeof();是常量或变量时括号可以不要,但直接放数据类型时括号不能省,如sizeof 0.20 == 8,sizeof(int)==4。
2.3 关系运算符:也叫比较运算符,表示在某个条件成立的情况下才会执行某一代码。
真假:在C语言中,条件成立称之为“真”,反之为“假”,任何非0值都为真,只有0才是假。
关系运算符有:大于(“>”)、小于("<")、大于等于(">=")、小于等于(“<=”)、不等于(“!=”)和等于(“==”)。
注意点:等号“==”与赋值符号“=”容易弄混。
2.4 逻辑运算:分3种:
逻辑与:用“&&”表示,使用格式:条件A&&条件B A与B同时成立时条件才为真,如1&&2==1即为真;
逻辑或:用“||”表示, 使用格式: 条件A||条件B A和B都不成立时为假, 如1||0==1为真,((1>2 )|| (2>3))==0即为假;
逻辑非: 用“!”表示, 使用格式: !条件 条件为真时其结果为假,条件为假时结果为真,如!2==0即为假,!0==1即为真
2.5 三目运算符: 使用格式:条件?数值1:数值2, 条件成立时输出数值1条件不成立时输出数值2,一般用于比较大小,如 2 > 3 ? 2 : 3==3。
2.6 按位运算:主要用于二进制中的运算,分6种:
2.6.1 按位与:用“&”表示,只有对应的两个二进制位都为1时,结果才为1,否则为0,可用来精确每个二进制的位。
2.6.2 按位或:用“|”表示, 对应的二进制位有一个为1时结果为1,否则为0。
2.6.3 按位异或:用“^”表示,对应的二进制位不相同时结果为1,否则为0。相同数值异或,结果为0,如a^a==0,多个数值异或时可交换异或,任何数值与0异或,结果为本身,如a^b^a==a^a^b==b。
2.6.4 按位取反:用“~”表示,把每个二进制位取反(即0取1,1取0),一般用于原码、反码及补码的计算。
2.6.5 左移:用“<<”表示,把整个二进制位都向左移n位,保持符号不变,左移后的值为原来的2的n次方倍。
2.6.6 右移:用“>>”表示,符号位不变,其余整体右移,空余位用符号位补齐,右移后的值为原来的2的-n次方倍。
3.优先级:
优先级 | 描述 | 运算符 |
1 | 括号 | ()、[] |
2 | 正负号 | +、- |
3 | 自增自减,非 | ++、--、! |
4 | 乘除,取余 | *、/、% |
5 | 加减 | +、- |
6 | 移位运算 | <<、>>、>>> |
7 | 大小关系 | >、>=、<、<= |
8 | 相等关系 | ==、!= |
9 | 按位与 | & |
10 | 按位异或 | ^ |
11 | 按位或 | | |
12 | 逻辑与 | && |
13 | 逻辑或 | || |
14 | 条件运算 | ?: |
15 | 赋值运算 | =、+=、-=、*=、/=、%= |
16 | 位赋值运算 | &=、|=、<<=、>>=、>>>= |
相关文章推荐
- cpp文件调用CUDA .cu文件实现显卡加速相关编程
- Rotate List
- C语言(1)--解一元二次方程、将整数第五位清零、说谎、放鞭炮
- C++Primer(第五版) 习题答案
- 黑马程序员------C语言程序 指针
- C++单例模式实现
- Cutting stock
- C语言部分知识
- POJ2352树状数组入门统计前面有多少个数与求逆序数对类似
- c语言基础入门(一)
- 快速排序~sort&qsort的用法~以C++
- 【转】A* A星 算法 C语言 实现代码
- 转 :C++输入的常见命令
- SHA-256算法 C语言实现
- C语言宏定义,内置宏,__FILE__,__LINE__,## 用法
- 读书笔记MoreEffectiveC++(10)
- C++中的关键字explict
- C语言函数
- c++.primer.plus第五版第十章编程练习答案
- 读书笔记MoreEffectiveC++(9)