若该文为原创文章,未经允许不得转载
原博主博客地址: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,主要用他来编译,如下图:
安装完后,打开命令行:
跳转到开发目录即可,
CSDN下载地址:https://download.csdn.net/download/qq21497936/12538533
软件打包下载地址:QQ群1047134658(点击“文件”搜索“Basic”,群内与博文同步更新所有可开源的源码模板)
编译时报错,如下图:
主要是因为使用了未定义的变量,其实是语言规则不同,因为使用qb语言,所以需要加上参数“-lang qb”,即可,如下图:
直接打开dos,跳转到目录,fbc命令会生成对应的exe直接运行即可。
PRINT "12345"
PRINT "Hello world"
PRINT "12345";"54321"
PRINT "Hello world"
PRINT "12345" "54321"
PRINT "Hello world"
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
配合读数语句使用,称读数据(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
DATA "12aaa345","11bbb11"
PRINT "READ ONE, SHOULD BE 12aaa345"
READ S$
PRINT S$
PRINT "READ ONE, SHOULD BE 11bbb11"
READ S$
PRINT S$
END
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
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
DATA 10,100,1000
READ T1,T2:T3=T1+T2
PRINT T1
PRINT T2
PRINT T3
READ T3
PRINT T3
END
DATA "aaa"
READ A$
PRINT A$
END
(注意:字符串默认结尾为$,否则认为是整数)
LET A$="12345"
PRINT A$
LET A=10
PRINT A
PRINT A*10
END
(注意,经测试,变量定义为A$,有金钱符号结尾,才被认为是字符串,否则认为是数字,而且输入错误,数字则默认为0)
PRINT "PLEASE INPUT A NUM:"
INPUT A
PRINT "YOU INPUT NUM:";A
END
PRINT "PLEASE INPUT A NUM:"
INPUT A$
PRINT "YOU INPUT NUM:";A$
END
DATA 1,2,3,4
READ A,B
PRINT A
PRINT B
RESTORE
READ A,B
PRINT A
PRINT B
END
之前的程序,每一行之前没有数字标签,使用GOTO则需要加上去;
GOTO与GOSUB的区别请查看 “GOSUB语句”的示例3;
DATA 1,2,3,4
READ A,B
100
PRINT A
PRINT B
SLEEP
PRINT "GOTO AGAIN"
GOTO 100
END
DATA 1,2,10
READ A,B,C
100
PRINT A*B: A=A*B
IF A";C
END
DATA 1,2,10
READ A,B,C
100
REM "123456"
PRINT A*B: A=A*B
IF A";C
END
与循环说明语句合成循环(FOR~NEXT)语句。
请参照“循环说明(FOR)语句”
INPUT N
FOR I=0 TO N
A=A+I
PRINT "+";I;"=";A
NEXT I
PRINT A
END
1000 W=2
1001 IF(W=2) THEN FOR M=0 TO 5: PRINT M: NEXT M
1002 END
stop是直接退出程序了。
PRINT "12345" "54321"
STOP
PRINT "Hello world"
DATA 1,2,3,4
READ A,B
100
PRINT A
PRINT B
SLEEP
PRINT "GOTO AGAIN"
GOSUB 100
END
1000 GOTO 2000:GOSUB 4000:GOSUB 6000
1001 END
2000 PRINT "2000" :RETURN
4000 PRINT "4000" :RETURN
6000 PRINT "6000" :RETURN
100 FOR N=1 TO 4
120 PRINT "N=";N
REM GOSUB会返回调用处
121 IF(N=2) THEN GOSUB 150
REM GOTO会直接跳过去忽略RETURN
122 IF(N=3) THEN GOTO 150
140 NEXT N
150 PRINT "HELLO,WORLD!!!"
160 RETURN
170 PRINT "170 PRINT"
180 PRINT "180 PRINT"
配合转子语句使用,调用子程序。
定义数组,定义的数组下标从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
结束程序。
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
100 J=-100
101 K=100
102 J2=-100.1
103 K2=100.1
104 PRINT ABS(J)
105 PRINT ABS(K)
106 PRINT ABS(J2)
107 PRINT ABS(K2)
原博主博客地址:https://blog.csdn.net/qq21497936
原博主博客导航:https://blog.csdn.net/qq21497936/article/details/102478062
本文章博客地址:https://blog.csdn.net/qq21497936/article/details/106850097