运算符优先级

C语言之运算符基础----防备忘

孤人 提交于 2020-01-19 18:57:12
C语言之运算符基础----防备忘 优先级 运算符 备注 结合方向 1 ()、[ ] 、-> 、 . 优先级最高 2 !、 ~ 、++ 、-- 、- 、(类型强转) 、*、&、sizeof ①唯一单目运算符②!逻辑非运算符③~按位取反运算符④*指针运算符 自右至左 3 *、/、% 算数运算符 4 .+、- 算数运算符 5 <<、>> 左、右移运算符 6 <、<=、>、>= 关系运算符 7 ==、!= 关系运算符 8 & 按位与 运算符 9 ^ 按位异或 运算符 两位不同为1,两位相同为0 10 l 按位或 运算符 11 && 逻辑与 运算符 12 l l 逻辑或 运算符 13 ?: 条件运算符 自右至左 14 =、+=、-=、*=、/=、%=、>>=、<<=、&=、^= 赋值运算符 自右至左 13 , 逗号运算符(顺序求值运算符) 简洁的优先级表格【由上往下,优先级降低】 运算符 备注 ()、[ ]、->、 . 括号类的最高 !、~、剩余的全部单目运算符 注意!、~的含义 算符运算符 乘除余 > 加减 左、右移运算符 关系运算符 ==、!= 最低 & 按位与 ^ 按位异或 l 按位或 && 逻辑与 l l 逻辑或 ? : 条件运算符 赋值运算符 逗号运算符 来源: CSDN 作者: 秋山刀名鱼丶 链接: https://blog.csdn.net/qq_26039331

运算符

不打扰是莪最后的温柔 提交于 2020-01-19 16:08:32
1+2 数字之和 加 1-2 数字只差 减 2*3 数字的乘积 乘 5/2 数字的除法 除 5//2 数字除法取整 取整除 9%2 数字除法取余数 取余数 2**10 数字的指数运算 乘方运算 计算机运算时是有优先级的,可以用括号改变运算优先级 python 语言中只用()改变运算优先级 来源: https://www.cnblogs.com/LiChuYa/p/12213788.html

python运算符

假装没事ソ 提交于 2020-01-19 15:16:08
 运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。在python中有7个运算符,分别有:算术运算符、比较(关系)运算符、赋值运算符、逻辑运算符、位运算符、成员运算符、身份运算符。  算术运算符   算数运算符有 + - * / % // ** 7个。   注意:使用运算符时,左边对象的 自身方法或 自身的反向方法(如 : __add__ 和 __radd__ )是否符合它们的要求,否者就会报错“TypeError”。   1 、+     用于对象之间的相加,通常用于 数字 的加法运算和 字符串 拼接。 a1 = 10 b1 = 20 a2 = "abc" b2 = "def" print(a1 + b1) ############################################## # 结果 abcdef print(a2 + b2) ############################################## # 结果 30 print(a1 + b2) # ########################################### # 不符合 __add__ 、 __radd__ 要求会报错 # TypeError: unsupported operand type(s) for +: 'int' and 'str'

Java千问:学透Java自增(++)自减(--)运算符,看这一篇就够了!

删除回忆录丶 提交于 2020-01-19 13:28:17
同很多高级编程语言一样,Java语言的运算符系统当中也有自增(++)和自减(--)这两个运算符。很多小伙伴对这两个运算符都深感头疼,并且很多公司在面试的时候也经常会问到与之相关的问题,今天我们就通过一篇文章来深度解析一下这两个运算符,相信在看过这篇文章之后,你再也不会被自增(++)和自减(--)运算符难住。由于自增和自减运算符的原理完全相同,所以我们在讲解的时候仅以自增运算符举例。(预警:本文举例较多,篇幅较长,请耐心看完) 一、基本运算规则介绍 自增(++)和自减(--)运算符是对变量在原始值的基础上进行加1或减1的操作。它们都有前缀和后缀两种形式。前缀形式的运算规则可以概括为:”先自增(减),后引用”,而后缀形式的运算规则可以概括为:”先引用,后自增(减)”。这里所说的”引用”,指的是使用变量的值。另外,我们还要强调一个细节: 无论是前缀形式还是后缀形式,自增自减运算符的优先级要高于赋值运算符 。大家要记清楚这个细节,后文还会针对这个细节进行论述。下面我们就分为几种情况来研究++和--在不同场合下的运算效果。 二、语句中仅有++或-- 请看代码: 我们可以看到,这段代码中总共有3条语句,其中第2条语句中仅有一个后缀形式++操作,程序的输出结果是3。那么我们再来看另外一段代码: 这段代码与之前的那段代码基本一样,只是第2条语句中,后缀形式的++操作被换成了前缀形式

