Basic语言开发笔记:Basic语言介绍、环境搭建、基本语法示
原博主博客地址: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(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,主要用他来编译,如下图:
![](https://img.haomeiwen.com/i22295287/699c2d59ce88c912.png)
安装完后,打开命令行:
![](https://img.haomeiwen.com/i22295287/4710a8c9e6a022d9.png)
跳转到开发目录即可,
安装PowerBasic,主要用他的编辑器
![](https://img.haomeiwen.com/i22295287/35120fc3b8211541.png)
打开编辑器:
![](https://img.haomeiwen.com/i22295287/74a565d80c26d941.png)
CSDN下载地址:https://download.csdn.net/download/qq21497936/12538533
软件打包下载地址:QQ群1047134658(点击“文件”搜索“Basic”,群内与博文同步更新所有可开源的源码模板)
编译时报错,如下图:
![](https://img.haomeiwen.com/i22295287/4a2926554cc80ca3.png)
主要是因为使用了未定义的变量,其实是语言规则不同,因为使用qb语言,所以需要加上参数“-lang qb”,即可,如下图:
![](https://img.haomeiwen.com/i22295287/96954dae6a50c3c8.png)
直接打开dos,跳转到目录,fbc命令会生成对应的exe直接运行即可。
PRINT "12345"
PRINT "Hello world"
![](https://img.haomeiwen.com/i22295287/00c5e5b0eaf90f8d.png)
![](https://img.haomeiwen.com/i22295287/80c97f8c133b455c.png)
PRINT "12345";"54321"
PRINT "Hello world"
![](https://img.haomeiwen.com/i22295287/c94e5049734d22af.png)
![](https://img.haomeiwen.com/i22295287/a6cd5baac53197e9.png)
PRINT "12345" "54321"
PRINT "Hello world"
![](https://img.haomeiwen.com/i22295287/6cb2391a7822ceb9.png)
![](https://img.haomeiwen.com/i22295287/ecb7d4891ce84a94.png)
PRINT语句中使用TAB语句就类似于使用TAB键。
TAB(1)和TAB(2)没有起到作用
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
![](https://img.haomeiwen.com/i22295287/8a0afbaa544e7787.png)
![](https://img.haomeiwen.com/i22295287/a39112709abcf74d.png)
配合读数语句使用,称读数据(READ/DATA)语句。
请参照“读取READ语句”
READ是读取data存储的数据,并不是我们习惯所认为的从屏幕上输入,同时变量要先定义才能使用。
(字符串必须是$符号结尾)
DATA "12aaa345","11bbb11"
PRINT "READ ONE, SHOULD BE 12aaa345"
READ S
PRINT S
PRINT "READ ONE, SHOULD BE 11bbb11"
READ S
PRINT S
END
![](https://img.haomeiwen.com/i22295287/7935039585ecea1e.png)
![](https://img.haomeiwen.com/i22295287/23868d7e955c1de5.png)
DATA "12aaa345","11bbb11"
PRINT "READ ONE, SHOULD BE 12aaa345"
READ S$
PRINT S$
PRINT "READ ONE, SHOULD BE 11bbb11"
READ S$
PRINT S$
END
![](https://img.haomeiwen.com/i22295287/1253f1e53c9ee08a.png)
![](https://img.haomeiwen.com/i22295287/1feed4749b87d902.png)
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
![](https://img.haomeiwen.com/i22295287/800588be6ed49570.png)
![](https://img.haomeiwen.com/i22295287/977a4d9f648d1649.png)
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
![](https://img.haomeiwen.com/i22295287/a1050f0263300bda.png)
![](https://img.haomeiwen.com/i22295287/8b57c9b11b10e771.png)
DATA 10,100,1000
READ T1,T2:T3=T1+T2
PRINT T1
PRINT T2
PRINT T3
READ T3
PRINT T3
END
![](https://img.haomeiwen.com/i22295287/744106bc9e8d37d6.png)
![](https://img.haomeiwen.com/i22295287/1e79cdd07769cabd.png)
DATA "aaa"
READ A$
PRINT A$
END
![](https://img.haomeiwen.com/i22295287/2b1fa6298bcd1f0e.png)
![](https://img.haomeiwen.com/i22295287/a3744901bbb64b1f.png)
(注意:字符串默认结尾为$,否则认为是整数)
LET A$="12345"
PRINT A$
LET A=10
PRINT A
PRINT A*10
END
![](https://img.haomeiwen.com/i22295287/9f53a642e198a40d.png)
![](https://img.haomeiwen.com/i22295287/b3924dba55b258b5.png)
(注意,经测试,变量定义为A$,有金钱符号结尾,才被认为是字符串,否则认为是数字,而且输入错误,数字则默认为0)
PRINT "PLEASE INPUT A NUM:"
INPUT A
PRINT "YOU INPUT NUM:";A
END
![](https://img.haomeiwen.com/i22295287/bdfc2bcd736941a9.png)
PRINT "PLEASE INPUT A NUM:"
INPUT A$
PRINT "YOU INPUT NUM:";A$
END
![](https://img.haomeiwen.com/i22295287/2809db734e63f003.png)
DATA 1,2,3,4
READ A,B
PRINT A
PRINT B
RESTORE
READ A,B
PRINT A
PRINT B
END
![](https://img.haomeiwen.com/i22295287/3246c196607f6228.png)
![](https://img.haomeiwen.com/i22295287/66ac2bb43ae14e4e.png)
(注意:之前的程序,每一行之前没有数字标签,使用GOTO加上去)
DATA 1,2,3,4
READ A,B
100
PRINT A
PRINT B
SLEEP
PRINT "GOTO AGAIN"
GOTO 100
END
![](https://img.haomeiwen.com/i22295287/79187d5cd31cb3b4.png)
![](https://img.haomeiwen.com/i22295287/49d12a05e1308ebb.png)
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
![](https://img.haomeiwen.com/i22295287/433dfef257dfaa7c.png)
![](https://img.haomeiwen.com/i22295287/16d9676d504d085e.png)
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
![](https://img.haomeiwen.com/i22295287/78a6c632f27acfd1.png)
与循环说明语句合成循环(FOR~NEXT)语句。
请参照“循环说明(FOR)语句”
INPUT N
FOR I=0 TO N
A=A+I
PRINT "+";I;"=";A
NEXT I
PRINT A
END
![](https://img.haomeiwen.com/i22295287/6691c21165518aeb.png)
![](https://img.haomeiwen.com/i22295287/fe3a1795842fdb49.png)
stop是直接退出程序了。
PRINT "12345" "54321"
STOP
PRINT "Hello world"
![](https://img.haomeiwen.com/i22295287/241116d7f51da6e4.png)
![](https://img.haomeiwen.com/i22295287/75cb0553f2e23afd.png)
DATA 1,2,3,4
READ A,B
100
PRINT A
PRINT B
SLEEP
PRINT "GOTO AGAIN"
GOSUB 100
END
![](https://img.haomeiwen.com/i22295287/ec47abbdf09012f0.png)
![](https://img.haomeiwen.com/i22295287/5bbf2756354fd126.png)
配合转子语句使用,调用子程序。
定义数组,定义的数组下标从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
![](https://img.haomeiwen.com/i22295287/69d2dd00d6a26d99.png)
![](https://img.haomeiwen.com/i22295287/dbd3d4cecc32679a.png)
结束程序。
DATA 10,20
READ A,B
PRINT A;"+";B;"=";A+B
![](https://img.haomeiwen.com/i22295287/d763ac21819eadd8.png)
![](https://img.haomeiwen.com/i22295287/560fab7a5993fc0f.png)
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
![](https://img.haomeiwen.com/i22295287/c7005acd8def0602.png)
![](https://img.haomeiwen.com/i22295287/3489436ad732eec9.png)
(注意:数组定义,数组下标序号从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://img.haomeiwen.com/i22295287/8c0891dc7e14c9ee.png)
![](https://img.haomeiwen.com/i22295287/9852bff9498b2a5a.png)
原博主博客地址:https://blog.csdn.net/qq21497936
原博主博客导航:https://blog.csdn.net/qq21497936/article/details/102478062
本文章博客地址:https://blog.csdn.net/qq21497936/article/details/106850097