c语言运算符,C语言运算符另类分类法

C语言运算符另类分类法

原文出自:刘建文 | 学术半·IT歌·文(http://arttech.us)
一般的C语言程序设计文本对C运算符的分类大概都是分为五大类:算术运算符、 关系运算符、逻辑运算符、按位运算符和一些特殊任务的运算符。这种分类法表面上“合情合理”,事实相当的笼统含混。算术运算符好理解,什么叫关系运算符,关系可运算么?关系是什么数据值参与运算? 不甘于这种含混的分类法,这几天花了一点时间对C语言的全部运算符进行分拣,分别从设计、语义和哲学等多个角度对C运算符进行分析,并且归纳出以下五类:
  1. 计算指令
  2. 判断指令
  3. 保存指令
  4. 对象元操作指令
  5. 自定义指令
此分类的根据是机器的功能,理解它需一些计算理论知识,分类标准在尾部解析。

运算符与机器指令

从语言与机器的关系看,运算符就是操值指令,C语言操作符就是C语言机的指令。本文将[运算符]替换为更本质的[指令]一词,理解时可互换。
  • 注意:每种运算符的操作数都有约定的值类型,详细请看标准
  • 注意:运算符有优先级和结合性两项本质属性

计算指令

‘计算’一词其实不够深刻,计算的概念源自具体的特殊的算术运算,可以的话用[操值指令]更一般更深刻。

二元算术指令

  • 设计:数值计算,二元操值指令,对二值进行物理增减,操值结果类型不变(逻辑:概念的处理)
  • 语义:在信息值A的基础上添加或整倍添加、去除或整倍去除信息值
  • 哲学:机器是“懂”信息单位——整数和浮点数,并且会这种数值物理增去操作
  • 指令:
`+, -' Addition and subtraction. Defined _disibledevent=>`*, /, %' Multiplication, division, and modulus. Multiplication and division are defined on integral and floating-point types. Modulus is defined on integral types.
Tags:  c语言赋值运算符 c语言的运算符 c语言中的运算符 c语言逻辑运算符 c语言运算符

延伸阅读

最新评论

发表评论