[C++学习日记]-04-基础运算

本小妞迷上赌 提交于 2020-01-19 03:53:41
基础运算 程序不能没有运算,如果没有运算那将毫无意义 算术运算符 C++支持一下这些算术运算符 # 名称 符号 示例 1 加法 + x+y 2 减法 - x-y 3 乘法 * x*y 4 除法 / x/y 5 求余 % x%y 加法: 加法是从一个数中加上另一个数的运算,也就是求和 int x = 80 + 8 ; cout << x ; //输出88 减法 减法是从一个数中减去另一个数的运算 int x = 88 - 8 ; cout << x ; //输出80 乘法 乘法是指将相同的数加起来的快捷方式: int x = 3 * 8 ; cout << x ; //输出24 除法 已知两个因数的积与其中一个因数,求另一个因数的运算,叫做除法: int x = 24 / 3 ; cout << x ; //输出8 如果一个或两个操作数都是浮点值,则除法运算符执行浮点除法。 除数不能为0,否则会使程序崩溃 求余 求余是一种数学计算方法,指一个数除以另一个数,不够除的部分就是余数,就是求余的结果: int x = 24 % 5 ; cout << x ; // 输出4 运算的优先级 做复合运算的时候,运算符的优先级直接决定了等式的运算结果,比如乘法的优先级就高于加法运算的优先级: int x = 5 + 2 * 2 ; cout << x ; // x的值等于9,而不是14 和数学一样

将中缀表达式转换成后缀表达式

倖福魔咒の 提交于 2020-01-18 12:05:34
我们人脑很容易理解中缀表达式,但是中缀表达式在计算机并不好计算,所有我们要将中缀表达式转换成后缀表达式,因为后缀表达式是很容易计算的。为什么要写一个这样的程序呢?原因是我一开始想写一个计算机,它能够将输入的表达式的值计算出来。一开始觉得这样子的程序应该是很简单的,然后开始动手写,开始写了之后才发现并不是那么简单。后来我知道了后缀表达式,才知道原来要这样子才能将表达式的值计算出来。 言归正传 首先是将中缀表达式转换成后缀表达式的方法: 1、遇到操作数:直接输出(添加到后缀表达式中) 2、栈为空时,遇到运算符,直接入栈 3、遇到左括号:将其入栈 4、遇到右括号:执行出栈操作,并将出栈的元素输出,直到弹出栈的是左括号,左括号不输出 5、遇到其他运算符:加减乘除:弹出所有优先级大于或者等于该运算符的栈顶元素,然后将该运算符入栈 6、最终将栈中的元素依次出栈,输出 看似很简单,但是写起来真的很头痛。为此我画了好多流程图。我觉得画流程图挺好的,能加深理解。 这次我决定用C 语言。 首先要做一些准备工作。 一、实现堆栈的数据结构,具有以下方法: 1. 初始化堆栈,返回堆栈指针 2. 压入一个元素 3. 弹出一个元素 我所实现的这个堆栈的栈顶元素是空的,它只用于指向堆栈的第一个元素,如果堆栈为空的则它指向NULL。 具体代码: //实现栈的数据结构 typedef struct Node {

Java变量、数据类型和运算符

北城余情 提交于 2020-01-18 09:26:22
1. 变量 计算机处理数据,变量被用来存储处理的数据,之所以叫做变量因为你可以改变存储的值。更确切的说,一个变量指向着一块存储特定类型值的地址,换句话说,一个变量有名称、类型和值。一个变量有一个名称,例如radius、area、age和height,每个变量的名称都是唯一的,这边可以方便我们设置和获取变量的值。 我们简单的拿生活中的旅馆来举例 旅馆中的房间 变量 房间名称 变量名 房间类型 变量类型 入住的客人 变量的值 通过变量名可以简单快速的找到他存储的数据。将数据指定给变量,就是将数据存储到以别名为变量名的那个房间;调用变量,就是将那个房间中的数据取出来使用。可见,变量是存储数据的一个基本单元,不同的变量相互独立。 一个变量有一种类型,下面是Java类型的列子: int: 表示整数例如123和-456 double: 表示浮点数例如3.1416、-55.66、1.2e3和-4.5E-6 String: 表示文本例如"Hello"、"Good Morning!",文本通常嵌入在双引号里面 char: 表示单个字符例如'a','8',单个字符通常嵌入在单引号里面。 变量存储特定类型的值,编程中要特别注意变量类型,举例:一个int变量存储整数123,但是不能存储浮点数12.34,同样也不能存储文本"Hello"。 早期的编程语言中引入了类型的概念来解释二进制01数据

