c语言 硬件开发实例_Basic语言开发笔记:Basic语言介绍、环境搭建、基本语法示例与程序实例...

f799630bd66b9d7db1203c8d9d18f9b5.png

若该文为原创文章,未经允许不得转载
原博主博客地址: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,又译培基),意思就是“初学者通用符号指令代码”,是一种设计给初学者使用的程序设计语言。

197236829fbaa614790d845b37f85a0b.png


BASIC是一种直译式的编程语言,在完成编写后不须经由编译及连结等手续即可执行,但如果需要单独执行时仍然需要将其建立成执行档。
BASIC是由达特茅斯学院院长、匈牙利人约翰·凯梅尼(John G. Kemeny)与数学系教师托马斯·卡茨(Thomas E. Kurtz)共同研制出来的。1964年BASIC语言正式发布。第一个BASIC程序在1964年5月1日早上4时,由BASIC编译程序进行编译后成功运行。1975年,比尔·盖茨把它移植到PC上。

编译环境搭建

安装编译器

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

7b868ab29e7456fd67167f437fb280fd.png


安装完后,打开命令行:

9851fc7895b8c8d36109172d2059c1fb.png


跳转到开发目录即可,

安装编辑环境

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

5f9baab6d782e9450cedd4cfb960e076.png


打开编辑器:

de3c7d98a567f862ed5dcaabab48a464.png

下载地址

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

编译器编译时错误解决

编译时报错,如下图:

12d7f1d24aa44460e9df71d7ff228ae8.png


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

ee36e0f9e56450c026f7ad2d4941e487.png

运行环境

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

基本语句

打印(PRINT)语句

示例1

PRINT "12345" PRINT "Hello world"

c9da3d89ca858ba65a6feea9cdf23ebf.png

b6a4a3f54492bf8ad04512cd1be87b01.png

示例2

PRINT "12345";"54321" PRINT "Hello world"

a0f0d70e6c3c6181232c67bd8b9ef52a.png

fb46f5aa8a983eb94770bb95a37d6a76.png

示例3

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

642ed731978400739fe760844bfe197b.png

e73694d3791b27bda58579f966e16d2e.png

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

6bf1359446bd4f7eaae6a81636664814.png

00a26cecc0ab0462add484d8691d6d95.png

置数(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

20820827fd187a9b18b29a55bd8aa48a.png

58a6875c80b90e93f41defd7b28ad113.png

示例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

466db49917706eb012bdbf37f6b38dfd.png

a179c814041fa6079ae7f66e32f7d0ff.png

示例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

3d4efcca63fd05ad485723b5717d3fc4.png

673c186ec6dd3855dd1034e2bc6ee31c.png

示例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

541335eeac9a9cc6be5488bc5cf97e34.png

03956e14cbcb3731b2e5591702743419.png

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

DATA 10,100,1000 READ T1,T2:T3=T1+T2 PRINT T1 PRINT T2 PRINT T3 READ T3 PRINT T3 END

a0fb04fe33e685e6c9cf39f73136eb26.png

afcca0e0f7e558e8fc0bb58bb6fbb3bd.png

示例5:读取字符串

DATA "aaa" READ A$ PRINT A$ END

673bb1c91a1dde2aa7aa9a28fc450372.png

8ec518a6feee3d4e9c563948d4b2000d.png

赋值(LET)语句

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

示例1

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

92b408e935cc678f1c233d2795a5c79c.png

50a88d15a0d0ed43d55dbc9602db2c64.png

键盘输入(INPUT)语句

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

示例1

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

c28f8421236f287d80340c4538817504.png

示例2

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

05c59373b4d3e8074f4d8166232eb302.png

恢复数据区(RESTORE)语句

示例1

DATA 1,2,3,4 READ A,B PRINT A PRINT B RESTORE READ A,B PRINT A PRINT B END

11bd7a01dd6623ee705fed4e7ee84439.png

f6dc2a458fdb424aa0b2d6ed795fa61e.png

无条件转移(GOTO)语句

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

示例1

DATA 1,2,3,4 READ A,B 100 PRINT A PRINT B SLEEP PRINT "GOTO AGAIN" GOTO 100 END

b04ab4f094af32eeac76d0b175859783.png

ffbbe1bb9a26961a815eb8e1551c9817.png

条件转移(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

14338e2197042fd27ba150aca83ba7a8.png

e8c7b5a3bdee4e4c931713e7ed82f06a.png

注释(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

786a2d98cb48d6ab64c027229de4811c.png

循环终了(NEXT)语句

与循环说明语句合成循环(FOR~NEXT)语句。
请参照“循环说明(FOR)语句”

循环说明(FOR)语句

示例1

INPUT N FOR I=0 TO N A=A+I PRINT "+";I;"=";A NEXT I PRINT A END

6998df09118f8a203638f3b24602d675.png

a7cc5e9317d0c363eac320dc5f45aa81.png

暂停(STOP)语句

stop是直接退出程序了。

示例1

PRINT "12345" "54321" STOP PRINT "Hello world"

57a8f35fffb63549ac71d92fac6ff811.png

d35de13c1b8a95cb0671f3a4c2d32036.png

转子(GOSUB)语句

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

DATA 1,2,3,4 READ A,B 100 PRINT A PRINT B SLEEP PRINT "GOTO AGAIN" GOSUB 100 END

6c6ddfdcd372c051041ecb3c20688a32.png

71dc2d2b2b990706f5996494a7781b5c.png

返回(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

e7f88ac6157a75d37c322d40ef191084.png

08bb009c4112bb5370d7981f75767803.png

结束(END)语句

结束程序。

程序实例

预读入加法程序

DATA 10,20 READ A,B PRINT A;"+";B;"=";A+B

220457c6c01b1fadc798109d6a0f3adb.png

7f0e04bc7f7c4b3e5af417baed361b8e.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

240ab185723436515e30b0d61c49d1ef.png

22c22e1c80f73e4422537b38f71e57bb.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

805bd0ca9f51beff736a392c2f107720.png

5b46c1e66c227df670c6146e9e611137.png

原博主博客地址:https://blog.csdn.net/qq21497936
原博主博客导航:https://blog.csdn.net/qq21497936/article/details/102478062
本文章博客地址:https://blog.csdn.net/qq21497936/article/details/106850097

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值