Basic语言开发笔记:Basic语言介绍、环境搭建、基本语法示

2020-06-20  本文已影响0人  红模仿_红胖子

原博主博客地址:https://blog.csdn.net/qq21497936

原博主博客导航:https://blog.csdn.net/qq21497936/article/details/102478062

本文章博客地址:https://blog.csdn.net/qq21497936/article/details/106850097

各位读者,知识无穷而人力有穷,要么改需求,要么找专业人士,要么自己研究

红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…(点击传送门)

其他(编程相关)

前言

红胖子来也!!!

Basic语言是很老的语言了,比VB(Visual Basic还老)。

BASIC

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上。

编译环境搭建

安装编译器

安装FreeBasic,主要用他来编译,如下图:

安装完后,打开命令行:

跳转到开发目录即可,

安装编辑环境

安装PowerBasic,主要用他的编辑器

打开编辑器:

下载地址

CSDN下载地址:https://download.csdn.net/download/qq21497936/12538533

软件打包下载地址:QQ群1047134658(点击“文件”搜索“Basic”,群内与博文同步更新所有可开源的源码模板)

编译器编译时错误解决

编译时报错,如下图:

主要是因为使用了未定义的变量,其实是语言规则不同,因为使用qb语言,所以需要加上参数“-lang qb”,即可,如下图:

运行环境

  直接打开dos,跳转到目录,fbc命令会生成对应的exe直接运行即可。

基本语句

打印(PRINT)语句

示例1

PRINT "12345"

PRINT "Hello world"

示例2

PRINT "12345";"54321"

PRINT "Hello world"

示例3

PRINT "12345" "54321"

PRINT "Hello world"

TAB(TAB)语句

PRINT语句中使用TAB语句就类似于使用TAB键。

TAB(1)和TAB(2)没有起到作用

示例1

PRINT "123456789ANCDEF"

PRINT 1;TAB(1);2

PRINT 1;TAB(2);3

PRINT 1;TAB(3);4

PRINT 1;TAB(4);5

PRINT 1;TAB(5);6

PRINT TAB(3);"Y";TAB(9);"Z"

END

置数(DATA)语句

配合读数语句使用,称读数据(READ/DATA)语句。

请参照“读取READ语句”

读取(READ)语句

  READ是读取data存储的数据,并不是我们习惯所认为的从屏幕上输入,同时变量要先定义才能使用。

示例1:读取数字

  (字符串必须是$符号结尾)

DATA "12aaa345","11bbb11"

PRINT "READ ONE, SHOULD BE 12aaa345"

READ S

PRINT S

PRINT "READ ONE, SHOULD BE 11bbb11"

READ S

PRINT S

END

示例2:读取字符串

DATA "12aaa345","11bbb11"

PRINT "READ ONE, SHOULD BE 12aaa345"

READ S$

PRINT S$

PRINT "READ ONE, SHOULD BE 11bbb11"

READ S$

PRINT S$

END

示例2:先读取后置入数字

PRINT "READ ONE, SHOULD BE 12345"

READ S

PRINT S

PRINT "READ ONE, SHOULD BE 11111"

READ S

PRINT S

SLEEP

DATA "12345","1111"

END

示例3:读取数字

DIM D1 AS INTEGER

DATA 20,10

PRINT "READ ONE, SHOULD BE 20"

READ D1

PRINT D1

PRINT "READ ONE, SHOULD BE 10"

READ D1

PRINT D1

SLEEP

END

示例4:读取数字时,同时使用“:”进行其他操作

DATA 10,100,1000

READ T1,T2:T3=T1+T2

PRINT T1

PRINT T2

PRINT T3

READ T3

PRINT T3

END

示例5:读取字符串

DATA "aaa"

READ A$

PRINT A$

END

赋值(LET)语句

  (注意:字符串默认结尾为$,否则认为是整数)

示例1

LET A$="12345"

PRINT A$

LET A=10

PRINT A

PRINT A*10

END

键盘输入(INPUT)语句

  (注意,经测试,变量定义为A$,有金钱符号结尾,才被认为是字符串,否则认为是数字,而且输入错误,数字则默认为0)

