c语言sizeof用法_第七章、C语言中的其他运算符及优先级

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

1)、关系运算符

01e2c6da2469a05af1cfa71cfa019d36.png

2)、逗号运算符

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

79b439687161122abab5e627bb9f03a2.png

3)、逻辑运算符

f84e378f9a35738a2014ee513d5b734d.png

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

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

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

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

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

4060cfc1423b4714a464159a1ae0a04c.png

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

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

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

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

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

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

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

bb3d9d2cf45b7c53d70396c5cf78acd6.png

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

4f7df9eed5e9b35b86e50fa904f52064.png

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

4)、其他的赋值运算符

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

我们用一个表来说明下:

ca72bacd8757efa1cbfb1b24d8584ced.png

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

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

f723d4b937d07993c957dd80219a7e8c.png

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

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

444bbf4d37a0425522baae11ada5cca8.png

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

31e7dd776d43132a456b364e0c22427c.png

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

cb5d598b196f5c50eb57892e7af5f3cd.png

aafbd185b35eddadc90af934a558412b.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值