美文网首页JavaScript 进阶营程序员
编程语言中,为什么 a = a + 1

编程语言中,为什么 a = a + 1

作者: 老邵 | 来源:发表于2018-04-12 18:00 被阅读44次

一个从来没有接触过编程的人如果看到 a = a + 1 这样的算式,一定会感到奇怪。a 怎么能等于 a + 1 呢?这就像 1 等于 2 一样不可思议。

其实,这种代码的书写方式是由早期编程语言逐渐演变而来的。对于一个变量一般有三种操作,分别是初始化、值的重新分配与比较。举例来说, 「int a = 1」是初始化,「a = b」 是重新分配,「a == b」是比较。

在早期编程语言中,一般这三个过程的操作符是不同的。比如说 LISP 中,let 用来初始化,set 用来分配值,equal 用来比较。

BCPL 开始用 := 进行赋值和值的重新分配,用 = 来进行比较操作。后来 B 语言的创造者采用更为简单的 = 符号进行初始化和赋值操作,创建了 == 符号进行比较操作。其后的 C 语言及新产生的语言沿袭了这一用法。

Frida Bredesen 2017-07-19 07-40-27

相关文章

  • 编程语言中,为什么 a = a + 1

    一个从来没有接触过编程的人如果看到 a = a + 1 这样的算式,一定会感到奇怪。a 怎么能等于 a + 1 呢...

  • 1. 数组:为什么很多编程语言中数组都是从0开始?

    1. 数组:为什么很多编程语言中数组都是从0开始? 在大部分编程语言中,数组都是从0开始编号的,但你是否下意识想过...

  • JavaScript基础知识点解读—变量(声明/赋值/使用/类型

    变量是每一门编程语言中非常重要的一个概念,不同的编程语言中变量的作用也基本一致。变量可以通过变量名访问,是计算机语...

  • 第六章 函数

    为什么需要函数 函数(有些编程语言中叫做方法)几乎是每个编程语言最重要的内容,无论是函数式编程还是面向对象编程。每...

  • Ansible-6 ansible任务控制

    这里主要来介绍PlayBook中的任务控制,任务控制类似于编程语言中的if ... 、for ... 等逻辑控制语...

  • 五、Ansible任务控制

    这里主要来介绍PlayBook中的任务控制,任务控制类似于编程语言中的if ... 、for ... 等逻辑控制语...

  • 机器人编程语言有哪些?

    机器人编程语言最早于20世纪70年代初期问世,到目前为止已有多种编程语言出现,在众多机器人编程语言中究竟哪种编程语...

  • LeetCode 刷题集 - 数组、链表、栈、队列(1)

    数组:为什么很多编程语言中数组都从 0 开始编号?[http://time.geekbang.org/column...

  • 程序猿的日常问题

    1. 编程语言中为什么要区分数据类型? 1.1要想知道为什么要区分数据类型,首先搞清什么是数据类型? 官方解...

  • 关于数组

    为什么大多数编程语言中,数组要从 0 开始编号,而不是从 1 开始呢? 其实拿到这个问题的时候,我都很惊讶,为啥我...

网友评论

    本文标题:编程语言中,为什么 a = a + 1

    本文链接:https://www.haomeiwen.com/subject/lhjfkftx.html