运算符优先级

C语言 运算符优先级

一个人想着一个人 提交于 2020-02-29 12:12:23
优先级 运算符 名称或含义 使用形式 结合方向 说明 1 后置++    后置自增运算符 变量名++ 左到右   后置--    后置自减运算符 变量名--       [ ] 数组下标 数组名[整型表达式]    ( ) 圆括号 (表达式)/函数名(形参表)   . 成员选择(对象) 对象.成员名   -> 成员选择(指针) 对象指针->成员名   2 - 负号运算符 -表达式 右到左 单目运算符 (类型) 强制类型转换 (数据类型)表达式   前置++ 前置自增运算符 ++变量名 单目运算符 前置-- 前置自减运算符 --变量名 单目运算符 * 取值运算符 *指针表达式 单目运算符 & 取地址运算符 &左值表达式 单目运算符 ! 逻辑非运算符 !表达式 单目运算符 ~ 按位取反运算符 ~表达式 单目运算符 sizeof 长度运算符 sizeof 表达式/sizeof(类型)   3 / 除 表达式/表达式 左到右 双目运算符 * 乘 表达式*表达式 双目运算符 % 余数(取模) 整型表达式%整型表达式 双目运算符 4 + 加 表达式+表达式 左到右 双目运算符 - 减 表达式-表达式 双目运算符 5 << 左移 表达式<<表达式 左到右 双目运算符 >> 右移 表达式>>表达式 双目运算符 6 > 大于 表达式>表达式 左到右 双目运算符 >= 大于等于 表达式>=表达式

C 语言 运算符

别来无恙 提交于 2020-02-29 10:03:45
C语言运算符 一、算术运算 C语言一共有34种运算符,包括常见的加减乘除运算。 ①. 加法:+ 还可以表示正号 ②. 减法:- 还可以表示负号 ③. 乘法:* 非数学意义上的X ④. 除法:/ 注意1/2的值为0而非0.5 ⑤. 取余(模运算):两个整数相除之后的余数(注意两边都必须是整数,带符号只和左值有关) 注意点: ①. Int a=10.8;//数据精度丢失警告。结果为10——自动类型转换 ②. Int a=(int)10.8;//无警告。把10.8强制转换为整型——强制类型转换 ③. Double c=10.6+6//结果为16.600000。在计算机中,拿两个数值进行运算,则运算符两边的数值需要类型相同,如果不同则进行自动类型提升。即把6转为6.000000后再参与运算。 ④. 参与运算的两个数是什么类型,那么其结果就是什么类型。int a=10/3结果为3,double b=10/3结果为3.000000;double c=10.0/3结果为3.333333。要求精确值可以进行强制类型转换。double d=(double)3/2把3转换为double类型变为3.000000,之后2进行自动类型提升转变为2.000000参与运算,结果为1.500000。也可以写成3/(double)2。这种情况需要注意与对整体进行强制转换的区别 double e=(double)(3

PHP学习笔记 (3)--运算符

血红的双手。 提交于 2020-02-29 08:36:01
PHP学习笔记 (3)-运算符 一、算术运算符 1、运算符优先级: 先算乘除后算加减,遇到括号先算括号内 如果运算符优先级相同,则使用从左到右的左联顺序。 从高到低列出了运算符的优先级。同一行中的运算符具有相同优先级,此时它们的结合方向决定求值顺序 例子  名称   结果 -$a   取反   $a 的负值。 $a + $b   加法    $a 和 $b 的和。 $a - $b   减法   $a 和 $b 的差。 $a * $b   乘法   $a 和 $b 的积。 $a / $b   除法   $a 除以 $b 的商。 $a % $b  取模   $a 除以 $b 的余数。 <?php $a=10; $b=20; echo -$a; //取反 $a 的负值。 -10 echo "<br/>"; echo $a+$b; //加法 $a 和 $b 的和。 30 echo "<br/>"; echo $a-$b; //减法 $a 和 $b 的差。 -10 echo "<br/>"; echo $a*$b; //乘法 $a 和 $b 的积。 200 echo "<br/>"; echo $a / $b; //除法 $a 除以 $b 的商。 0.5 echo "<br/>"; echo $a % $b; //取模 $a 除以 $b 的余数。 10 echo "<br/>"; ?> 二

