龙空技术网

第七章、C语言中的其他运算符及优先级

C语言学习探讨 329

前言:

如今小伙伴们对“c语言中优先级”大约比较关切,你们都需要了解一些“c语言中优先级”的相关知识。那么小编也在网络上搜集了一些有关“c语言中优先级””的相关知识,希望朋友们能喜欢,各位老铁们一起来了解一下吧!

上一章我们讲了基本的运算符,那么在C语言中还有一些其他的运算符,今天我们就来讲一讲C语言中还有那些运算符。

1)、关系运算符

2)、逗号运算符

逗号运算符就是将逗号前面的值作为结果赋值给后面的表达式,我说的可能不是太清楚,我们用一个例子来了解它:

3)、逻辑运算符

在这里插入一个表达式的概念:表达式是由运算符和操作数组合构成的。所以表达式可以是常数,也可以是变量或者是二者的组合,例如下面这些都属于表达式:

-6 4+21 a*(b+c/d)/20

等等,但是C语言的一个重要属性是每一个表达式都有一个值。

还有一个概念是语句:语句是构造程序的基本成分。程序是一系列带有某种必需的标点的语句集合,一个语句是一条完整的计算机指令,在C语言中语句的结束以;(分号)标识。

并且大多数语句有表达式构造而成。还是以列子说明吧:

好了语句和表达式的关系大概就这样了。

那么,我门再来说下运算符,有时候我们需要在判断条件的时候需要用到多个关系表达式,在结果满足多个条件的情况才执行程序。

假设有exp1和exp2两个表达式,通过两个表达式我们来了解下与或非对表达式的影响

· 假设exp1和exp2都为真的时候exp1&&exp2才为真(注意一下在&&运算符下,只要第一个表达式的结果是假的那么第二个表达式程序是不判断的,直接认为exp1&&exp2为假);

· 如果exp1或exp2都为真或者其中的一个表达式为真,那么exp1||exp2为真

· 如果exp1为假,那么!exp1就为真,如果exp1为真,那么!exp1为假。

我们举个列子:我想让用户输入一个整数,并且这个数如果大于1且小于10 则打印出来,我们怎么写程序呢。如果没有逻辑运算符我们可以这样写:

那么如果我们用了逻辑运算符怎么写呢??

是不是语句也变的简单多了。

4)、其他的赋值运算符

C语言有多个赋值运算符,最基本的就是上一章讲的'=',那么还有那些赋值运算符呢?

我们用一个表来说明下:

5)、条件运算符(三目运算符)?:

这是一种简洁的表示if...else的方式,它的格式是exp?x:y,意思是如果exp为真,则执行x,如果exp为假则执行y。

6)、sizeof和指派运算符(type)

这两个运算符比较特殊sizeof的用法更像函数一些,sizeof运算符以字节为单位返回七操作数的大小,操作数可以是一个具体的数据对象也可以是一个类型,如果是类型操作数必须包括在圆括号中,例如:

(type)指派运算符,就是强制转换类型将(type)后面的值的类型强制转换成type的类型,例如:

好了,C语言里面的运算符差不多就这些了,还有些位运算符大家可以自己去了解下,那么他们的优先级是怎么样的呢,请看下表(该表来自百度百科"运算符优先级"):

标签: #c语言中优先级