C语言之各种运算符
来源:互联网 发布:ping域名不通 ip可以 编辑:程序博客网 时间:2024/05/18 02:44
C语言之各种运算符
优先级运算符分类结合顺序运算符由
逻辑非关系值表 A!Atruefalse
C语言之前述运算符
() 圆括号
[] 下标
-> 指针型结构成员
.结构成员
==========================================================================
C语言之三目运算符
三目运算符,计算机c语言的重要组成部分。条件运算符是唯一有3个操作数的运算符,所以有时又称为三元运算符。
1.对于条件表达式b?x:y,先计算条件b,然后进行判断。如果b的值为true,计算x的值,运算结果为x的值;否则,计算y的值,运算结果为y的值。
2.一个条件表达式从不会既计算x,又计算y。
3.条件运算符是右结合的,也就是说,从右向左分组计算。例如,a?b:c?d:e将按a?b:(c?d:e)执行。
4.<表达式1>?<表达式2>:<表达式3>; "?"运算符的含义是: 先求表达式1的值, 如果为真, 则执行表达式2,并返回表达式2的结果 ; 如果表达式1的值为假, 则执行表达式3 ,并返回表达式3的结果。
5.可以理解为条件 ? 结果1 : 结果2 里面的?号是格式要求。也可以理解为是不是条件成立,条件成立为结果1否则为结果2。
========================================================================
位运算法异或^
异或的符号是⊕。按位异或运算, 对等长二进制模式按位或二进制数的每一位执行逻辑按位异或操作. 操作的结果是如果某位不同则该位为1, 否则该位为0.
优先级运算符分类结合顺序运算符由
高
到
低
分隔符左结合. [] ( ) ; ,一元运算符右结合! ++ -- - ~算术运算符
移位运算符
左结合* / % + - << >> >>>关系运算符左结合< > <= >= instanceof(Java 特有) = = !=逻辑运算符左结合! && || ~ & | ^ 三目运算符右结合布尔表达式?表达式1:表达式2赋值运算符右结合= *= /= %= += -= <<= >>= >>>= &= *= |=一、一元运算符
因操作数是一个,故称为一元运算符。
运算符含义例子-改变数值的符号,取反-x(-1*x)~逐位取反,属于位运算符~x++自加1x++--自减1x--二、算术运算符
所谓算术运算符,就是数学中的加、减、乘、除等运算。因算术运算符是运算两个操作符,故又称为二元运算符。
运算符含义例子+加法运算x+y-减法运算x-y*乘法运算x*y/除法运算x/y%取模运算(求余运算)x%y三、移位运算符
移位运算符操作的对象就是二进制的位,可以单独用移位运算符来处理int型整数。
运算符含义例子<<左移运算符,将运算符左边的对象向左移动运算符右边指定的位数(在低位补0)x<<3>>"有符号"右移运算 符,将运算符左边的对象向右移动运算符右边指定的位数。使用符号扩展机制,也就是说,如果值为正,则在高位补0,如果值为负,则在高位补1.x>>3>>>"无符号"右移运算 符,将运算符左边的对象向右移动运算符右边指定的位数。采用0扩展机制,也就是说,无论值的正负,都在高位补0.x>>>3四、关系运算符
Java具有完备的关系运算符,这些关系运算符同数学中的关系运算符是一致的。具体说明如下:
运算符含义例子<小于x<y>大于x>y<=小于等于x<=y>=大于等于x>=y==等于x==y!=不等于x!=y五、逻辑运算符
false
true六、三目运算符
三目运算符是一个特殊的运算符,它的语法形式如下:
布尔表达式?表达式1:表达式2
七、赋值运算符
赋值运算符是程序中最常用的运算符了,示例如下:
运算符例子含义+=x+=yx=x+y-=x-=yx=x-y*=x*=yx=x*y/=x/=yx=x/y%=x%=yx=x%y>>=x>>=yx=x>>y>>>=a>>>=yx=x>>>y<<=a<<=yx=x<<y&=x&=yx=x&y|=x|=yx=x|y^=x^=yx=x^yC语言之前述运算符
() 圆括号
[] 下标
-> 指针型结构成员
.结构成员
==========================================================================
C语言之三目运算符
三目运算符,计算机c语言的重要组成部分。条件运算符是唯一有3个操作数的运算符,所以有时又称为三元运算符。
1.对于条件表达式b?x:y,先计算条件b,然后进行判断。如果b的值为true,计算x的值,运算结果为x的值;否则,计算y的值,运算结果为y的值。
2.一个条件表达式从不会既计算x,又计算y。
3.条件运算符是右结合的,也就是说,从右向左分组计算。例如,a?b:c?d:e将按a?b:(c?d:e)执行。
4.<表达式1>?<表达式2>:<表达式3>; "?"运算符的含义是: 先求表达式1的值, 如果为真, 则执行表达式2,并返回表达式2的结果 ; 如果表达式1的值为假, 则执行表达式3 ,并返回表达式3的结果。
5.可以理解为条件 ? 结果1 : 结果2 里面的?号是格式要求。也可以理解为是不是条件成立,条件成立为结果1否则为结果2。
========================================================================
位运算法异或^
异或的符号是⊕。按位异或运算, 对等长二进制模式按位或二进制数的每一位执行逻辑按位异或操作. 操作的结果是如果某位不同则该位为1, 否则该位为0.
xor运算的逆运算是它本身,也就是说两次异或同一个数最后结果不变,即(a xor b) xor b = a。xor运算可以用于简单的加密,比如我想对我MM说1314520,但怕别人知道,于是双方约定拿我的生日19880516作为密钥。1314520 xor 19880516 = 20665500,我就把20665500告诉MM。MM再次计算20665500 xor 19880516的值,得到1314520,于是她就明白了我的企图。
相同位不同则为1,相同则为0。
00101
11100
======================================================
取变量地址符&:
在一个变量前面使用&则取出该变量地址
======================================================
赋值运算符=:
将右边的数据赋值给左边的变量
======================================================
指针取结构体数据符:->:
通过指针取出结构体中各项数据
======================================================
0 0
- C语言之各种运算符
- C语言之各种运算符
- C 语言之运算符
- C语言之运算符+-*/%、++、--
- C语言之运算符
- c语言之运算符
- 黑马程序员-对C语言各种运算符的总结
- C语言的各种位运算符的操作简述
- C语言中各种运算符的优先级
- 黑马程序员--c语言各种运算
- C语言入门教程之二运算符
- C语言运算符优先级之三字经
- C语言小贴士之运算符
- C语言之算术运算符
- C语言运算符优先级之歌
- C语言之运算符进阶
- c语言之运算符优先级
- c语言之sizeof运算符
- 第二章作业题P51.1(输出X^2的值,x取值从0到10.)
- Java基础—异常处理总结
- Windows下的char,short,int,long数值取值范围
- Android触摸事件的消费
- nodejs:expressjs+backbonejs+gulp简单实践
- C语言之各种运算符
- Javascript强制类型转换
- C语言运算符的优先级排序
- Java语言中的面向对象特性(总结得不错)
- J2EE架构师之路
- Linux 下开启ssh服务
- [leetcode]31 Symmetric Tree
- As second twin awaits kidney donor, rural Washington family can only wait
- linux系统使用sudo命令报xxx is not in the sudoers file.This incident will be reported.的解决方法