为什么计算机语言中的变量名都不能以数字开头呢?

变量名定义:变量名由字母、数字、下划线组成,其中首个字符不能为数字。

解释一、词法分析说(https://www.zhihu.com/question/19581495)

  因为每次输入“头符号”后要判断该符号是数字还是字符,如果是数字,则可以直接跳入数字处理的模块,若是字符则按变量名来处理。

  如果允许变量名以数字开头,则以后每次输入一个符号都要做一次“是否为数字”的判断,直到符号出现非数字再转成变量名,而禁止以数字开头只需要判断一次,很显然“每一次都要判断”是一种极大的浪费。

  另外变量名以数字开头对程序员而言也没有任何的帮助,反而降低了编译器的性能,毕竟O(1)和O(n)还是差距不小的。

解释二、现有的数据无法区分

  科学计数:1e3

  某些数值:100000L,100f

  程序逻辑错误:int 1 = 2; if (1 == 2) {...}

时间: 2024-10-04 11:49:51

为什么计算机语言中的变量名都不能以数字开头呢?的相关文章

C 语言中的变量为什么不能以数字打头

C 语言中的变量为什么不能以数字打头? C 语言中的变量为什么不能以数字打头? 不要告诉我编译原理书上有.我暂时看不懂. 除了下面的解释外, “假如变量名允许以数字开头的话,那么语法分析器在解析一个全部为数字的字串的时候,就无法判断它是一个数字常量还是一个变量名了” 还有别的解释吗? 假如变量是2n呢?也可以和数字2区别啊?为什么不行呢? C语言这样规定是不是单纯为了编译器词法分析简单啊?还有别的原因吗? 如果你知道就跟我好好说说吧. 没有规定就不成方圆,在最初的时候如果没有那么多的规定,这样基

[转] C语言中static变量详解

转自:http://blog.chinaunix.net/uid-26822028-id-3191967.html 作者:gecedu Static翻译出来是"静态""静止"的意思,在C语言中的意思其实和它的本意差不多,表示"静态"或者"全局"的意思,用来修饰变量和函数.经static修饰过后的变量或者函数的作用域或者存储域会发生变化,而由static修饰的变量在初始值方面也会表现出static关键字的优势.想知道经stati

C语言中static变量详解

Static翻译出来是“静态”“静止”的意思,在C语言中的意思其实和它的本意差不多,表示“静态”或者“全局”的意思,用来修饰变量和函数.经static修饰过后的变量或者函数的作用域或者存储域会发生变化,而由static修饰的变量在初始值方面也会表现出static关键字的优势.想知道经static修饰过后的变量或者函数的作用域或者存储域发生了什么变化吗,发生变化的原因是什么吗?请大家继续往下看! 一.c程序的内存分布 既然static是用来修饰变量和函数的,而变量和函数又是组成c程序必不可少的,C

PX(计算机语言中的像素)

PX是Pixel的缩写, 也就是说像素是指基本原色素及其灰度的基本编码, 由 Picture(图像) 和 Element(元素)这两个单词的字母所组成的,如同摄影的相片一样,数码影像也具有连续性的浓淡阶调. 表示意义编辑 若把影像放大数倍,会发现这些连续色调其实是由许多色彩相近的小方点所组成,这些小方点就是构成影像的最小单位“像素”.这种最小的图形的单元能在屏幕上显示通常是单个的染色点.像素的大小是会“变”的,也称为“相对长度”.越高位的像素,其拥有的色板也就越丰富,越能表达颜色的真实感.

isNaN() JavaScript判断变量是否是一个数字

NaN,即非数值(Not a Number)是一个特殊的值,这个数值用于表示一个本来要返回数值的操作数未返回数值的情况(这样就不会抛出错误了).比如,在其他语言中,任何数值除 以 0 都会导致错误而终止程序执行.但在 ECMAScript 中,会返回出特殊的值,因此不会影 响程序执行. var box = 0 / 0; // NaN var box = 12 / 0; // Infinity var box = 12 / 0 * 0; // NaN 可以通过 Number.NaN 得到 NaN

java面试之位运算(如何不通过第三方变量交换两个数字,效率最高的乘法运算)

class Demo2_Operator { public static void main(String[] args) { /* * 位异或运算符的特点 * ^的特点:一个数据对另一个数据位异或两次,该数本身不变. */ //System.out.println(5 ^ 10 ^ 10); //System.out.println(5 ^ 10 ^ 5); /* * 请自己实现两个整数变量的交换(不需要定义第三方变量) * 注意:以后讲课的过程中,我没有明确指定数据的类型,默认int类型.

【C语言探索之旅】 第一部分第四课第二章:变量的世界之变量声明

内容简介 1.课程大纲 2.第一部分第四课第二章:变量的世界之变量声明 3.第一部分第四课第三章预告:变量的世界之显示变量内容 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言编写三个游戏. C语言编程基础知识 什么是编程? 工欲善其事,必先利其器 你的第一个程序 变量的世界 运算符 条件表达式 循环语句 实战:第一个C语言小游戏 函数 练习题 习作:完善第一个C语言小游戏 C语言高级技术 模块化编程 进击的指针,C语言王牌 数组 字符串 预处理

php基础教程-变量

变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念.变量可以通过变量名访问.在指令式语言中,变量通常是可变的:但在纯函数式语言(如Haskell)中,变量可能是不可变(immutable)的.在一些语言中,变量可能被明确为是能表示可变状态.具有存储空间的抽象(如在Java和Visual Basic中):但另外一些语言可能使用其它概念(如C的对象)来指称这种抽象,而不严格地定义“变量”的准确外延. 实例 1 2 3 4 5 6 <?php $x=5; $y=6; $z=$x+$y; e

【PHP学习】PHP 变量

变量是存储信息的容器: 实例 <?php $x=5; $y=6; $z=$x+$y; echo $z; ?> 运行实例 类似代数 x=5 y=6 z=x+y 在代数中我们使用字母(比如 x)来保存值(比如 5). 从上面的表达式 z=x+y,我们能够计算出 z 的值是 11. 在 PHP 中,这三个字母被称为变量. 注释:请把变量视为存储数据的容器. PHP 变量 正如代数,PHP 变量可用于保存值(x=5)和表达式(z=x+y). 变量的名称可以很短(比如 x 和 y),也可以取更具描述性的