200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > Basic开发笔记:Basic语言介绍 环境搭建 基本语法示例与程序实例

Basic开发笔记:Basic语言介绍 环境搭建 基本语法示例与程序实例

时间:2022-04-06 17:13:46

相关推荐

Basic开发笔记:Basic语言介绍 环境搭建 基本语法示例与程序实例

若该文为原创文章,未经允许

原博主博客地址:/qq21497936

原博主博客导航:/qq21497936/article/details/102478062

本文章博客地址:/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下载地址:/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);2PRINT 1;TAB(2);3PRINT 1;TAB(3);4PRINT 1;TAB(4);5PRINT 1;TAB(5);6PRINT 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 SPRINT SPRINT "READ ONE, SHOULD BE 11bbb11"READ SPRINT SEND

示例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 SPRINT SPRINT "READ ONE, SHOULD BE 11111"READ SPRINT SSLEEPDATA "12345","1111"END

示例3:读取数字

DIM D1 AS INTEGERDATA 20,10PRINT "READ ONE, SHOULD BE 20"READ D1PRINT D1PRINT "READ ONE, SHOULD BE 10"READ D1PRINT D1SLEEPEND

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

DATA 10,100,1000READ T1,T2:T3=T1+T2PRINT T1PRINT T2PRINT T3READ T3PRINT T3END

示例5:读取字符串

DATA "aaa"READ A$PRINT A$END

赋值(LET)语句

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

示例1

LET A$="12345"PRINT A$LET A=10PRINT APRINT A*10END

键盘输入(INPUT)语句

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

示例1

PRINT "PLEASE INPUT A NUM:"INPUT APRINT "YOU INPUT NUM:";AEND

示例2

PRINT "PLEASE INPUT A NUM:"INPUT A$PRINT "YOU INPUT NUM:";A$END

恢复数据区(RESTORE)语句

示例1

DATA 1,2,3,4READ A,BPRINT APRINT BRESTOREREAD A,BPRINT APRINT BEND

无条件转移(GOTO)语句

之前的程序,每一行之前没有数字标签,使用GOTO则需要加上去;

GOTO与GOSUB的区别请查看“GOSUB语句”的示例3

示例1

DATA 1,2,3,4READ A,B100PRINT APRINT BSLEEPPRINT "GOTO AGAIN"GOTO 100END

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

示例1

DATA 1,2,10READ A,B,C100PRINT A*B: A=A*BIF A<C THEN GOTO 100PRINT A;">";CEND

注释(REM)语句

示例1

DATA 1,2,10READ A,B,C100REM "123456"PRINT A*B: A=A*BIF A<C THEN GOTO 100PRINT A;">";CEND

循环终了(NEXT)语句

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

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

循环说明(FOR)语句

示例1

INPUT NFOR I=0 TO NA=A+IPRINT "+";I;"=";ANEXT IPRINT AEND

示例2(6月24日补充):写在同一行的情况

1000 W=21001 IF(W=2) THEN FOR M=0 TO 5: PRINT M: NEXT M1002 END

暂停(STOP)语句

stop是直接退出程序了。

示例1

PRINT "12345" "54321"STOPPRINT "Hello world"

转子(GOSUB)语句

示例1

DATA 1,2,3,4READ A,B100PRINT APRINT BSLEEPPRINT "GOTO AGAIN"GOSUB 100END

示例2(6月24日补充)

1000 GOTO 2000:GOSUB 4000:GOSUB 60001001 END2000 PRINT "2000" :RETURN4000 PRINT "4000" :RETURN6000 PRINT "6000" :RETURN

示例3(6月24日补充):GOTO与GOSUB的区别,结合RETURN语句

100 FOR N=1 TO 4120 PRINT "N=";NREM GOSUB会返回调用处121 IF(N=2) THEN GOSUB 150REM GOTO会直接跳过去忽略RETURN122 IF(N=3) THEN GOTO 150140 NEXT N150 PRINT "HELLO,WORLD!!!"160 RETURN170 PRINT "170 PRINT"180 PRINT "180 PRINT"

返回(RETURN)语句

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

数组说明(DIM)语句

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

示例1

DIM A(6)DATA 1,2,3,4,5,6READ 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,20READ A,BPRINT A;"+";B;"=";A+B

定义数组并赋值

DATA 10,20,30,40DIM D$(4)READ D$(1),D$(2),D$(3),D$(4)PRINT D$(1),D$(2),D$(3),D$(4)END

定义数组并循环赋值

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

DATA 6DATA 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.3READ M0DIM T0(M0+1),D0(M0),J0(M0)FOR M=1 TO M0READ T0(M),D0(M),J0(M)NEXT MFOR M=1 TO M0PRINT "M=";M;",";T0(M);",";D0(M);",";J0(M)NEXT MEND

求绝对值

100 J=-100101 K=100102 J2=-100.1103 K2=100.1104 PRINT ABS(J)105 PRINT ABS(K)106 PRINT ABS(J2)107 PRINT ABS(K2)

原博主博客地址:/qq21497936

原博主博客导航:/qq21497936/article/details/102478062

本文章博客地址:/qq21497936/article/details/106850097

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。