C 语言中,赋值被认为是一种运算,有赋值运算符将一个变量和一个表达式连接起来的式子称为赋值表达式。其形式为:1.赋值运算符赋值运算符为“=”,功能是将赋值运算符右边的表达式的值赋给其左边的变量。......
2023-10-21
对于C语言中的运算符来说,若按照运算符能连接运算对象的个数(即运算符的目)来分,包括:
·单目运算符:只能连接一个运算对象,如++、--等。
·双目运算符:可以连接两个运算对象,如*、%等。C语言中的运算符大多数属于双目运算符。
·三目运算符:可以连接三个运算对象,C语言中只有一个三目运算符,即条件运算符。
若根据运算符的性质,C语言的运算符主要包括以下几类:
·算术运算符:用于各类数值运算,包括加、减、乘、除、求余(模运算)、自增、自减等。
·关系运算符:用于数据之间的比较运算,包括大于、小于、等于、大于等于、小于等于、不等于。
·逻辑运算符:用于在程序中构成复杂的条件判断,包括与、或、非等。
·位运算符:用于实现位操作,即对数据按二进制位方式进行运算,包括位与、位或、位非、位异或、左移、右移等。
·赋值运算符:用于对数据对象的赋值运算,赋值运算分为简单赋值和复合赋值两大类。
·条件运算符:它是唯一的一个三目运算符,用于简单的双分支求值运算。(www.chuimin.cn)
·逗号运算符:用于把若干表达式组合成一个表达式,在程序中主要用于同时处理或控制多个数据对象。
·指针类运算符:包括取地址和取内容两种运算,用于处理与地址相关的应用。·sizeof运算符:用于计算数据对象所占用的存储空间的字节长度(字节数)。·特殊运算符:包括圆括号、方括号、成员运算符等。
C程序中,运算符必须与运算对象结合在一起才能体现其功能,与运算符密切相关的程序构成成分是表达式。用运算符将运算对象连接起来的、符合C语言语法规则的式子称为C语言的表达式。一个表达式有一个值及其类型,它们等于计算表达式所得结果的值和类型。单个的常量、变量、函数可以看作是表达式的特例。C语言表达式中的所有成分都必须以线性形式书写,没有分式,也没有上下标。例如,数学表达式:
在C程序中应书写成如下所示的表达式:
(x+b*b)/(a*b)+(a+b)/(a-b)
表达式求值按运算符的优先级和结合性规定的顺序进行。运算符的优先级是指在使用不同的运算对象进行计算时的先后顺序,C语言中运算符的优先级共分为15级,1级最高,15级最低。当一个表达式中出现不同类型的运算符时,首先按照它们的优先级顺序进行运算,即先对优先级高的运算符进行计算,再对优先级低的运算符进行计算。当两类运算符的优先级相同时,则按照运算符的结合性确定运算顺序。
C语言中运算符的结合性分为左结合和右结合。左结合(即从左至右)的含义是数据对象先和其左边的运算符结合在一起参与运算;右结合(即从右至左)的含义是数据对象先和其右边的运算符结合在一起参与运算。例如,对于表达式a+b-c的计算需要考虑结合性,加(+)减(-)都是左结合性,所以b应该先与其左边的加法运算符结合在一起参与运算(即先计算a+b),然后再进行其他运算。表2.6给出了C语言中的运算符、运算符的优先级和结合性。
表2.6 运算符及运算符的优先级和结合性
有关C语言程序设计基础(第3版)的文章
C 语言中,赋值被认为是一种运算,有赋值运算符将一个变量和一个表达式连接起来的式子称为赋值表达式。其形式为:1.赋值运算符赋值运算符为“=”,功能是将赋值运算符右边的表达式的值赋给其左边的变量。......
2023-10-21
如:8/6);%(模运算符,或称求余运算符,%两侧均应为整型数据。C语言规定了运算符的优先级运算原则:在表达式的求值运算过程中,从左至右,按优先级别的高低执行。自增自减运算符只能用于变量,不能用于常量。例2.6自增自减运算符的使用。......
2023-11-18
用逗号运算符可以将两个及两个以上表达式连接起来,所形成的就是逗号表达式。其一般形式为:如:逗号表达式的求值过程是:自左向右,先求表达式1 的值,再求表达式2 的值,…需要注意的是,并不是任何地方出现的逗号都作为逗号运算符。进一步的表达式中只剩下了逗号运算符和赋值运算符,赋值运算的优先级高于逗号运算符,括号内逗号表达式的结果为5,再将5 赋值给变量i,最后变量i 的值为5。......
2023-10-21
例如:a*b/c-pow(d,3)是一个合法的算术表达式。算术表达式不允许有分子分母的形式。算术运算符中,*、/、%这三个运算符优先级相同,同时出现时从左至右计算。+、-运算符优先级低于*、/、%运算符,结合方向也是自左至右。计算算术表达式时,要按照对应运算符的优先级和结合性进行处理。......
2023-10-21
运算量只能是整型或字符型的数据,不能为实型数据。“按位与”运算通常用来对某些位清0或保留某些位。“按位或”运算常用来对一个数据的某些位定值为1。~取反运算符的优先级比算术运算符、关系运算符、逻辑运算符和其他位运算符都高。若a=a<<2,则将a的二进制数左移2位。例2.7右移实例。......
2023-11-18
C语言中逻辑运算符及其含义见表3.2。表3.2逻辑运算符及其含义逻辑运算符“&&”和“||”是双目运算符,具有左结合性;“!”表3.3逻辑运算真值表C语言中进行逻辑表达式求值运算时,不但要注意逻辑运算符本身的运算规则,而且还必须要遵循下面的两条原则:·对逻辑表达式从左到右进行求解。......
2023-11-20
逻辑运算符中的“ & & ”和“||”的优质级低于关系运算符,而“!”的优质级高于算术运算符。C语言编译系统在给出逻辑运算结果时,以数值“1”代表“真”,以“0”代表“假”。在逻辑表达式求解中,并不是所有的逻辑运算符都执行。图2.4逻辑运算符的优先级......
2023-11-18
二进制文件的特点是存储效率较高,但不便于程序中直观地进行数据处理。非缓冲文件系统指的是不由系统开辟文件缓冲区,而是由程序员为用到的每个文件设置数据缓冲区,并自行对文件缓冲区进行管理。C语言中,用一个系统已经构造好的文件类型变量来保存这些信息。......
2023-11-20
相关推荐