示例1

PRINT "PLEASE INPUT A NUM:"

INPUT A

PRINT "YOU INPUT NUM:";A

END

示例2

PRINT "PLEASE INPUT A NUM:"

INPUT A$

PRINT "YOU INPUT NUM:";A$

END

恢复数据区(RESTORE)语句

示例1

DATA 1,2,3,4

READ A,B

PRINT A

PRINT B

RESTORE

READ A,B

PRINT A

PRINT B

END

无条件转移(GOTO)语句

  (注意:之前的程序,每一行之前没有数字标签,使用GOTO加上去)

示例1

DATA 1,2,3,4

READ A,B

100

PRINT A

PRINT B

SLEEP

PRINT "GOTO AGAIN"

GOTO 100

END

条件转移(IF ~ THEN或IF ~ GOTO)语句

示例1

DATA 1,2,10

READ A,B,C

100

PRINT A*B: A=A*B

IF A<C THEN GOTO 100

PRINT A;">";C

END

注释(REM)语句

示例1

DATA 1,2,10

READ A,B,C

100

REM "123456"

PRINT A*B: A=A*B

IF A<C THEN GOTO 100

PRINT A;">";C

END

循环终了(NEXT)语句

与循环说明语句合成循环(FOR~NEXT)语句。

请参照“循环说明(FOR)语句”

循环说明(FOR)语句

示例1

INPUT N

FOR I=0 TO N

    A=A+I

    PRINT "+";I;"=";A

NEXT I

PRINT A

END

暂停(STOP)语句

  stop是直接退出程序了。

示例1

PRINT "12345" "54321"

STOP

PRINT "Hello world"

转子(GOSUB)语句

示例1:目前未发现与GOTO语句的区别

DATA 1,2,3,4

READ A,B

100

PRINT A

PRINT B

SLEEP

PRINT "GOTO AGAIN"

GOSUB 100

END

返回(RETURN)语句

  配合转子语句使用,调用子程序。

数组说明(DIM)语句

  定义数组,定义的数组下标从1开始。

示例1

DIM A(6)

DATA 1,2,3,4,5,6

READ A(1),A(2),A(3),A(4),A(5),A(6)

PRINT "A(0),A(1),A(2),A(3),A(4),A(5),A(6)"

PRINT A(0),A(1),A(2),A(3),A(4),A(5),A(6)

PRINT "A(1),A(2),A(3),A(4),A(5),A(6)"

PRINT A(1),A(2),A(3),A(4),A(5),A(6)

PRINT "A(0);A(1);A(2);A(3);A(4);A(5);A(6)"

PRINT A(0);A(1);A(2);A(3);A(4);A(5);A(6)

PRINT "A(1);A(2);A(3);A(4);A(5);A(6)"

PRINT A(1);A(2);A(3);A(4);A(5);A(6)

END

结束(END)语句

  结束程序。

程序实例

预读入加法程序

DATA 10,20

READ A,B

PRINT A;"+";B;"=";A+B

定义数组并赋值

DATA 10,20,30,40

DIM D$(4)

READ D$(1),D$(2),D$(3),D$(4)

PRINT D$(1),D$(2),D$(3),D$(4)

END

定义数组并循环赋值

  (注意:数组定义,数组下标序号从1开始,目前普遍从0开始)

DATA 6

DATA 0.01,0.01,0.01,0.02,0.02,0.2,0.03,0.03,0.03,0.04,0.04,0.04,0.05,0.05,0.05,6.1,6.2,6.3

READ M0

DIM T0(M0+1),D0(M0),J0(M0)

FOR M=1 TO M0

    READ T0(M),D0(M),J0(M)

NEXT M

FOR M=1 TO M0

    PRINT "M=";M;",";T0(M);",";D0(M);",";J0(M)

NEXT M

END

原博主博客地址:https://blog.csdn.net/qq21497936

原博主博客导航:https://blog.csdn.net/qq21497936/article/details/102478062

本文章博客地址:https://blog.csdn.net/qq21497936/article/details/106850097

上一篇下一篇

猜你喜欢

热点阅读