❶ c语言中运算符有哪几种,优先级顺序是怎样
C语言中,运算符除了常见的三大类,算术运算符、关系运算符与逻辑运算符之外,还有一些用于完成特殊任务的运算符。
运算符的运算优先级共分为15 级,1 级最高,15 级最低。 在表达式中,优先级较高的先于优先级较低的进行运算。而在一个运算量两侧的运算符 优先级相同时,则按运算符的结合性所规定的结合方向处理。
一级运算符:标识,常量,字符串文字量,优先级提升表达式最优先执行。
二级运算符:数组下标运算(expression)、函数调用(argument-expression-list)、成员访问(identifier、-> identifier)、后缀自增(i++)、后缀自减(i--)、复合初始化(initializer-list)。
三级运算符:前缀自增(++i)、前缀自减(--i)、单目转型表式式(取地址& ,提领 * , 正号+ ,负号-、位反~ 逻辑否!)、求类型长度(sizeof unary-expression)。
四级运算符:强制表达式成为type-name指定的类型( type-name ) cast-expression。
五级运算符:“ * ” 乘法运算符。
六级运算符:“ + ”加法运算符。
七级运算符:<< 左移运算符;>> 右移运算符。
八级运算符:<、<=、>、>=关系运算符。
九级运算符:“ == ”等于运算符;“ != ”不等于运算符。
十级运算符:“ & ”按位与运算符。
十一级运算符:“ ∧ ”按位异或运算符。
十二级运算符:“ | ”按位或运算符。
十三级运算符:“&&”逻辑与运算符。
十四级运算符:“ || ”逻辑或运算符。
十五级运算符:? :条件运算符。
(1)c语言运算符优先口诀扩展阅读
C语言中各运算符的结合性:
1、左结合性(自左至右):
例如算术运算符的结合性是自左至右,即先左后右。如有表达式x-y+z 则y 应先与“-”号结合,执行x-y 运算,然后再执行+z 的运算。这种自左至右的结合方向就称为“左结合性”。
2、右结合性(自右至左)
自右至左的结合方向称为“右结合性”。最典型的右结合 性运算符是赋值运算符。如x=y=z,由于“=”的右结合性,应先执行y=z 再执行x=(y=z)运算。C语言运算符中有不少为右结合性,应注意区别,以避免理解错误。
❷ 怎样记住c语言运算符优先级有什么秘诀
要了解c语言运算符优先级高低就先从通常数学上运算优先级高低说起。
通常,一个数学算式里如果有加减乘除和括号,我们会先算括号里面的式子,再算括号外面的乘除再然后才是加减。那么这时候我们说括号的优先级比加减乘除的要高,所以我们就先计算括号里的式子。然后是乘除,再然后才是加减。其中加减乘除就是运算符。所以运算符的高低决定了运算的先后顺序。
同理。c语言中的运算优先级和这一个样,只要你把运算符的优先级记住就可以了。
❸ C语言里面的运算符优先顺序如何
C语言中,运算符的运算优先级共分为15 级。1 级最高,15 级最低。 在表达式中,优先级较高的先于优先级较低的进行运算。而在一个运算量两侧的运算符 优先级相同时,则按运算符的结合性所规定的结合方向处理。
各等级运算符如下:
(以下说明中,对传统的1级和2级做了细化,1和2对应传统1级,3和4对应传统2级,所以细化说明共有17级。)
1、基本表达式 1级
基本表达式(Primary expressions),主要是用于运算符之间,做为运算数。
标识,常量,字符串文字量,优先级提升表达式最优先执行。
优先级提升表达式是指圆括号包围的表达式,如“( expression )”
2、后缀表达式 2级
postfix-expression [ expression ],数组下标运算。
postfix-expression ( argument-expression-list),函数调用,括号内的参数可选。
postfix-expression . identifier,成员访问,
postfix-expression -> identifier,成员访问,->号之前应为指针。
postfix-expression ++,后缀自增
postfix-expression --,后缀自减
( type-name ) { initializer-list }
( type-name ) { initializer-list , } 复合初始化,C99后新增。
3、单目/一元运算 3级
++ unary-expression 前缀自增
-- unary-expression 前缀自减
unary-operator cast-expression 单目转型表式式, 包括 取地址& ,提领 * , 正号+ ,负号- 位反~ 逻辑否!。
sizeof unary-expression 求类型长度,对表达式求类型长度
sizeof ( type-name ) 求类型长度
4、强制类型表达式 4级
( type-name ) cast-expression,强制表达式成为type-name指定的类型。
5、乘法表达式 5级
“ * ” 乘法运算符;“ / ”除法运算符;“ % ” 取余运算符。
6、加法运算符 6级
“ + ”加法运算符;“ - ”减法运算符。
7、移位运算符 7级
<< 左移运算符;>> 右移运算符。
8、关系运算符 8级
<、<=、>、>=关系运算符。
9、相等运算符 9级
“ == ”等于运算符;“ != ”不等于运算符。
10、位与运算符 10级
“ & ”按位与运算符
11、位异或运算符 11级
“ ∧ ”按位异或运算符(Bitwise exclusive OR operator)。
12、位或运算符 12 级
“ | ”按位或运算符(Bitwise inclusive OR operator)。
13、逻辑与运算符 13级
“&&”逻辑与运算符。
14、逻辑或运算符 14 级
“ || ”逻辑或运算符。
15、三元条件运算符 15级
? :条件运算符。
16、赋值运算符 16 级
=、 +=、 -=、 *=、 /=、 %=、 &=、 ^=、 |=、 <<=、 >>=赋值运算符。
17、逗号运算符 17级
“,”逗号运算符。
具体可参见下图:
❹ 运算符优先级顺序口诀
运算符优先级顺序是先乘除,后加减。
先乘除,后加减。我们常常说四则运算,其实四则运算也是有固定规律的,加减是一级运算,乘除是二级运算。当我们计算的时候在没有括号的情况下,如果同时有加减运算和乘除运算,那我们应该先乘除,后加减。有括号时,先算小括号里的,再算中括号里的,最后算括号外的。
四则运算是数学的最基本运算法则,主要指加,减,乘,除四种运算。在学习基本运算法则时,还会有一些基本的运算关式。加法加法交换律:a+b=b+a。加法结合律 a+b+c=a+(b+c)=(a+b)+c。减法a-b=-(b-a),a-b-c=a-(b+c)。减法有一个口诀加括号,变符号。乘法乘法交换律axb=bxa。乘法结合律axbxc=ax(bxc)。乘法分配律: ax(b+c)=ab+ac。小学数学试题中经常就会用到乘法分配律,来提取公因数,简化计算。
❺ c语言运算符优先级从高到低的顺序依次为
c语言运算符优先级从高到低的顺序依次如下:
优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。表达式的结合次序取决于表达式中各种运算符的优先级。优先级高的运算符先结合,优先级低的运算符后结合,同一行中的运算符的优先级相同。
不同类型的运算符之间也有相应的优先级顺序。
一个表达式中既可以包括相同类型的运算符,也可以包括不同类型的运算符或者函数。当多种运算符出现在同一个表达式中时,应该先按照不同类型运算符间的优先级进行运算。
各种运算符间的优先级如下:数值运算符、字符串运算符、关系运算符、逻辑运算符。可以用括号改变优先级顺序,使得括号内的运算优先于括号外的运算。对于多重括号,总是由内到外强制表达式的某些部分优先运行。括号内的运算总是最优先计算。
❻ C语言 符号优先级的排列顺序
分为优先级15级:
1、圆括号【()】、下标运算符【[]】、分量运算符的指向结构体成员运算符【->】、结构体成员运算符【.】;
2、逻辑非运算符【!】、按位取反运算符【~】、自增自减运算符【++】【 --】、负号运算符【-】、类型转换运算符【(类型)】、指针运算符和取地址运算符【*】【&】、长度运算符【sizeof】;
3、乘法运算符【*】、除法运算符【/】、取余运算符【%】;
4、加法运算符【+】、减法运算符【-】;
5、左移动运算符【<<】、右移动运算符【>>】;
6、关系运算符【< 】【>】【<=】【 >= 】;
7、等于运算符【==】、不等于运算符【!=】;
8、按位与运算符【&】;
9、按位异或运算符【^】;
10、按位或运算符【|】;
11、逻辑与运算符【&&】;
12、逻辑或运算符【||】;
13、条件运算符【?:】;
14、赋值运算符【=】【/=】【*=】【%=】【+=】【-=】【<<=】【>>=】【&=】【^=】【|=】;
15、逗号运算符【,】。
(6)c语言运算符优先口诀扩展阅读:
C语言中各运算符的结合性:
1、左结合性(自左至右):
例如算术运算符的结合性是自左至右,即先左后右。如有表达式x-y+z 则y 应先与“-”号结合,执行x-y 运算,然后再执行+z 的运算。这种自左至右的结合方向就称为“左结合性”。
2、右结合性(自右至左)
自右至左的结合方向称为“右结合性”。最典型的右结合 性运算符是赋值运算符。如x=y=z,由于“=”的右结合性,应先执行y=z 再执行x=(y=z)运算。C语言运算符中有不少为右结合性,应注意区别,以避免理解错误。
❼ C语言运算符优先级顺序
一共有十五个优先级:
1
()
[]
.
->
2
!
~
-(负号)
++
--
&(取变量地址)*
(type)(强制类型)
sizeof
3
*
/
%
4
+
-
5
>>
<<
6
>
>=
<
<=
7
==
!=
8
&
9
^
10
|
11
&&
12
||
13
?:
14
=
+=
-=
*=
/=
%=
|=
^=
&=
>>=
<<=
15
,
就着多吧
结合性:2
13
14
是从右至左
其他都是
从左至右
有问题可以在交流的
共同进步
❽ C语言中30多个运算符的优先级顺序
32多个运算符的优先级顺序如下
1、auto
声明自动变量
2、short
声明短整型变量或函数
3、int
声明整型变量或函数
4、long
声明长整型变量或函数
5、float
声明浮点型变量或函数
6、double
声明双精度变量或函数
7、char
声明字符型变量或函数
8、struct
声明结构体变量或函数
9、union
声明共用数据类型
10、enum
声明枚举类型
11、typedef
用以给数据类型取别名
12、const
声明只读变量
13、unsigned
声明无符号类型变量或函数
14、signed
声明有符号类型变量或函数
15、extern
声明变量是在其他文件正声明
16、register
声明寄存器变量
17、static
声明静态变量
18、volatile
说明变量在程序执行中可被隐含地改变
19、void
声明函数无返回值或无参数,声明无类型指针
20、if
条件语句
21、else
条件语句否定分支(与 if 连用)
22、switch
用于开关语句
23、case
开关语句分支
24、for
一种循环语句
25、do
循环语句的循环体
26、while
循环语句的循环条件
27、goto
无条件跳转语句
28、continue
结束当前循环,开始下一轮循环
29、break
跳出当前循环
30、default
开关语句中的“其他”分支
31、sizeof
计算数据类型长度
32、return
子程序返回语句(可以带参数,也可不带参数)循环条件
(8)c语言运算符优先口诀扩展阅读
1、==和!=优先级相等,其他四个关系运算符的优先级相等,且前者的优先级低于后者。
如2==3>1 应该先计算3>1。
2、关系运算符中,若优先级相同,则“从左往右”结合。
如4>3<2,先计算4>3
3、关系运算符中的优先级小于算术运算符。
如3+4>8-2 相当于(3+4)> (8-2)
❾ C语言中运算顺序有哪些规律
优先级是对多个函数并列时候优先算法的特权,没有注意优先级的顺序就会把算法出错,这些优先级是必须记住的。下面的是我自己总结的关于C优先级的口诀.当然,应用这个口诀的前提是你必须认识所有的C语言的运算符。优先决括号成员第一; //括号运算符[]() 成员运算符. -全体单目第二; //所有的单目运算符比如++ -- +(正) -(负) 指针运算*&乘除余三,加减四; //这个"余"是指取余运算即%移位五,关系六; //移位运算符:<< ,关系: < = <= 等等于(与)不等排第七; //即== !=位与异或和位或; //这几个都是位运算: 位与(&)异或(^)位或(|)"三分天下"八九十;逻辑或跟与; //逻辑运算符:|| 和 &&十二和十一; //注意顺序:优先级(||) 底于 优先级(&&)条件高于赋值