PEP 8(自己百度翻译版)

雨燕双飞 提交于 2020-01-18 06:49:05
文章目录 代码布局 缩进 制表符还是空格? 最大线长度 在二进制运算符之前或之后应该换行吗? 空行 源文件编码 Imports Dunder名称级模块 字符串引号 表达式和语句中的空格 讨厌的事 其他建议 何时使用尾随逗号 注释 块注释 行内注释 文档字符串 命名约定 压倒一切的原则 描述性:命名样式 规定性:命名约定 要避免的名字 ASCII兼容性 包和模块名称 类名 类型变量名 异常名称 全局变量名 函数和变量名 函数和方法参数 方法名和实例变量 常数 为继承而设计 公共和内部界面 编程建议 函数注解 变量注释 原文: https://www.python.org/dev/peps/pep-0008/ 代码布局 缩进 每个缩进级别使用4个空格。 续行应该使用Python在括号、方括号和大括号内的隐式行连接,或者使用挂起的缩进来垂直对齐换行元素。使用挂起缩进时,应考虑以下内容:第一行不应有参数,应使用进一步的缩进来清楚地将自己区分为连续行。 应该的: # 与开头分隔符对齐 foo = long_function_name ( var_one , var_two , var_three , var_four ) # 添加4个空格(额外的缩进级别)以区分参数与其他参数 def long_function_name ( var_one , var_two , var_three ,

第2章 Java编程基础——FAQ2.15 Java中有哪些运算符?优先级如何?

心已入冬 提交于 2020-01-18 02:01:30
FAQ2.15 Java中有哪些运算符?优先级如何? 答: Java语言中的表达式是由运算符与操作数组合而成的,所谓的运算符就是用来做运算的符号。 在Java中的运算符,基本上可分为算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符、转型运算符等。 一、算术运算符 所谓算术运算符,也就是我们数学中学到的加、减、乘、除等运算。这些操作可以对几个不同类型的数字进行混合运算,为了保证操作的精度,系统在运算的过程中会做相应的转换。 1、数字精度 所谓数字精度,也就是系统在做数字之间的算术运算时,为了尽最大可能地保持计算机的准确性,而自动进行相应的转换,将不同的数据类型转变为精度最高的数据类型。规则如下: 1)当使用运算符把两个操作数结合到一起时,在进行运算前两个操作数会转化成相同的类型。 2)两个操作数中有一个是double类型的,则另一个将转换成double型。 3)两个操作数中有一个是float类型的,则另一个将也转换成float型。 4)两个操作数中有一个是long类型的,则另一个将也转换成long型。 5)任何其它类型的操作,两个操作数都要转换成int类型。 2、整数型运算(int型) 对于int型的相关操作,加、减、乘的结果都是非常容易理解的,重点讲一下除(/)的运算。 两个整数相除的结果是整数,这一点与数学中是不同的,在Java中,两个整数相除的结果类似于数学中的求模运算

运算符

流过昼夜 提交于 2020-01-17 22:56:53
华氏℉(Fahrenheit)=℃×9/5+32.摄氏℃ 数学运算符 1. + - * / int i = 0; i = 0 - 1; i = 1 * 4; i = 9 / 3; Console.Write(i); Console.ReadLine(); 2. % //显示的是余数! int a = 1; double b = 2.2; double c = 11.1 % 3; //显示的是余数! c=2.1 Console.WriteLine(c); Console.ReadLine(); 3. ++-- ++,--分别表示 加1,减1. int i = 6; int a; a = i++; //a=6,i=7即 先赋值 再运算;此时表示,a=i,i=i+1; a = ++i; //a=7,i=6即 先运算 再赋值!此时表示,a=i+1,i=i; Console.WriteLine(i); Console.ReadLine(); 4. +=,-=,*=,/= 赋值运算符 i += 2; // 此时表示 i+ =i+2; i -= 3; // 此时表示 i- =i-3; i /= 5; // 此时表示 i/ =i/5; i *= 6; // 此时表示 i* =i*6; 练习,输入半径求圆面积! Console.WriteLine("圆的半径:"); double a=double