BASIC(Beginners' All-purpose Symbolic Instruction Code,又译培基),意思就是“初学者通用符号指令代码”,是一种设计给初学者使用的程式设计语言。BASIC是一种直译式的程式语言,在完成编写后不须经由编译及连结等手续即可执行,但如果需要单独执行时仍然需要将其建立成执行档。
BASIC是由达特茅斯学院院长、匈牙利人约翰·凯梅尼(John G. Kemeny)与数学系教师托马斯·卡茨(Thomas E. Kurtz)共同研製出来的。1964年BASIC语言正式发布。第一个BASIC程式在1964年5月1日早上4时,由BASIC编译程式进行编译后成功运行。1975年,比尔·盖茨把它移植到PC上。
基本介绍
- 中文名培基
- 外文名Beginners' All-purpose Symbolic Instruction Code
- 意思初学者通用符号指令代码
- 创作时间1964年
- 创始人JohnG.Kemeny、ThomasE.Kurtz
- 类别计算机语言
发展历程
初期阶段
20世纪60年代中期,美国达特茅斯学院约翰·凯梅尼(J. Kemeny)和托马斯·卡茨(Thomas E. Kurtz)认为,像FORTRAN(世界上最早出现的计算机高级程式设计语言)那样的语言都是为专业人员设计,没有办法普及。于是,他们在简化FORTRAN的基础上,在1964年研製出一种“初学者通用符号指令代码”(Beginner's All-purpose Symbolic Instruction Code),简称BASIC。
BASIC语言本来是为校园的大学生们创造的高级语言,目的是使大学生容易使用计算机。虽然初期的BASIC语言功能弱、语句少,只有14条语句(后来发展到17条语句),但由于BASIC在当时比较容易学习,它很快从校园走向社会,成为初学者学习电脑程式设计的首选语言。这个时期的BASIC主要在小型机上使用,以编译方式执行。
微机阶段
20世纪70年代,BASIC语言发展成为一种广泛使用的通用语言,也正是这个年代,微型计算机诞生了,做为必备的软体,各种微机上都配备了BASIC语言,例如Apple BASIC、IBM BASIC(BASICA)等。由于各机型不同,它们对基本BASIC语言的扩展也不相同,导致了同是BASIC语言程式却不能互相兼容的局面(例如各种BASIC语言的绘图语句差别很大),即所谓“方言性”问题。
1973年,美国DEC公司的小型机PDP装上了BASIC语言。因为害怕人们难以理解“编译”这一概念,他们研製了BASIC的解释程式,用它代替BASIC的编译程式。至此,BASIC语言可通过编译或解释两种途径将程式翻译成机器指令。
1975年,比尔·盖茨创立的Microsoft,并成功的把Basic语言的编译器移植到使用 Intel处理器的ALR计算机中,IBM在1982年选定Microsoft创作PC的作业系统时,也选定了Microsoft的Basic作为其计算机的ROM-Basic。
结构化阶段
在20世纪80年代中期,美国国家标準化协会(ANSl)根据结构化程式设计的思想,提出了一个新的BASIC标準草案。在此前后,出现了一些结构化的BASIC语言,主要有True BASIC、Quick BASIC、Turbo BASIC等。
1985年BASIC的两位创始人推出的True BASIC,对BASIC语言作了重大改进和发展,它严格遵循ANSI BASIC,不仅完全适应结构化和模组化程式设计的要求,而且保留了BASIC语言的优点——易学易懂,程式易编易调试,它提供了解释工作方式和编译工作方式。他们宣称,True BASIC的出现将开始BASIC的新纪元。
1987年Microsoft公司推出的Quick BASIC,它提供了一个开发程式的集成环境,用户在编程式、修改、编译、调试、运行时均可通过选单进行操作、十分方便;并且与GW-BASIC和BASICA高度兼容,提供了全局变数和局部变数;程式模组化;编译后产生一个执行档,提高执行效率。
1991年6月,伴随着MS-DOS 5.0的推出,Microsoft公司也推出了QBASIC,并作为MS-DOS 5.0的一个组成部分免费提供给用户。QBASIC与Quick BASIC完全兼容,是Quick BASIC的简化版本,除不能编译及减少了初学者暂时用不着的一些调试工具外,它具有Quick BASIC的大部分功能。QBASIC採用先进的解释方式,速度更快,是一种会话式的语言,编写的程式可以立即运行并得到结果。
VB阶段
1991年4月,Visual Basic 1.0 for Windows版本发布,这在当时引起了很大的轰动,许多专家把VB的出现当作是软体开发史上的一个具有划时代意义的事件。Visual BASIC意为“可视的BASIC”,即图形界面的BASIC,它是用于Windows系统开发的套用软体,可以设计出具有良好用户界面的应用程式。Visual BASIC与Quick BASIC兼容,用Quick BASIC编写的程式可以不加修改地运行于Visual BASIC。
1998年6月15日,Microsoft公司推出Visual BASIC的第6版(即6.0版本),之后,又推出Visual Basic 6.0中文版。VB 6.0作为Microsoft Visual Studio 6.0工具套件之一,它提供了图形化、ODBC实现整合资料浏览工具平台,提供了与Oracle和SQL Server的资料库连结工具。VB 6.0的Web开发特性可以使得开发人员以更方便、组件式的方法,开发各种HTML和动态HTML的应用程式。这些新特性,使得VB 6.0成为建立可扩展的企业套用开发平台的理想选择。Microsoft公司总裁比尔·盖茨宣称“Visual BASIC是迎接电脑程式设计挑战的最好例子”。
2001年,VB.NET发布。由于使用了新的核心和特性,很多VB的程式设计师都要改写程式。2005年11月7日,VB.NET 2005(v8.0)发布。它可以直接设计出Windows XP风格的界面,其编写的程式占用记忆体较多。2010年4月,VB.NET 2010(v10.0)发布。
Visual BASIC属于第四代BASIC,第四代BASIC的特点是提供图形界面取代过去的字元界面,是“for Windows”的软体。
语法规则
语句
一、基本BASIC的17种基本语句
1.赋值(LET)语句
2.键盘输入(INPUT)语句
3.读数(READ)语句
4.置数(DATA)语句【配合读数语句使用,称读数据(READ/DATA)语句】
5.恢複数据区(RESTORE)语句
6.无条件转移(GOTO)语句
7.条件转移(IF~THEN或IF~GOTO)语句
8.注释(REM)语句
9.循环说明(FOR)语句
10.循环终了(NEXT)语句【与循环说明语句合成循环(FOR~NEXT)语句】
11.暂停(STOP)语句
12.自定义函式(DEF)语句
13.转子(GOSUB)语句
14.返回(RETURN)语句【配合转子语句使用,调用子程式】
15.数组说明(DIM)语句
16.列印(PRINT)语句
17.结束(END)语句
2.键盘输入(INPUT)语句
3.读数(READ)语句
4.置数(DATA)语句【配合读数语句使用,称读数据(READ/DATA)语句】
5.恢複数据区(RESTORE)语句
6.无条件转移(GOTO)语句
7.条件转移(IF~THEN或IF~GOTO)语句
8.注释(REM)语句
9.循环说明(FOR)语句
10.循环终了(NEXT)语句【与循环说明语句合成循环(FOR~NEXT)语句】
11.暂停(STOP)语句
12.自定义函式(DEF)语句
13.转子(GOSUB)语句
14.返回(RETURN)语句【配合转子语句使用,调用子程式】
15.数组说明(DIM)语句
16.列印(PRINT)语句
17.结束(END)语句
二、BASIC语言中常用的语句定义符及其含意
LET | 让、令 | GOTO | 转移到 | STOP | 暂停 |
IF | 如果 | THEN | 则 | DATA | 数据 |
FOR | 对于 | TO | 到 | DIM | 维数 |
STEP | 步进值 | NEXT | 下一个 | GOSUB | 转子 |
PRINT | 列印 | INPUT | 输入 | DEF | 定义函式 |
RESTORE | 恢复 | END | 结束 | REM | 注释 |
RETURN | 返回 | READ | 读 |
词法
一、数的表示方法
BASIC中有数值常数及字元型常数。字元型常数为用引号括起来的一串字元,也称为字元串。引号不是字元串的一部分,仅作为字元串的起止界限。每个字元在机内占一个位元组。
在N-BASIC中数值常数分为整型、定点型、浮点型(单精度及双精度)、十六进制常数及八进制常数等。
二、变数的表示方法
变数有数值变数及字元型变数,前者是存放数值的,后者存放字元串。变数的值在程式执行过程中是不断变化的。当程式执行到某处赋予变数新的值就要“冲掉”它原有的值。
三、运算符
1.算术运算符任一个数学表达式中的算术运算是按优先度进行运算的,相同优先度自左向右顺序作。
2.赋值运算符用“=”表示赋值时称为赋值运算符, 用它来给数值变数赋数值常数或给字元型变数赋字元型常数。
3.关係运算符(亦称比较算符)关係运算符是用来比较两个表达式的,每个表达式都是算术表达式,在比较时,先算出表达式的值然后比较。用关係运算符也可以比较字元型变数,字元型常数及字元型函式等。
4.布尔运算符(或称逻辑运算符)布尔运算符是对一个或两个表达式进行逻辑运算。
四、标準函式
BASIC语言中配备了一些常用的函式,用户可以自由调用,调用时写好函式名后面加一括弧,括弧内X的位置写上实在参数就可以了,实在参数可使用常数、变数、表达式或标準函式等。
五、运算规则
在算术表达式中运算的优先度可按如下次序
1.先算括弧,由里向外脱括弧。
2.计算标準函式值。 ’
3.乘幂。
4.乘或除白左向右倾序作。 ‘
5.加或减自左向右顺序作。
2.计算标準函式值。 ’
3.乘幂。
4.乘或除白左向右倾序作。 ‘
5.加或减自左向右顺序作。
其它的运算优先度按前面算术运算符的排列进行。
六、BASIC表达式
用符合BASIC规定的运算符号将数、变数、函式、数组元素连线起来的複杂运算对象称为BASIC表达式。注意BASIC表达式中每个符号都占一格,所有符号都必须一个接一个写在一横线上,不能出现在右上角或左下角。
代码示例
以下代码为m与a两数相乘输出结果
PROGRAM productLET m = 2 LET a = 4 LET force = ma PRINT forceEND
语言特点
一、BASIC语言比较简单
基本BASIC一共只有17个基本语句,它使用的命令都是用英文表示的,英文的含意和人们日常使用的词意相同。它使用的运算符号和数学中使用的符号类似。便于人们理解。
二、BASIC语言是会话式的语言
使用BASIC语言可以通过键盘终端与字元显示器或电传打字机,进行人和计算机的对话。有的微型机当BASIC源程式送入计算机时,计算机能立即检查出词法错误(或拼写错误),并且通过电传机或字元显示器列印出来,用户可以立即在键盘上修正。当修改后的程式运行时,计算机又能查出程式中的语法错误并列印出来,用户可以进行修改,直到得到满意的结果。也有的微型机,当BASIC源程式送入计算机后,运行程式时检查词法及语法错误,并列印出错误信息。对初学者来说,调试BASIC程式是很方便的。还可通过一些命令监督和控制程式的运行。
三、BASIC语言有立即执行方式
BASIC语言可直接使用键盘运算,称为立即执行方式。这时计算机相当一台高级计算器。利用它可检查程式运行结果是否正确。
四、BASIC语言是一种小型的算法语言
在BASIC语言中数的範围,简单变数的数目,数组的维数及每维的大小,自定义函式的个数等均有一定限制,它的套用範围也受到一定限制。,科研、教学及生产中的一般题目用BASIC语言解决也是较方便的。
BASIC语言是国际通用的算法语言,有共同的规定,但每台计算机使用的BASIC语言会有—些差别,特别是不同机型的扩展BASIC差别较大,使用前可查阅说明书。
标準要求
ANSIX3.60-1978 FOR MINIMAL BASIC ANSIX3.60 ANSI X3.60 X3.60
ECMA-55 Minimal BASIC (1978年1月) 已撤回
ISO6373-1984 Data processing; Programming languages; Minimal BASIC
ANSI INCITS 113-1987 Information Systems - Programming Languages - Modules and Individual Character Input for Full BASIC(信息系统.程式设计语言.全BASIC的模组和个别字元输入)
ECMA-116 BASIC (1986年6月) 已撤回
ISO/IEC10279-1991 Information technology; programming languages; Full BASIC(信息技术 程式设计语言 全BASIC)
影响
Basic开启了计算机领域全方位创意探索的大门一些用户开发了电脑游戏(早期的电脑足球游戏在校园里很受欢迎),另一些计算机项目则关注于自然科学、社会科学和人文科学领域。
计算机热度开始超越达特茅斯学院校园範围。校园所在地的汉诺瓦高中很快就通过电话线路实现了计算机的远程访问,这也诞生出了第一代的“计算机儿童”。美国东北部的一些学校出现了早期网际网路的雏形,他们都可以使用到达特茅斯学院的计算机。
人们对于计算机的热情催生出了分时计算机这个细分市场,一家名为“微软”的公司也由此出现,苹果也在第一款计算机中集成了自己开发的Basic编译器,众多版本的Basic语言在全球範围内不断发展。