Qbasic 教程.docx
《Qbasic 教程.docx》由会员分享,可在线阅读,更多相关《Qbasic 教程.docx(35页珍藏版)》请在冰豆网上搜索。
Qbasic教程
Qbasic教程
●计算机语言大致分为三种:
机器语言(0、1)、
汇编语言(指令是用符号和数字来代替二进制代码的)、
高级语言(是由一系列按一定语言规则写出的语句组成的语言)
●关于程序:
⏹计算机程序就是:
用计算机语言描述的解决问题的程序。
⏹程序是:
由让计算机完成任务的、合乎计算机语言规则的一系列语句(指令)组成的。
⏹计算机程序设计就是:
探求解决问题的方法并将实现它的步骤写成计算机的程序的过程。
●
第一章 BASIC语言概述
BASIC(Beginner’sAll-purposeSymbolicInstructionCode的缩写,意为初学者通用符号指令代码)
一、BASIC语言的发展
.BASIC语言于1964年问世 三、QBasic的特点
QBasic是结构化的程序设计语言,与第二代BASIC相比有如下特点:
1、扩充了变量和常量的类型
.变量名长度:
40个字符
.增加了长整型、定长字符型变量
.可定义数值常量、字符串常量
2、提供了新的选择结构
.条件语句
IF <条件> THEN
<语句组1>
ELSE
<语句组2>
ENDIF
.多分支语句SELECT
3、改进了循环结构
增加以下两个循环语句:
.WHILE循环
WHILE<条件>
<循环体>
WEND
.DO循环
2、微机BASIC(第二代)
.Microsoft总裁Bill.Gates编写只有4k字节的解释程序
.TRS-80BASIC
.AppleBASIC
.MSBASIC(BASICA)
.GWBASIC
3、结构化BASIC(第三代)
.限制GOTO语句,程序模块化
.TrueBASIC 真正的BASIC
.QuickBASIC
.TurboBASIC
.QBasic(DOS5.0以上)
4、面向对象的BASIC
.windows环境下的VisualBASIC,图形界面,支持多媒体.
二、QBasic的特点
QBasic是结构化的程序设计语言,与第二代BASIC相比有如下特点:
1、扩充了变量和常量的类型
.变量名长度:
40个字符
.增加了长整型、定长字符型变量
.可定义数值常量、字符串常量
2、提供了新的选择结构
.条件语句
IF <条件> THEN
<语句组1>
ELSE
<语句组2>
ENDIF
.多分支语句SELECT
3、改进了循环结构
增加以下两个循环语句:
●WHILE循环
WHILE<条件>
<循环体>
WEND
●DO循环
DOWHILE<条件>
<循环体>
LOOP
4、子程序和函数作为单独的模块
5、不需要行号
6、具有良好的编辑环境
7、提供联机“Help”
8、提供“分步执行”“跟踪”等调试
9、采用先进的解释执行方式
10、与VisualBASIC完全兼容
三、QBasic使用环境
(一)进入QB
QBASIC主要由QBASIC.EXE(可执行文件)和QBASIC.HLP(在QB编程环境中由Help菜单调用帮助信息的文件)两个基本文件组成,它属于DOS系统下的软件,也可在WINDOWS95/98视窗下双击运行,但其最佳的运行环境还是DOS环境,即首先要进入WINDOWS提供的DOS环境,当需要在DOS系统下输入汉字时,还需启动DOS下的汉字输入系统“UCDOS”,最后进入QBASIC.EXE所在的目录执行QBASIC.EXE程序文件。
例如:
假若QBASIC.EXE和QBASIC.HLP文件存放在C盘的QBASIC文件夹里。
最好是以如下方法进入QB。
1、单击:
开始-程序MS—DOS方式4、键入:
CD\QBASIC
2、键入:
CD\UCDOS5、键入:
QBASIC
3、键入:
UCDOS或UP
(二)进入QBASIC后
1、进入QBASIC集成环境之后,按“ESC”键取消屏幕中央的欢迎向导对话框。
2、QB窗口中有菜单栏、标题区、编辑窗口、立即窗口、提示行。
3、按一下“Alt”键可以激活菜单栏。
4、编辑窗口是程序输入、修改的地方。
5、立即窗口可以用来执行QBASIC的命令。
(以按“回车”键来执行命令)
6、按“F6”键可以在编辑窗口和立即窗口之间切换。
工作窗口
.程序窗口(上)
.命令窗口(下)
.两窗口之间的切换F6
四、运行程序
1、从键盘输入程序
2、运行程序
.选择菜单RUN中的“Start"命令
.直接按F5键或Shift+F5
.在命令窗口中输入run命令
3、修改和编辑源程序
删除、插入、复制、粘贴
4、程序存盘和从磁盘读入程序
5、退出QBasic
第二章 QBasic程序设计初步
一、概述
程序设计要掌握如下几点:
1、语法规则
计算机是忠实的执行者
2、根据算法写出程序
掌握算法,会画流程图
3、数据结构
数据的组织形式
4、结构化程序设计方法
掌握三种基本结构的运用(顺序、分支、循环)
5、程序运行的环境
了解计算机系统的硬件和软件配置
程序设计=算法+数据结构+程序设计方法+语言工具和计算机环境
二、源程序结构
1、一个程序由若干个语句行组成,每一行称为一个语句行,一行中可以包含多个语句(语句间用“:
”号相隔)。
Leta=4:
letb=8
2、语句行可以没有行号,程序按语句排列的顺序依次执行,但也允许有行号,行号仅作为行标号(源程序转移的目标)而不代表执行顺序。
3、语句结构
<语句定义符>[<语句体>]
(关键字)
语句定义符:
表示语句的功能,是一些英文单词或英文单词的缩写。
语句体:
说明该语句操作的具体对象。
4、程序以END语句结束
可以有多个END语句,一般放在程序的最后。
5、行标号
.行的标志
.只能在一行的开头
.可独占一行(即为空语句)
6、主程序与子程序
一个程序只包含一个主程序,但可包含若干个子程序或函数。
三、常量
常数——不变的数 常量——不能改变的数据
常量
1、数值常量(常数)
1)整型常量(整数)
由若干个数字组成的序列
2)实型常量(实数)
.定点数(日常记数法) 小数位固定
.浮点数(科学记数法) 用E代表以10为底的幂数,即把常量用指数形式来表示
例如:
12.34E2表示1234
.单精度实数(普通型实数)——7位有效数字
.双精度实数——16位有效数字(用D代替E)
3)数的范围
类型 标记符 字节 有效位数
整数 % 2
长整数 & 4
单精度定点数 !
4 7
单精度浮点数 E 4 7 (科学记数法)
双精度定点数 # 8 15
双精度浮点数 D 8 15 (科学记数法)
例:
45%a%代表整数
INTEGERS-32,767-32,768
LONG2,147,483,647-2,147,483,648
SINGLE(7位数字)?
.402823e+38?
.401298e-45
DOUBLE(15位数字)?
.7976931d+308?
.940656d-324
2、字符串常量
用双引号把若干个合法字符括起来,如:
"QBasic" "abc123"
3、符号常量(既可以是字符型,也可以是数值型)
CONST <符号>=<常量>
例如:
CONST pi=3.14159
四、变量就是数据存放单元。
一个变量就如同一个很小的磁带,磁带用来记录歌曲,变量用来存放数据。
磁带录制的歌曲可以反复播放,同样变量中写入的数据也可以反复读取。
但若在有歌曲的磁带上直接录制新的歌曲,新的歌曲将自动替换旧的歌曲。
同样有数据的变量在写入新的数据时,新写入的数据也将自动替换掉旧的数据。
可改变的量,如:
leta=1
leta=2.3
leta=45.9
printa
end
1、变量名和变量的值
1)变量名规则
.变量名的第一个字符必须是字母
.变量名中第2个字符及其后的字符可以是字母、数字或小数点
.变量名的长度范围为1-40个字符
.表示变量类型的符号应作为最后一个字符a%
.QBasic的保留字不能用作变量名.
.变量名中的大小写字母等效
.变量名中不可有空格
如:
wrongname:
2a, ab
2)变量的名与值
变量名——符号地址
变量值——存储内容
系统自动生成变量名与内存地址对照表
2、变量类型:
变量也分为数值型变量和字符型变量
1)变量名后加类型定义符
%——整型(INTEGER)
&——长整型(LONG)
!
——单精度实数(SINGLE)
#——双精度实数(DOUBLE)
$——字符串(STRING)
2)DIM语句
DIM<变量名>as<类型>
.<变量名>不加类型符
.用DIM定义了的变量其末尾加或不加类型定义符都是合法的且都表示同一变量 (见下3)例)
3)字符串变量
.可变长字符串变量
a$="abcde"
a$="1234567"
.固定长度的字符串变量
例如:
DIMaasstring*5
a="China"
a$="Shanghai"
PRINTa,a$
END
运行结果是:
1、思考:
DIMaasstring
a="China"
a$="Shanghai"
PRINTa,a$
END
注意1:
字符型变量(有“$”后缀)和数值型变量(无“$”后缀)的区别:
是否有$后缀。
A$,a
例:
a$=”china”
a=1234
printa$,a
end
思考:
a$=1234正确吗?
注意2:
变量定义只要在变量名后加上后缀就可以指定变量类型,比如a%。
注意a%和a$是两个不同的变量,可以同时使用。
如果不加任何后缀,系统默认是浮点类型的。
数字也是如此,23%表示整数23,23E代表浮点数23
当然23.0也是浮点数.
2、思考2:
a=23456789
C%=234567
Printa,b,c
End
使用DEF后紧跟“简称”可以改变系统默认类型。
比如DEFINTA代表所有以A开头的变量都是整型变量。
LNGA-Z代表所有变量(从A到Z开头)都是长整型变量。
例:
DEFLNGa
A=12345678
Printa
end
思考:
如果取掉DEFLNGA语句,会是什么结果?
五、标准函数
常见的标准函数:
(1)ABS(X)表示:
数学中的|X|如:
ABS(―5)=5
(2)SQR(X)表示:
数学中的
如:
SQR(9)=3
(3)INT(X)求不大于X的最大整数
如:
INT(―7.89)=―8INT(7.89)=7
(4)SIN(X)表示:
SINx求弧度值为x的角的正弦值
(5)COS(X)表示:
COSx求弧度值为x的角的余弦值
注:
角度值为1°的角用弧度值表示为:
3.14159/180
如:
SIN(30*3.14159/180)=sin30°COS(60*3.14159/180)=COS60°
(6)RND(X)随机函数,X通常取1,产生一个(0,1)之间的随机数,函数的值不确定,即:
结果与变量X无关。
思考:
“PRINTINT(RND
(1))+1”的结果。
注:
INT(x)函数有五大考点
(1)正、负小数取值:
PRINTINT(1/4-2),INT(ABS(1/4-2))
(2)对小数部分的进行四舍五入:
INT(A*10+0.5)/10保留至十分位;INT(A*100+0.5)/100保留至百分位;INT(A*1000+0.5)/1000保留至千分位;
(3)已知M、N,求M/N的余数:
PRINTM-INT(M/N)*N(
(4)用于判断M能被N整除的条件:
INT(M/N)=M/N成立,则M能被N整除
当INT(M/2)=M/2,则M为偶数;当INT(M/2)<>M/2,则M为奇数
(5)用于判断变量C的值是否为整数:
当条件INT(C)=C成立,则变量C的值为整数
例如:
计算x+y的平方根 SQR(x+y)
计算sin(a+b) SIN(a+b)
六、运算符和表达式
QBasic的三种运算:
算术运算、关系运算、逻辑运算
1、算术运算符
加 + 4+5 =9
减 - 8-3 =5
乘 * 2*3 =6
除 / 5/2 =2.5
整除 \ 5\2 =2
求余 MOD 5MOD2 =1
乘方 ^ 2^3 =8
注:
对于整除和求余运算,若参与运算的数不是整数,则先按四舍五入的原则变成整数后再运算。
2)算术表达式
.QBasic表达式
用运算符和括号将若干运算量(包括常量、变量、函数等)连接起来的式子。
.算术运算符的优先顺序:
括号—正负号—函数—乘方—乘、除、整除—余数—加、减
.表达式的写法
表达式应写出在同一行,注意分式的写法。
例:
数值表达式
要点:
(1)把数学表达式写成BASIC语言表达式。
(2)计算BASIC语言表达式的值。
(A+B)/(X-Y)
(-B+SQR(B^2-4*A*C))/(2*A)
2_、关系运算符:
(1)关系运算符 >、<、=、>=、<=、<>等六种。
(2)关系表达式:
它的运算结果只有两种(真ture和假false,用数值表示时false为0,true为非0值)
例:
ifx<>0thenprintx和
Ifxthenprintx两个结果相同
3、逻辑运算符和逻辑表达式
(1)逻辑运算符 NOT(非)、AND(与)、OR(或)等五种
运算级别(高到低):
NOT、AND、OR
(2)逻辑表达式:
它的运算结果只有两种(真和假)
[例2]把下列式子写成QB逻辑表达式的值:
(1)3<X<9答:
(x>3)and(x<9)
(2)X<9 或 X>15答:
(x<9)orx>15
(3)X是小于100的非负数 答:
(x>=0)and(x<100)
七、程序调试
1、分步执行
F8—单步执行,STEP
F6—窗口转换,WINDOWS
F5—运行或继续运行。
2、设置断点
F9—设置断点 F5—运行或继续运行
第三章 顺序程序设计
程序的执行次序,从上到下,由一些非控制转移语句组成
一、输出语句
输出用户所需的信息
1、一般格式
PRINT[<表达式>] 表达式—常量、变量、函数
如:
PRINT 2,4,6
PRINT"X=";X
显示:
X=...
2、作用
1)当输出内容是数值型常量时直接输出该常量即数值;如:
PRINT2,-5,3.8
2)当输出内容是数值运算表达式时,计算机先自动计算其值,然后再输出该值;
如:
PRINT3.14*R^2PRINTSQR(B^2-4*A*C)
3)当输出内容是字符型常量(串)时,字符串必用双引号引起来,而运行结果时则直接输出双引号内的字符。
例如在立即窗口中运行如下语句:
PRINT“HOWDOYOUDO?
”
在运行后只显示双引号内的内容:
HOWDOYOUDO?
3、输出格式
(1)标准格式:
PRINT语句输出内容中各项之间用“,”分隔。
屏幕一行有80个字符位,而标准格式把屏幕分成五段,前4段各占14格,最后一段占24格。
标准格式则分占1,15,29,43,57这五个字符位。
(2)紧凑格式:
PRINT语句输出内容中各项之间用“;”分隔。
被分隔的各个输出项将紧挨着输出。
每个数在屏幕上占位为:
符号数字空格
正数时:
“+”号被空格占位,正数与前一数按紧凑格式输出间隔两个字符位。
+15
负数时:
负数与前一数按紧凑格式输出间隔一个字符位。
例:
Print*,*,*,*,*
print
Print*;*;*;*;*
print
print23;24;25
print-23;-24;-25
end
(3)句尾标点格式
当语句末尾带“,”或“;”时,则本语句各项输出完毕后不换行,将下一个PRINT语句的第一个输出项接着本行按标准格式或紧凑格式输出。
例:
print“**********”
Print”########