计算逆波兰式

允我心安 提交于 2020-02-28 18:37:00
在程序设计中,可能碰到需要对字符串数学表达式求值的问题,常用的方法是解析表达式,生成二叉树,然后进行计算。编译器就是使用这种方法来解析程序中的表达式的。这种方法实现起来有点难度,需要考虑运算符的优先级,括号的配对,堆栈的使用等等。我们正常情况下看到的数学表达式如果用二叉树遍历的话,恰好是中序遍历,故叫做中序表达式。除此之外,还有前序表达式,后序表达式。如:a+b+c(中序),++abc(前序),ab+c+(后序),如果表达式含有×,/,()等就更复杂了。 后缀表达式也称逆波兰表达式 因其使表达式求值变得轻松,所以被普遍使用。 逆波兰式: 在通常的表达式中,二元运算符总是置于与之相关的两个运算对象之间(如:1+1),所以这种表示法也称为中缀表示。波兰逻辑学家J.Lukasiewicz于1929年提出了另一种表示表达式的方法,称为逆波兰记法,在逆波兰记法中,所有 操作符 置于 操作数 的后面,因此也被称为后缀表示法。示例如下: 中缀表示 逆波兰式 a+b a,b,+ a+(b-c) a,b,c,-,+ a+(b-c)*d a,b,c,-,d,*,+ a+d*(b-c) a,d,b,c,-,*,+ a=1+3 a=1,3 + 逆波兰表达式是一种十分有用的表达式,它将复杂表达式转换为可以依靠简单的操作得到计算结果的表达式。它的优势在于只用两种简单操作

Python3运算符

 ̄綄美尐妖づ 提交于 2020-02-28 12:43:59
Python算术运算符 以下假设变量a为10,变量b为21: 运算符 描述 实例 + 加 - 两个对象相加 a + b 输出结果 31 - 减 - 得到负数或是一个数减去另一个数 a - b 输出结果 -11 * 乘 - 两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 210 / 除 - x 除以 y b / a 输出结果 2.1 % 取模 - 返回除法的余数 b % a 输出结果 1 ** 幂 - 返回x的y次幂 a**b 为10的21次方 // 取整除 - 向下取接近除数的整数 >>> 9//2 4 >>> -9//2 -5 Python比较运算符 以下假设变量a为10,变量b为20: 运算符 描述 实例 == 等于 - 比较对象是否相等 (a == b) 返回 False。 != 不等于 - 比较两个对象是否不相等 (a != b) 返回 True。 > 大于 - 返回x是否大于y (a > b) 返回 False。 < 小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写。 (a < b) 返回 True。 >= 大于等于 - 返回x是否大于等于y。 (a >= b) 返回 False。 <= 小于等于 - 返回x是否小于等于y。 (a <= b) 返回 True。

单目、二目、三目运算符

你离开我真会死。 提交于 2020-02-26 19:48:45
来源 参考: https://blog.csdn.net/cathy_aa/article/details/52369131 单目、二目、三目运算符 单目,一个运算数 i++, i--, !a, ~a 双目,两个运算数 a+b a-b a*b 三目,三个运算数 bc=a?b:c; (if(a) bc =b;else bc =c;) int i = 0; i = (i == 0) ? 1 : 0; ->在C语言中称为间接引用运算符,是二目运算符,优先级同成员运算符“.”。 用法: p->a,其中p是指向一个结构体的指针,a是这个结构体类型的一个成员。表达式 p->a 引用了指针p指向的结构体的成员a。相当于p.a 例如:struct T { int a; char b; }s;struct T* p=&s;那么,p->a相当于s.a。显然,有个等价写法:(*p).a,和p->a完全等效。 ———————————————— 来源: https://www.cnblogs.com/MCSFX/p/12368409.html

