如:8/6);%(模运算符,或称求余运算符,%两侧均应为整型数据。C语言规定了运算符的优先级运算原则:在表达式的求值运算过程中,从左至右,按优先级别的高低执行。自增自减运算符只能用于变量,不能用于常量。例2.6自增自减运算符的使用。......
2023-11-18
在汇编语言程序设计中,会经常使用各种表达式,表达式一般由变量、常量、运算符和括号构成。常用的表达式有算术运算表达式、移位运算表达式、位逻辑运算表达式、关系运算表达式、逻辑运算表达式和字符串表达式等,其运算次序遵循如下的优先级:
(1)优先级相同的双目运算符的运算顺序为从左到右。
(2)相邻单目运算符的运算顺序为从右到左,且单目运算符的优先级高于其他运算符。
(3)括号运算符的优先级最高。
1.算术运算符及表达式
算术表达式一般由数字常量、数字变量、数字运算符和括号构成。相关的运算符有“+”“-”“×”“/”“MOD”算术运算符,分别代表加、减、乘、除和取余数运算。
例如,以X和Y表示两个数字表达式,则各算术运算符的使用如下:
2.移位运算符及表达式
移位运算符包括“ROL”“ROR”“SHL”“SHR”4种,分别代表循环左移、循环右移、左移、右移运算。
例如,以X和Y表示两个数字表达式,则各移位运算符的使用如下:
3.位逻辑运算符及表达式
位逻辑运算符包括“AND”“OR”“NOT”“EOR”4种,分别代表按位作逻辑与、或、非及异或运算。
例如,以X和Y表示两个数字表达式,则各位逻辑运算符的使用如下:
4.关系运算符及表达式
关系运算符包括“=”“>”“<”“>=”“<=”“/=”“<>”共7种,其表达式的运算结果为真或假。
例如,以X和Y表示两个逻辑表达式,则各关系运算符的使用如下:
5.逻辑运算符及表达式
逻辑运算符包括“LAND”“LOR”“LNOT”“LEOR”4种,分别代表逻辑与、或、非及异或运算。
例如,以X和Y表示两个逻辑表达式,则各逻辑运算符的使用如下:
6.字符串运算符及表达式
字符串表达式一般由字符串常量、字符串变量、运算符和括号构成。编译器所支持的字符串最大长度为512字节。常用的与字符串表达式相关的运算符如下:
(1)LEN运算符:返回字符串的长度(字符数),以X表示字符串表达式。
格式: :LEN:X
(2)CHR运算符:将0~255之间的整数转换为一个字符,以M表示某一个整数。
格式: :CHR:M
(3)STR运算符:将一个数字表达式或逻辑表达式转换为一个字符串。对于数字表达式,STR运算符将其转换为一个以十六进制组成的字符串;对于逻辑表达式,STR运算符将其转换为字符串"T"或"F"。(www.chuimin.cn)
格式: :STR:X
注意:X为一个数字表达式或逻辑表达式。
(4)LEFT运算符:返回某个字符串左端的一个子串。
格式:X:LEFT:Y
注意:X为源字符串,Y为一个整数,表示要返回的字符个数。
(5)RIGHT运算符:与LEFT运算符相对应,RIGHT运算符返回某个字符串右端的一个子串。
格式:X:RIGHT:Y
注意:X为源字符串,Y为一个整数,表示要返回的字符个数。
(6)CC运算符:用于将两个字符串连接成一个字符串。
格式:X:CC:Y
注意:X为源字符串1,Y为源字符串2,CC运算符将Y连接到X的后面。
7.其他常用运算符
(1)BASE运算符:返回基于寄存器的表达式中寄存器的编号。
格式: :BASE:X
注意:X为与寄存器相关的表达式。
(2)INDEX运算符:返回基于寄存器的表达式中相对于其基址寄存器的偏移量。
格式::INDEX:X
注意:X为与寄存器相关的表达式。
(3)?运算符:返回某代码行所生成的可执行代码的长度。
格式: ?X
注意:返回定义符号X的代码行所生成的可执行代码的字节数。
(4)DEF运算符:判断是否定义某个符号。
格式: :DEF:X
注意:如果符号X已经定义,则结果为真,否则为假。
有关嵌入式系统原理及应用:基于ARM Cortex-M4体系结构的文章
如:8/6);%(模运算符,或称求余运算符,%两侧均应为整型数据。C语言规定了运算符的优先级运算原则:在表达式的求值运算过程中,从左至右,按优先级别的高低执行。自增自减运算符只能用于变量,不能用于常量。例2.6自增自减运算符的使用。......
2023-11-18
逻辑运算符中的“ & & ”和“||”的优质级低于关系运算符,而“!”的优质级高于算术运算符。C语言编译系统在给出逻辑运算结果时,以数值“1”代表“真”,以“0”代表“假”。在逻辑表达式求解中,并不是所有的逻辑运算符都执行。图2.4逻辑运算符的优先级......
2023-11-18
运算量只能是整型或字符型的数据,不能为实型数据。“按位与”运算通常用来对某些位清0或保留某些位。“按位或”运算常用来对一个数据的某些位定值为1。~取反运算符的优先级比算术运算符、关系运算符、逻辑运算符和其他位运算符都高。若a=a<<2,则将a的二进制数左移2位。例2.7右移实例。......
2023-11-18
1.自增运算符自增运算符“++”的作用是使变量值自动加1。注意:1)自增运算符和自减运算符只能用于变量而不能用于常量表达式。2)自增运算符和自减运算符的结合方向是“自右向左”。算术运算符和位运算都可以与赋值运算符“=”一起组成复合赋值运算符。复合运算符共有10种,包括5种复合算术运算符和5种复合位运算符。......
2023-11-17
C 语言中,赋值被认为是一种运算,有赋值运算符将一个变量和一个表达式连接起来的式子称为赋值表达式。其形式为:1.赋值运算符赋值运算符为“=”,功能是将赋值运算符右边的表达式的值赋给其左边的变量。......
2023-10-21
自增、自减运算符是C 语言中最具特色的两个单目运算符,其操作对象只有一个,这两个运算符既可以放在操作数之前,也可以放在操作数之后。自增、自减运算符的结合方向为自右至左。......
2023-10-21
C语言中的运算符大多数属于双目运算符。C程序中,运算符必须与运算对象结合在一起才能体现其功能,与运算符密切相关的程序构成成分是表达式。用运算符将运算对象连接起来的、符合C语言语法规则的式子称为C语言的表达式。一个表达式有一个值及其类型,它们等于计算表达式所得结果的值和类型。表2.6给出了C语言中的运算符、运算符的优先级和结合性。......
2023-11-20
用逗号运算符可以将两个及两个以上表达式连接起来,所形成的就是逗号表达式。其一般形式为:如:逗号表达式的求值过程是:自左向右,先求表达式1 的值,再求表达式2 的值,…需要注意的是,并不是任何地方出现的逗号都作为逗号运算符。进一步的表达式中只剩下了逗号运算符和赋值运算符,赋值运算的优先级高于逗号运算符,括号内逗号表达式的结果为5,再将5 赋值给变量i,最后变量i 的值为5。......
2023-10-21
相关推荐