增值和减值操作符

✍ dations ◷ 2025-04-25 08:26:57 #计算机科学

在多数指令式编程语言中,增值和减值操作符指的是一类单目操作符,这些操作符相应地增加或减少其操作数的值。以C语言为例,“++”“--”操作符分别为增值操作符和减值操作符。

增值和减值操作符的操作数可以为整型、字符或者指针等,准确地说,这些操作符只要求其操作数必须为一个左值,也就是要求操作数必须为一个可以用在赋值符号“=”左边的表达式。

  int i = 1;      //运行完这条语句,i被赋值为1  int j = ++i;    //运行完这条语句,i的值增了1变为2,而j的值为“++i”这个表达式的值为2  --j;            //运行完这条语句,j的值减了1变为1,表达式“--j”的值为1但被抛弃
  • 后缀形式的++和--操作符。后缀形式的++和--操作符出现在操作数的后面,应用了这种形式后,操作数本身会相应的增加或减少。同时,表达式的值为操作数增加或减少前的值。用法如下所示:
  int i = 5;      //运行完这条语句,i被赋值为5  int j = i++;    //运行完这条语句,i的值增了1变为6,而j的值为“i++”这个表达式的值为5  j--;            //运行完这条语句,j的值减了1变为4,表达式“j--”的值为5但被抛弃

原理(C语言)

对一个操作数应用增值或减值操作符,抽象来说将会创建一份操作数的拷贝,而创建拷贝的时间则根据操作符是前缀形式还是后缀形式来决定。所以使用这种操作符的表达式,实际用到的正是这份拷贝而不是操作数本身。所以编译器并不允许如i++ = 2;这样的语句出现。

相关

  • 巴尔的摩病毒分类系统巴尔的摩病毒分类系统(Baltimore classification)是一种由戴维·巴尔的摩建立的以基因组和病毒转录mRNA方式为区分的病毒分类系统。世界上的病毒千奇百怪,数量极多,生活周期又各
  • 慢性淋巴细胞白血病白血病(拉丁语:leukemia,/luːˈkiːmiːə/)是一群癌症种类的统称,英文名称来自于古希腊语,λευκός(leukos,白色)与αἷμα(haima,血液)的组合。 它通常发病于骨髓,造成不正常白血
  • 斑贴试验贴布试验,又名斑贴试验,是一种用来确定是否有特定物质会导致患者过敏性或发炎肌肤。任何人被怀疑有过敏性接触性皮肤炎(英语:Allergic contact dermatitis)或过敏性皮炎,需要经过
  • 雷沙吉兰雷沙吉兰(英文:Rasagiline,AZILECT®),一种单胺氧化酶的不可逆抑制剂,作为早期帕金森病的治疗单药和作为中、晚期帕金森病 L-多巴(Levodopa) 疗法的附加用药。
  • 资讯信息(英语:Information),又称情报,是一个严谨的科学术语,其定义不统一,是由它的极端复杂性决定的,获取信息的主要方法为六何法。信息的表现形式多不胜数:声音、图片、温度、体积、颜
  • 伊斯兰世界奴隶贸易伊斯兰世界奴隶贸易,是伊斯兰世界一种传统贸易,整个伊斯兰世界都有此活动,于伊斯兰教创教前已流行,王公、酋长甚至是富裕的自由人都可能拥有大量的奴隶、女奴。在伊斯兰世界的奴
  • 太空行走舱外活动(英语:extravehicular activity,简称EVA),也称太空出舱活动,是宇航员在离开地球大气层后于太空飞行器外所做的工作。舱外活动主要在绕行地球的太空飞行器外执行(即太空漫步
  • 爆米花爆米花又称玉米花、爆穀或爆谷(英语:Popcorn),是膨化了的玉米粒,体积比原来的玉米粒增加了60倍,是常见的零食和小吃,尤其是戏院和电影院里的常见食品。与爆米花类似的食品还有大米
  • TAS2R31味觉感受器,类型2,成员31,TAS2R31 是一个人类基因组中基因编码的蛋白质,是苦味味觉感受器的一员。这个苦味感受器已被证明在体外可与糖精起反应。TAS2R31和其它几种苦味感受器也
  • 伊策尔贝格湖坐标:48°43′56.9″N 10°8′0.7″E / 48.732472°N 10.133528°E / 48.732472; 10.133528伊策尔贝格湖(德语:Itzelberger See),是德国的湖泊,位于该国西南部,由巴登-符腾堡州负责