Python运算符(1)

时光毁灭记忆、已成空白 提交于 2020-02-26 15:20:10
Python支持的运算符: 算术运算符 比较运算符 赋值运算符 逻辑运算符 位运算符 成员运算符 身份运算符 运算符优先级 算术运算符 比较运算符 赋值运算符 逻辑运算符   来源: https://www.cnblogs.com/zhanyie/p/12367103.html

Java 运算符优先级

随声附和 提交于 2020-02-26 00:14:39
https://java-er.com/blog/priority-java-operation/ Java 的运算符优先级 算术运算符优先级较高,关系和逻辑运算符优先级较低。 多数运算符具有左结合性,单目运算符、三目运算符、赋值运算符具有右结合性。 类别 操作符 关联性 后缀 () [] . (点操作符) 左到右 一元 !、+、-、~、++、– 从右到左 乘性 、/、% 左到右 加性 + – 左到右 移位 >> >>> << 左到右 关系 <、<=、>、>=、instanceof 左到右 相等 == != 左到右 按位与 & 左到右 按位异或 ^ 左到右 按位或 | 左到右 逻辑与 && 左到右 逻辑或 || 左到右 条件 ?: 从右到左 赋值 =、+=、-=、 =、/=、&=、|=、^=、~=、«=、»=、>>>= 从右到左 逗号 , 左到右 举个例子 (a+b*c)/5 这个例子很简单就是个数学公式 int a = 5;int b = 2;int c = 3; if(a+5==10 || b==1 && c==0){ System.out.println(true); } 这个判断的意思是 条件1 a+5 == 10 条件2 b==1 条件3 c==0 判断条件2和3 形成条件4 条件4 和条件1 联合判断 如果修改下 if( (a+5 == 10) || (b==1 &&

Java 零散笔记

删除回忆录丶 提交于 2020-02-25 17:06:36
运算符:    整数被0除将会产生一个异常,而浮点数被0除会得到无穷大或NaN结果 。 二元运算符:   如果运算符得到一个值,其类型与左侧操作数的类型不用,就会发生强制类型转换。 1 int x = 0; 2 x += 5.5; 3 上面是合法的,将把x设置为(int)(x+3.5) 位运算符 运算符优先级      不可变字符串优点: 编译器可以让字符串共享 。 空串与Null串:    空串“”是长度为0的字符串;null是一个特殊值 。 String API   来源: https://www.cnblogs.com/jj81/p/8920186.html

运算符

淺唱寂寞╮ 提交于 2020-02-24 04:15:41
运算符 一。算数运算符 +,数值(求和)字符串(拼接) -,只能是数值类型,可以将别的转成数值类型 *,只能是数值类型,可以将别的转成数值类型 /,只能是数值类型,可以将别的转成数值类型 %,只能是数值类型,可以将别的转成数值类型。 ​ 取余可以制作轮播。 for ( let i = 0 ; i < 10 ; i ++ ) { let result = i % 5 console . log ( result ) } 即 0 , 1 , 2 , 3 , 4 一直循环,五布一轮回 正常情况下,两边的数据类型要一致 ​ 运算符优先级:高级的优先级相与低级的优先级运算。 ​ 可以通过添加()来改变优先级,只能有小括号。如:((3+2)*3)+(4 * 3) * 3 二。三目运算符 (表达式:能够返回值) 1.组成:三个部分构成:A B C: A?B:C。可以相当于if else. 2.读法:如果A成立,执行B,否则执行C。如: let isHapppy = true isHappy?"我很高兴":"我不高兴" 结果:"我很高兴" 3.注意:B和C只能是表达式,不能是语句(带有分号的。如:console.log(a)).可以通过函数的分装来执行 4.可嵌套。案例: let a = 10 , b = 15 , c = 8 (a > b) ? ( a > ( c ? a : c ) ) : (