qbasic,什么是QBASIC语言????

时间:2023-09-06 07:10:10编辑:阿贵

1,什么是QBASIC语言????

QBASIC是BASIC(Beginner's All-purpose Symbolic Instruction Code,初学者通用指令代码)语言的一个变种,由美国微软公司开发,1991年随MS-DOS 5.0推出。它不能被编译成独立的可执行文件,源代码在集成开发环境(IDE)中先被编译成中间代码,然后中间代码在IDE中被解释执行。它被设计用来代替GW-BASIC,并被集成在MS-DOS 5.0及其更高版本(包括Windows 95)中。QBASIC基于微软稍早推出的QuickBASIC 4.5,但去掉了后者的编译和连接部分。
Basic语言是计算机高级语言的一种,它简单、易学、好用,被广大计算机用户所青睐。Basic语言的表达式与数学中的表达式相似,语句与自然语言相仿,极容易被初学者掌握,而Basic语言的最新发展Visual Basic 6.0、7.0,其友好的可视化编程界面、强大的面向对象编程能力及其网上发行和网上查询的功能,不仅能使用户方便而轻松地编写出具有任何功能的应用程序,而且更好地适应了网络时代的到来。
微软在较新版本的Windows中不再集成QBASIC。不过Windows 98的用户可以在光盘的\TOOLS\OLDMSDOS目录中找到它,在Windows 95的光盘中,它存放在\OTHER\OLDMSDOS目录中。微软网站对它的技术支持只对MS-DOS的授权用户有效。
QBASIC拥有一个值得称道的集成开发环境和一个功能强大的集成调试器,这一切在那个时代让人耳目一新。直到今天,QBASIC依然是许多面向初学者的编程书籍的主题。
语法
和Quick BASIC类似而又不同于微软其他BASIC的早期实现版本的是,QBASIC是一种结构化的编程语言。和GW-BASIC相比,QBASIC的主要改进是:
扩充了变量和常量的类型
变量名长度:40个字符
增加了长整型、定长字符型变量
可定义数值常量、字符串常量
提供了新的选择结构
条件语句
IF THEN ELSE
多分支语句SELECT
改进了循环结构
增加以下两个循环语句:
WHILE循环
WHILE

WEND
DO循环
DO WHILE LOOP
子程序和函数作为单独的模块
不需要行号
代码示例(赋值,求和运算,并显示结果)
LET A=10
LET B=20
LET C=A+B
PRINT C
在编写程序时为了节省时间,可以不用写LET;并且,PRINT在编写程序时直接用“?”代替。有一点非常重要,在参加竞赛时,程序第一行必须是CLS!
快捷键
F5:运行程序(其功能等于run)及继续运行被中断的程序;
Ctrl+Break:中断正在运行的程序;
Shift+F5:从第一条语句开始重新运行程序;
F4:当程序中断运行时,查看运行结果屏幕,再按一次F4则切换回代码屏幕;
F1:获得帮助。
F2:切换主程序或SUB、FUNCTION。
范例
范例1:
菜场上一公斤香菇是7.5元,编一个程序,从键盘上输入重量,计算机自动算出其总价
INPUT X
SUM=7.5*X
PRINT SUM
END
范例2:
卖西瓜,10千克以下每千克1.4元,10千克以上每千克0.7元,输入要买多少千克(必须为自然数),输出需要多少钱。
INPUT X
IF XFIX(X) THEN ? "NO":GOTO 1
IF X>10 THEN SUM=10*1.4+(X-10)*0.7 ELSE SUM=X*1.4
PRINT SUM
END
范例3:
输入10个字母,比较大小,输出最大的一个
DIM A$(10)
FOR I=1 TO 10
INPUT A$(I)
NEXT I
B$=A$(1)
FOR I=2 TO 10
IF B$<A$(I) THEN B$=A$(I)
NEXT I
PRINT B$
END
上面的那些程序都太水了,我在此编了一个超长的画图程序:
DRAWTOOL.BAS
CLS
DO
SCREEN 1
SCREEN 0
PRINT TAB(16); "Draw tool"
PRINT STRING$(40, "*")
PRINT "Help:"
PRINT "Press highlighted letter."
FOR I = 1 TO 8
READ S$, S
GOTO PrintHLWord
PrintHLWordBack:
NEXT I
RESTORE
DATA "HorizontalBAR", 1, "UprightBAR", 1, "CrossBARs", 1, "BiasBAR1", 8
DATA "BiasBAR2", 8, "DiagonalBARs", 1, "DiffuseBARs", 2, "Exit", 1
ElseKey:
K$ = INPUT$(1)
SELECT CASE UCASE$(K$)
CASE "H"
GOTO HorizontalBAR
HorizontalBARBack:
CASE "U"
GOTO UprightBAR
UprightBARBack:
CASE "C"
GOTO CrossBARs
CrossBARsBack:
CASE "1"
GOTO BiasBAR1
BiasBAR1Back:
CASE "2"
GOTO BiasBAR2
BiasBAR2Back:
CASE "D"
GOTO DiagonalBARs
DiagonalBARsBack:
CASE "I"
GOTO DiffuseBARs
DiffuseBARsBack:
CASE "E"
END
CASE ELSE
GOTO ElseKey
END SELECT
LOOP
END
PrintHLWord:
IF S = 1 THEN
COLOR 15
PRINT LEFT$(S$, 1);
COLOR 7
PRINT MID$(S$, 2)
ELSE
COLOR 7
PRINT LEFT$(S$, S - 1);
COLOR 15
PRINT MID$(S$, S, 1);
COLOR 7
PRINT MID$(S$, S + 1)
END IF
GOTO PrintHLWordBack
HorizontalBAR:
SCREEN 1
FOR I = 1 TO 200
PSET (I, 100)
DO: LOOP WHILE INKEY$ = ""
NEXT I
SCREEN 0
GOTO HorizontalBARBack
UprightBAR:
SCREEN 1
FOR I = 1 TO 200
PSET (100, I)
DO: LOOP WHILE INKEY$ = ""
NEXT I
SCREEN 0
GOTO UprightBARBack
CrossBARs:
SCREEN 1
FOR I = 1 TO 200
PSET (I, 100)
PSET (100, I)
DO: LOOP WHILE INKEY$ = ""
NEXT I
SCREEN 0
GOTO CrossBARsBack
BiasBAR1:
SCREEN 1
FOR I = 1 TO 200
PSET (I, I)
DO: LOOP WHILE INKEY$ = ""
NEXT I
SCREEN 0
GOTO BiasBAR1Back
BiasBAR2:
SCREEN 1
FOR I = 1 TO 200
PSET (I, 200 - I)
DO: LOOP WHILE INKEY$ = ""
NEXT I
SCREEN 0
GOTO BiasBAR2Back
DiagonalBARs:
SCREEN 1
FOR I = 1 TO 200
PSET (I, I)
PSET (I, 200 - I)
DO: LOOP WHILE INKEY$ = ""
NEXT I
SCREEN 0
GOTO DiagonalBARsBack
DiffuseBARs:
SCREEN 1
FOR I = 1 TO 200
PSET (I, 100)
PSET (100, I)
PSET (I, I)
PSET (I, 200 - I)
DO: LOOP WHILE INKEY$ = ""
NEXT I
SCREEN 0
GOTO DiffuseBARsBack
路程图:
CLS
输入
计算
输出
END
QBASIC下载地址:
4.0版http://down.lihuasoft.net/irrwd/download/program/vb/qb40.zip
4.5版http://dlzisai.pchome.net/development/linetools/qb45.zip
4.0版的地址中有许多QB程序例子,比如SINEWAVE.BAS,可以画出正弦波。

2,有谁能帮我解释一下Qbasic里Play这个命令的具体用法?

功能:演奏由给定的字符串所表示的音乐
格式:PLAY [命令字符串]
说明:[命令字符串]是一种音乐语言单个字符命令组成,用以表示音符的音高、音长、速度及演奏方式等。
乐谱中的音符CDEFGAB(当1=C时相当于简符1234567)在BASIC中仍然是这7个字母,“#”(或“+”)号与“-”号分别表示乐谱中的升半音(#)和降半音(b),字符“.”代表延长前面音符的一半时长(用来表示附点音符),其他字符命今如下:
1、O命令
功能:用来设置要演奏的音符所在的八度,即音阶。
格式:On
说明:命令中n的取值为0-6。比如.使计算机在演奏完音阶3的CD之后,再演奏一个高八度的C,即音阶4中的c调,可以用PLAY “O3CDO4C”来实现。普通中音是指音阶3中的音符。
2、L命令
功能;用来设置要演奏的每个音符的长度(亦称音符的时值)。
格式:Ln
说明:n的取值1-64,L1表示以全音符,L2表示半音符,L4表示四分音符,L8表示八分音符……
一个音符的时值也可以直接写在该音符后面,而不用L命令。如L8A与A8等效,C4E4D4A4等效于L4CEDA,而L4CDEFC2AB2则表示音符后面不带数字的按L设定的四分音符演奏,后面带数字的G2和B2按数字指定的音值演奏,显然用L命令更简洁方便。
3、P命令
功能:表示休止符的长度
格式:Pn
说明:n的取值1-64,P1表示全休止符.P2表示半休止符,P4表示四分休止符……
4、T命令
功能;用来设置演奏的节拍速度。
格式:Tn
说明:n为每分钟演奏四分音符的数量,取值32-255,缺省是T120
注意:除了T命令外还可以用以下三个命令来控制演奏的速度:
(1)MN(音乐标准):它使每个音符以L设定的音值的7/8来演奏,使得两两音符之间有短暂的停顿。
(2)ML(音乐连奏);使演奏时两两音符间不停顿,每个音符将演奏足L规定的音长。
(3)Ms(音乐断音):使每个音符更短一些,以L给出的音值的3/4来演奏,以此来延长音符间的停顿。
另外.QB演奏音乐时有两种方式供选择:前台音乐和背景音乐。由MF和MB来确定。当“命令字符串”中出现MF时,表示在前台插放音乐.即QB要等到执行完PLAY语句后才能继续往下执行程序,在播放音乐时不能做其它的事情。而出现MB时,则表示在后台播放音乐,QB可以将最多32个音符或休止符保存在缓冲区,然后继续执行下面程序,而无需等待把这些音符全部演奏完。这样,MB允许QB在演奏的同时做一些其它的事情,如运算、绘图等等。
现在,在了解了PLAY语句使用方法的基础上我们编制一个简单的程序,来演奏《友谊地久天长》的片断,其相应的简谱如下:
我们把这段乐曲分四部分,每部分单独用一字符串表示,为使两部分间有短暂停顿,在每一部分的末端都用MN演奏。乐曲中连线处用ML连贯演奏。
A$="O2MNG O3C.C16CE D.C16DE C.C16EG MNA4."
B$="A G.E16EC D.C16DE C.O2A16AG O3MNC4."
C$="A MLG.E16EC D.C16MNDA MLG.E16EG MNA4."
D$="O4C O3G.E16EC D.C16DE C.O2A16AG O3C4."
PLAY "T60 L8"+A$+B$+C$+D$
END
为清晰起见,程序中各小节的音乐编码之间以空格分开,这样编码与乐谱之间的对应关系一目了然。

3,qbasic命令

QBASIC是BASIC(Beginner's All-purpose Symbolic Instruction Code,初学者通用指令代码)语言的一个变种,由美国微软公司开发,1991年随MS-DOS 5.0推出。它不能被编译成独立的可执行文件,源代码在集成开发环境(IDE)中先被编译成中间代码,然后中间代码在IDE中被解释执行。它被设计用来代替GW-BASIC,并被集成在MS-DOS 5.0及其更高版本(包括Windows 95)中。QBASIC基于微软稍早推出的QuickBASIC 4.5,但去掉了后者的编译和连接部分。

微软在较新版本的Windows中不再集成QBASIC。不过Windows 98的用户可以在光盘的\\TOOLS\\OLDMSDOS目录中找到它,在Windows 95的光盘中,它存放在\\OTHER\\OLDMSDOS目录中。微软网站对它的技术支持只对MS-DOS的授权用户有效。

QBASIC拥有一个值得称道的集成开发环境和一个功能强大的集成调试器,这一切在那个时代让人耳目一新。直到今天,QBASIC依然是许多面向初学者的编程书籍的主题。

语法

和Quick BASIC类似而又不同于微软其他BASIC的早期实现版本的是,QBASIC是一种结构化的编程语言。和GW-BASIC相比,QBASIC的主要改进是:

扩充了变量和常量的类型

变量名长度:40个字符

增加了长整型、定长字符型变量

可定义数值常量、字符串常量

提供了新的选择结构

条件语句

IF THEN ELSE END IF

多分支语句SELECT

改进了循环结构

增加以下两个循环语句:

WHILE循环

WHILE WEND

DO循环

DO WHILE LOOP

子程序和函数作为单独的模块

不需要行号

代码示例(赋值,求和运算,并显示结果)

let A=10

let B=20

let C=A+B

Print C

快捷键

Ctrl+Break:中断正在运行的程序;

F5:继续运行被中断的程序;

Shift+F5:从第一条语句开始重新运行程序;

F4:当程序中断运行时,查看运行结果屏幕,再按一次F4则切换回代码屏幕;

F1:获得帮助。
不知道是不是你要的答案?!

4,qbasic常用命令

你说的是常用命令,我来告诉你:
LET (赋值语句)
格式:[LET] 变量=表达式
功能:先计算右边表达式,然后将结果赋给左边的变量

SWAP (变量值交换语句)
格式:SWAP 变量1,变量2
功能:将变量1和变量2的值进行交换

PRINT (显示或输出语句)
格式:PRINT [表达式表][,|;]
功能:将指定的数据显示在屏幕上

LPRING (打印语句)
格式:LPRINT [表达式表][,|;]
功能:将指定的数据用打印机打印出来

REM (注释语句)
格式1:REM 注释内容
格式2:’ 注释内容
功能:在程序中加以解释来说明该程序段的作用

END (结束语句)
格式:END
功能:结束一个程序

CLS (清屏语句)
格式:CLS
功能:清除屏幕上显示的信息

PRINT USING (自选显示格式语句)
格式:PRINT USING 〈“格式字符串”〉;〈表达式表〉 [;]
功能:根据格式字符串规定的格式,将表达式表中的数据显示在屏幕上

LPRINT USING (自选打印格式语句)
格式:LPRINT USING 〈“格式字符串”〉;〈表达式表〉[;]
功能:根据格式字符串规定的格式,将表达式表中的数据打印在打印机纸上

STOP (暂停语句)
格式:STOP
功能:暂停程序的执行

SLEEP (定时暂停语句)
格式:SLEEP [数值表达式]
功能:暂停执行程序,时间为数值表达式所指定的数值(以秒为单位)

INPUT (键盘输入语句)
格式:INPUT [;][“注释内容”][;|,]变量[,变量]
功能:通过键盘给INPUT语句中的各个变量依次提供数据

LINE INPUT (行输入语句)
格式:LINE INPUT [;][“注释内容”;]字符串变量
功能:将键盘上输入的字符串(最长为255个)赋给字符串变量

READ/DATA(读数/置数语句)
格式:READ 变量 [,变量]…


DATA 常量 [,常量]…
功能:READ语句将DATA语句中提供的数据依次赋给指定的变量

RESTORE (恢复数据区语句)
格式:RESTORE [行号|行标号]
功能:从指定的DATA语句行中读入常量



数值函数

SIN (正弦函数)
格式:SIN (X)
功能:求X的正弦函数值

COS (余弦函数)
格式:COS(X)
功能:求X的余弦函数值

TAN (正切函数)
格式:TAN(X)
功能:求X的正切函数值

ATN (反正切函数)
格式:ATN(X)
功能:求X的反正切函数值
SQR (平方要函数)
格式:SQR(X)
功能:求X的算术平方根值,其中X必须大于或等于零

EXP (指数函数)
格式:EXP(X)
功能:求以e为底的X次幂,e=2.718282

LOG (对数函数)
格式:LOG(X)
功能:求以e为底的自然数值,即In x 的值

SGN (符号函数)
格式:SGN(X)
功能:求自变量X的符号

ABS (绝对值函数)
格式:ABS(X)
功能:求自变量X的绝对值,即|X|

INT (取整函数)
格式:INT(X)
功能:取不大于X值的最大整数

FIX (截取整数函数)
格式:FIX(X)
功能:把一个带有小数的数去掉小数部分,不进行舍入,直接截取整数部分。自变量X可以是任意数值表达式

CINT (转为整数函数)
格式:CINT(X)
功能:把一个带有小数的数转换成整数,对小数部分四舍五入

CLNG (转为长整数函数)
格式:CLNG(X)
功能:把自变量X转变为长整数

CSNG (单精度函数)
格式:CSNG(X)
功能:把数值X转变为单精度数,其中自变量X是一个数值表达式,使用该函数它将被转换成单精度数

CDBL (双精度函数)
格式:CDBL(X)
功能:把数值X转变为双精度数,自变量X可以是任意数值表达式

RND (随机函数)
格式:RND(X)
功能:产生一个0与1之间的随机数

TIMER (?函数)
格式:TIMER
功能:从午夜开始计算秒数

ASCII (ASCII码函数)
格式:ASC(X$)
功能:返回字符串 X$ 第一个字符的ASCII代码

VAL (字符串转数值函数)
格式:VAL(X$)
功能:将字符串 X$ 转换成数值

LEN (测长函数)
格式:LEN(X$)
功能:测量字符串的长度,即字符串的字符个数

INSTR (子字符串检索函数)
格式:INSTR([N,] X$,Y$)
功能:返回字符串 Y$ 在字符串 X$ 中第一次出现的位置


屏幕显示格式中常用的三个函数
TAB (?函数)
格式:TAB(X)
功能:在指定位置X上显示或打印所需要的信息

SPC (?函数)
格式:SPC(X)
功能:空X个空格

SPACE$ (?函数)
格式:SPACE$(N)
功能:返回一个字符串,该字符串由N个空格组成


输入函数
INKEY$ (?函数)
格式:INKEY$
功能:从键盘上读一个字符

INPUT$ (?函数)
格式:INPUT$ (N[,[#] 文件号])
功能:返回从键盘或指定文件中读出的N个字符组成的字符串

CSRLIN (光标行座标函数)
格式:CSRLIN
功能:返回当前光标行座标位置

POS (光标列座标函数)
格式:POS(N)
功能:返回当前光标列座标位置

UBOUND;LBOUND (测试下标上、下界函数)
格式:UBOUND(数组[,维])
LBOUND(数组[,维])
功能:返回一个已定义数组中指定维的上、下界

FRE (测试空字节函数)
格式:FRE(X)
功能:返回空闲内存节数

GOTO
格式:GOTO 行标识符
功能:改变程序的执行顺序,无条件地转去执行GOTO后面所指的行标识符去执行

ON/GOOT
格式:ON 表达式 GOTO 行标识符表
功能:先计算ON后面的表达式的值,再根据计算结果,将程序转移到GOTO所指行标识符表中的某个行标识符去执行

关系运算
= (等于)
> (大于)
>=(大于或等于)
< (小于)
<=(小于或等于)
(不等于)

AND(与)
OR (或)
NOT(非)
表: A B | NOT A | NOT B | A AND B | A OR B
1 1 | 0 | 0 | 1 | 1
1 0 | 0 | 1 | 0 | 1
0 1 | 1 | 0 | 0 | 1
0 0 | 1 | 1 | 0 | 0
逻辑运行顺序: NOT—AND—OR
()—算术—关系—逻辑

IF (条件语句)
单行 IF 条件语句
格式:IF 条件 THEN 语句序列1 [ELSE 语句序列2]
功能:首先计算条件的值,如果为真则执行THEN后的语句序列1,否则执行ELSE后面的语句序列2

块结构 IF 条件语句
格式:IF 条件1 THEN
[语句块1]
[ELSEIF 条件2 THEN
[语句块2]
……
[ELSE
[语句块n]]
END IF

CASE (条件语句)
格式: SELECT CASE 测试表达式
CASE 表达式表1
[语句块1]
[CASE 表达式表2
[语句块2]]
……
[CASE ELSE
[语句块N]]
END SELECT
功能:根据表达式的值,从多个语句块中选择符合条件的一个语句块执行

FOR/NEXT(循环语句)
格式:FOR A=E1 TO E2 STEP E3
循环体
NEXT A
说明: FOR 语句为循环说明语句,它说明了循环的次数FOR TO STEP 为语句定义符
A--循环控制变量,可以用任一简单变量表示
E1--循环控制变量的初值
E2--循环控制变量的终值
E3--循环控制变量的增值,也称步长
NEXT 语句为循环终端语句,它与FOR语句必须成对出现 NEXT语句中的循环控制变量必须与FOR语句中的一致
循环体由一条或多条语句构成,是被重复执行的部分

WHILE/WEND (循环语句)
格式: WHILE
循环体
WEND
说明: WHILE是循环的起始语句又称说明语句,它的作用是给出循环条件 WEND是循环的终止语句.
代表一个逻辑条件,它可以是一个关系表达式也可以是一个逻辑表达式,还可以是一个变量或常数


DO/LOOP (循环语句)
格式1: DO[(WHILE 或 UNTIL)条件]
循环体
[EXIT DO]
LOOP

格式2: DO
循环体
[EXIT DO]
LOOP[(WHILE 或 UNTIL)条件]
说明: 如果条件永远成DO-LOOP循环可能陷入"死循环"这时可用EXIT DO 来退出循环
DO循环可以嵌套,其规则与FOR-NEXT循环相同

字符串函数
CHR$ (字符函数)
格式:CHR$ (N)
功能:将ASCII码值N转换成它所表示的字符

MID$ (取中间字符串函数)
格式:MID$ (A$, N [,M])
功能:从字符串A$中,第N个字符起,取出M个字符

STRING$
格式1:STRING$(N, X)
功能: 产生N个ASCII码X所对应的字符.通常用在无法从键盘按输入的字符
格式2:STRING$(N, X$)
功能: 产生N个字符串X$中的第一个字符

OCT$ (十进制转八进制函数)
格式:OCT$ (X)
功能:将十进制数值转换成八进制字符串

STR$ (数值转换成字符串函数)
格式:STR$ (X)
功能:将数值数据转换成字符串数据

LTRIM$ (删除字符串左边空格函数)
格式:LTRIM$ (X$)
功能:删除字符串X$左边的空格

RTRIM$ (删除字符串右边空格函数)
格式:RTRIM$ (X$)
功能:删除字符串数据X$右边的空格

LCASE$ (小写函数)
格式:LCASE$ (A$)
功能:将A$中所有大写字母改成小写

UCASE$ (大写函数)
格式:UCASE$(A$)
功能:将A$中所有小写字母改成大写

TRIM$ (两头截空函数)
格式:TRIM$ (A$)
功能:截去字符串A$的头尾所有空格

LEFT$ (左取函数)
格式:LEFT$(A$,N)
功能:得到字符串A$最左边的N个字符

RIGHT$ (右取函数)
格式:RIGHT$(A$,N)
功能:得到字符串A$最右边的N个字符

HEX$(十进制数转换十六进制字符串)
格式:HEX$(N)
功能:将十进制数N转换成十六进制字符串

MKI$ (把整数转换为字符串)

IKL$ (把长整数转换为字符串)

MKS$ (把单精度数转换为字符串)

DATE$/TIME$ (取得系统的日期/时间)

GOSUB/RETURN (调用子程序语句和返回语句)
GOSUB (调用子程序)
格式: GOSUB
功能:用于转移到子程序的入口语句去执行
RETURN (子程序返回语句)
格式:RETURN []
功能:用于子程序执行完毕从子程序返回,作为子程序的结束语句

DEF FN (用户自定义函数)
格式1: DEF FN [(参数表)]=
格式2: DEF FN [(参数表)]
语句块
FN =
END DEF
功能: 定义一个用户自己的函数

SUB (过程定义)
格式: SUB 过程名[(参数表)][STATIC]
语句序列
END SUB
功能: 定义一个SUB过程

FUNCTION (过程定义)
格式: FUNCTION 过程名[(参数表)][STATIC]
语句序列
过程名=表达式
END FUNCTION
功能: 定义FUNCTION函数过程

DECLARE (过程说明语句)
格式: DECLARE [RUNCTION/SUB] 过程名[(参数表)]
功能: 对被调用的过程进行说明,对传递的自变量进行检查

DIM SHARED / COMMON SHARED (定义全局变量)
格试: DIM SHARED 变量名表 / COMMON SHARED 变量名表
功能: 将变量名表中的变量定义为全局变量

STATIC (定义局部变量)
格式: STATIC 变量表
功能: 在DEF FN 函数、FUNCTION 或 SUB 过程中把变量定义为局部变量

SHARED (共享变量)
格式: SHARED 变量[AS类型][,变量[AS类型]…
功能: 使主程序与某个过程共享变量

DIM (数组定义)
格式: DIM[SHARED] 变量 [(下标)][AS类型][,变量[(下标)][AS类型]]…
功能:说明变量或数组并分配存储空间

REDIM (改变分配给数组的空间)
格式: REDIM[SHARED] 变量 (下标)[AS类型][,变量(下标[AS类型]……
功能: 改变分配给动态数组的空间

OPTION BASE (?)
格式: OPTION BASE n
功能: 指定数组下标的缺省下界

OPEN (打开或建立文件)
格式1: OPEN 文件说明[FOR 方式1] AS [#] 文件号 [LEN=记录长度]
格式2: OPEN 方式2,[#] 文件号,文件说明[,记录长度]
说明:
1.在格式1中,"方式1"指定文件的输入/输出有以下几种方式:
OUTPUT 指定顺序输出方式
INPUT 指定顺序输入方式
APPEND 指定顺序添加方式
RANDOM 指定随机存取方式,也是缺省方式
2.格式2中的"方式2"指的是以下几种字符
O 指定顺序输出方式
I 指定顺序输入方式
R 指定随机读/写方式
A 指定顺序添加方式

CLOSE (结束文件的读/写操作)
格式:CLOSE [[#] 文件号 [, [#] 文件号 ]……]
功能: 结束文件的读/写操作

FREEFILE
格式:FREEFILE
功能:产生一个尚未使用的最小文件号

LOC
格式:LOC(N)
功能: 返回文件号为N的指定文件的当前位置

LOF
格式:LOF(N)
功能: 返回文件长度

PRINT#
格式:PRINT# 文件号,[USING 格式字符串;] 表达式[{,|;}]
功能: 把数据写入顺序文件中

WRITE#
格式:WRITE# 文件号,表达式表
功能: 把数据写入顺序文件中

INPUT#
格式:INPUT# 文件号,变量名
功能:从顺序文件中读出数据,并把读出的数据赋给相应的程序变量

LINE INPUT#
格式: LINE INPUT# 文件号,字符串变量
功能: 从顺序文件中读取一整行的数据,并赋给其后的字符串变量

EOF
格式: EOF(文件号)
功能:检查文件是否已读完

CLS
格式:CLS[0|1|2]
功能:清除部分或全部屏幕信息
说明: CLS 0 清除整个屏幕,系统缺省值
CLS 1 如果利用VIEW语句设置过图形视见区,则清除该区,否则清除整个画面
CLS 2 清除文本视见区,但屏幕的最底行仍保持不变

WIDTH
格式: 1. WIDTH 宽度
2. WIDTH LPRINT 宽度
功能: 语句格式1的功能是改变屏幕显示行的宽度,2的功能是改变打印机输出行的宽度

SCREEN
格式: SCREEN [模式][,颜色][,当前页][,可见页]
功能: 设置屏幕显示方式

PSET
格式:PSET [STEP](X,Y)[,颜色号]
功能:在指定的坐标位置上,以指定的颜色画一个点

PRESET
格式: PRESET [STEP](X,Y)[,颜色号]
功能:在屏幕的指定位置(X,Y)上画一个点

LINE
格式: LINE[[STEP](X1,Y1)]-[STEP](X2,Y2)[,[颜色号],[,B[F]][,类型符]
功能:在屏幕上画线段或矩形框

CIRCLE
格式: CIRCLE[STEP](X,Y)半径[,颜色][,起始角][,终止角][,纵横比]
功能: 以(X,Y)为圆心,用给定的半径画圆 椭圆或圆弧

DRAW
格式: DRAW 字符串
功能: 按语句中的字符串,逐步描绘出图形


COLOR
格式: 1. COLOR [前景色][,背景色][,边框色]
2. COLOR [背景色][,调色板]

PAINT
格式: PAINT [STEP](X,Y)[,颜色号][,边框色]
功能:给一个封闭的图形,涂上指定的颜色和边框色


VIEW
格式: VIEW [[SCREEN](X1,Y1)-(X2,Y2)[,[颜色号][,边框色]]]
功能:定义输出图形的屏幕尺寸

VIEW PRINT
格式: VIEW PRINT [顶行 TO 底行]
功能: 在屏幕上定义一个文本输出区域

WINDOW
格式: WINDOW[[SCREEN](X1,Y1)-(X2,Y2)
功能:定义当前视见区的逻辑尺寸

GET
格式: GET [STEP](X1,Y1)-[STEP](X2,Y2),数组名[(下标)]
功能:把屏幕上指定区域的图形映象存放到"数组"中

PUT
格式: PUT[STEP](X,Y),数组名[(下标)][,显示方式]
功能: 将GET语句所存入数组中的图形映象在屏幕所指定的区域重新显示出来

BEEP
格式: BEEP
功能: 使电脑喇叭发出"嘟"的一声

SOUND
格式: SOUND 频率,音长
功能: 使喇叭发出一定频率延时的声音

PLAY
格式: PLAY 命令字符串
功能: 用给定字符串表示的音乐演奏
楼上的好像没学过qbasic吗,要加油啊!!

5,关于QBASIC

ABSy=ABS(n)得到n的绝对值
ASCy=ASC(S$)得到字符串头一个字符的ASCII码
ATNy=ATN(n)得到反正切值(单位是弧度)
CDBLy=CDBL(n)把n转化为双精度浮点格式
CHR$S$=CHR$(n)得到ASCII码n对应的字符
CINTy=CINT(n)对n进行舍入取整(奇凑偶
CLNGy=CLNG(n)把一个数n转化为长整数
COMMAND$S$=COMMAND$在DOS下启动程序时,获得命令行中的其余信息
COSy=COS(n)得到自变量n的余弦值
CSNGy=CSNG(n)把一个数值转化为单精度数
CSRLINy=CSRLIN返回光标行数位置
CVIV%=CVI(2字节的串)字符串转换为整型数
CVSV!=CVS(4字节的串)字符串转换为单精度数
CVLV&=CVL(4字节的串)字符串转换为长整数
CVDV#=CVD(8字节的串)字符串转换为双精度数
CVSMBFV!=CVSMBF(4字节MS字符串)转换成IEEE格式单精度数
CVDMBFV#=CVDMBF(8字节MS字符串)转换成IEEE格式双精度数
DATE$S$=DATE$把系统日期赋给变量S$
ENVIRON$S$=ENVIRON$(X$)
S$=ENVIRON$(n)得到环境表中的参数
EOFy=EOF(filenum)遇到文件结束则返回真,否则为假
ERDEVy=ERDEV返回设备驱动器错误码
ERDEV$S$=DEDEV$返回设备驱动器错误信息
ERRy=ERR返回错误的错误号
ERLy=ERL返回出错处最近的行号
EXPy=EXP(X)指数函数y=ex
FILEATTRy=FILEATTR(filenum,attr)返回打开文件的信息
FIXy=FIX(n)截掉小数部分进行取整
FREy=FRE({S$|-1|-2})得到可以被程序使用的剩余内存空间的大小
FREEFILEy=FREEFILE返回下一个自由BASIC文件号
HEX$S$=HEX$(n)把十进制数转换成相应十六进制格式字符串
INKEY$S$=INKEY$从键盘上读数据但不显示
INPy=INP(portno)从一个I/O端口读入一个字节
INPUT$S$=INPUT$(m[,[#]n])从键盘或文件中读入指定数量的字符
INSTRy=INSTR([n,]targetstring, patternsttring)字符串查找
INTy=INT(n)得到一个不大于n的最大整数
IOCTL$S$=IOCTL$[#]n从一个设备驱动器程序接收数据
LBOUNDy=LBOUND(array[,n])返回数组array第n维的最小下标
LCASE$S$=LCASE$(X$)把字符串X$的大写字母全变为小写
LEFT$S$=LEFT$(X$,n)得到字符串X$最左边的n个字符
LENy=LEN(S$)得到字符串S$的长度
LOCy=LOC(n)得到文件中现在所处的位置(当前位置)
LOFy=LOF(n)得到磁盘文件的长度或通讯缓冲区剩余空间大小
LOGy=LOG(x)自然对数y=InX
LPOSy=LPOS(printer)得到打印缓冲区中当前的位置
LTRIM$S$=LTRIM$(x$)返回去掉前导空格的字符串复制品
MID$S$=MID$(X$,n[,m])从X$的第n个字符开始取m个字符;省略m,则取完
MKD$S$=MKD$(V#)把双精度数值转化为随机文件中输出字符串
MKI$S$=MKI$(V%)把整数转换为字符串
MKL$S$=MKL$(V&)把长整数转换为字符串
MKS$S$=MKS$(V!)把单精度数转换为字符串
MKSMBF$S$=MKSMBF$(V!)把单精度数转换为MS格式字符串
MKDMBF$S$=MKDMBF$(V#)把双精度数转换为MS格式字符串
OCT$S$=OCT$(n)得到数值n的八进制形式字符串,负数为其补码形式
PEEKy=PEEK(offset)得到指定存储单元的值
PENy=PEN(option)读取光笔状态
PLAYy=PLAY(x)得到后台音乐缓冲区音符个数
PMAPy=PMAP(i,option)把图形屏幕的物理坐标变为实用坐标或反之
POINTcolor=POINT(x,y)
y=POINT(n)得到一个象素的颜色
得到前一个点的坐标
POSy=POS(x)得到光标的列数位置
RIGHT$S$=RIGHT$(x$,n)从字符串X$的右边取n个字符
RNDy=RND(n)得到0到1之间的随机数,n=0则得到前一个RND值
RTRIM$S$=RTRIM$(X$)返回一个去掉X$尾随空格的字符串
SADDy=SADD(S$)返回S$字符串的地址
SCREENy=SCREEN(row,column[,option])得到屏幕上指定字符的ASCII或属
SEEKy=SEEK(filenum)返回当前文件位置
SETMEMy=SETMEM(n)改变远堆集使用的内存大小
SGNy=SGN(n)输出n的符号
SINy=SIN(x)正弦值y=SinX
SPACE$S$=SPACE$(n)输出长度为n的空格字符串
SPCSPC(n)在PRINT语句中跳过n个空格
SQRy=SQR(n)给出n的平方根
STICKy=STICK(n)返回两个操纵杆的坐标
STR$S$=STR$(n)返回一个表示n值的字符串
STRIGy=STRIG(n)返回操纵杆触发状态
STRING$S$=STRING$(n,x$)返回n个x$第一个字符组成的字符串
TABTAB(column)将输出位置移到column列
TANy=TAN(x)正切值y=tgX
TIME$S$=TIME$获得当前时间
TIMERy=TIMER输出自午夜开始后流逝的秒数
UBOUNDy=UBOUND(array[,n])输出数组array第n维最大下标
UCASE$S$=UCASE$(x$)把字符串x$中所有小写字母变成大写
VALy=VAL(S$)输出字符串S$的相应数值
VARPTRy=VARPTR(variable)返回变量的偏移地址
VARSEGy=VARSEG(variable)返回变量的段地址
VARPTR$S$=VARPTR$(variable)返回变量地址的字符串表示
语句名 语句格式 功能
BEEP BEEP 使喇叭发声
BLOAD BLOAD filespc[,address] 把用BSAVE语句存贮的文件装入内存
BSAVE BSAVE filespc,address,length 把某一内存区域中的内容存入磁盘
CALL CALL 过程名[(形式参数表)] 调用一个过程
CALLS CALLS 过程名[形式参数表] 把控制传给非BASIC语言写的过程
CALL ABSOLUTE CALL ABSOLUTE address [(参数表)] 传送控制给一个机器语言过程
CALL INT86OLD CALL INT86OLD(int_no, in_array(), out_array())
CALL INT86XOLD(int_no,in_array(), out_array()) 实现DOS功能调用
CALL INTERRUPT CALL INTERRUPT(int_no, inregs, outregs)
CALL INTERRUPTX(int_no, inregs, outregs) 结构化的DOS功能调用
CHAIN CHAIN filespec 将控制由当前程序转到别的程序
CHDIR CHDIR path 改变现行的目录(相当于DOS的CD)
CIRCLE CIRCLE(x,y),r,[,c[,start,end,[,aspect]]] 画圆或圆的一部分
CLEAR CLEAR 重新初始化全部变量,关闭文件和设置堆栈的大小
CLOSE CLOSE [[#]n[,[#]n]...] 关闭文件。n是文件号;无选择时关闭所有文件
CLS CLS 清屏幕
COLOR COLOR [背景色][,[调色板] 设置图形颜色(随图形方式不同而不同
COM COM(n){ON|OFF|STOP} 允许,不允许或禁止指定口上的通讯事件捕捉
COMMON COMMON 变量表 说明要传递给被链接程序的变量
CONST CONST 常值名=常值表达式 说明用于代替数值或字符串的符号常数
DATA DATA 常量[,常量]... 为READ语句准备数据
DATE$ DATE$=S$ 根据S$中的内容设置系统日期
DECLARE DECLARE {FUNCTION|SUB}过程名[(参数表)] 说明引用过程和检查参数类型
DEF FN DEF FN
DEF FN...END DEF 定义单行或多行函数
DEF SEG DEF SEG[=n] 为需段地址语句定义数据段
DEF type DEF type 字符范围 定义变量的缺省类型
DIM DIM 变量 [AS类型] 说明变量并分配存贮空间
DO...LOOP DO...LOOP 根据条件决定是否进行循环
DRAW DRAW S$ 在显示器上画图
END END {DEF | FUNCTION | IF| SELECT | SUB | TYPE} 结束程序.过程或程序块
ENVIRON ENVIRON 含"="的字符串 修改DOS环境字符串表中的参数
ERASE ERASE array,[array]... 重新初始化静态数组,重新为动态数组分配空间
ERROR ERROR n 模拟产生BASIC错误 n
EXIT EXIT { DEF | DO | FOR | FUNCTION | SUB } 跳出循环或程序块
FIELD FIELD [#]filenum,宽度 AS 字符串变量... 在随机存贮文件缓冲器里为变量分配空间
FILES FILES [filespec] 显示指定磁盘上文件(相当于DOS的DIR)
FOR...NEXT FOR...NEXT 允许一批命令在循环中执行给定的次数
FUNCTION FUNCTION...END FUNCTION 说明过程函数的名字,参数和代码
GET GET [#]filenum[,recnum[,variable]]
GET (x1,y1)-(x2,y2),array 把一磁盘文件读入随机存取缓冲器变量存储屏幕上的图像
GOSUB
RETURN GOSUB...RETURN 将控制转移到子程序和从子程序返回
GOTO GOTO {行号|行标号} 无条件转移到指定语句
IF...THEN... ELSE... 根据逻辑表达式的值进行条件执行
INPUT INPUT[;][提示字符串{;|,}]变量表 在程序运行期间从键盘输入数据
INPUT# INPUT#filenum,变量表 从顺序存取装置或文件中读取数据
IOCTL IOCTL[#]filenum,字符串 传送控制数据字符串到设备驱动器
KEY KEY n,字符串
KEY {ON|OFF|LIST} 把软键字符串值赋给功能键显示,清除或全显功能键
KEY(n) KEY(n){ON|OFF|STOP} 开启.关闭或停止捕捉指定键
KILL KILL filespec 删去磁盘上的指定文件
LET [LET]变量=表达示 赋值
LINE LINE(x1,y1)-(x2,y2),color, BF, style 画线或方框
LINE INPUT LINE INPUT[;][提示字符串 {;|,}]字符串变量 输入一整行字符
LINE INPUT# LINE INPUT #filenum,S$ 从顺序磁盘文件读一整行字符串到S$LOCATE LOCATE row,col,cursor,start,stop 将光标移到指定位置或改变光标属性
LOCK ...
UNLOCK 用另外的过程控制对打开文件的全部或部分的存取
LPRINT 向打印机发送数据
LPRINT USING 向打印机按格式发送数据
LSET LSET 字段变量=S$ 以左对齐方式把字符串数据放入随机文件缓冲区中
MID$ MID$(S$,n[,m])=r$ 用r$把S$中的第n个符开始替换m个字符,原长度不变
MKDIR MKDIR path 用字符串path建立一个子目录
NAME NAME 旧文件名 AS 新文件名 为文件改名
ON ERROR ON ERROR GOTO {行号|行标号} 设置错误陷阱
ON even ON even GOSUB {行号|行标号} 设置事件陷阱
ON...GOSUB ON n GOSUB {行号|标号表} 转到第N个标号所示子程序
ON...GOTO ON n GOTO {行号|标号表} 转到第n个标号所示语句
OPEN OPEN filespec [FOR mode]AS [#]n [len=recordsize] 打开磁盘文件
OPEN COM OPEN "COMn:[baud][,parity][,data][,stop][,option]" AS [#]n [LEN=num] 打开一通讯文件
OPTION BASE OPTION BASE n 设置数组下标缺省最小值
OUT OUT portno,n 把一个字节值n送到I/O端口
PAINT PAINT (x,y)[,color][,boundary] 在图形屏幕上用颜色或图案填充封闭区域
PALETTE PALETTE attribute,color 改变调色板中的颜色
PALETTE USING PALETTE USING array 改变调色板中所有颜色
PCOPY PCOPY源显示而,目的显示页 以全屏幕方式将一页拷贝到另一页上
PEN {ON | OFF | STOP} 允许.禁止和暂停光笔事件捕捉
PLAY PLAY 字符串 演奏字符串指定的音乐
PLAY {ON | OFF | STOP} 允许.禁止和暂停对演奏事件的捕捉
POKE POKE address,byte 将一字节写入指定内存单元
PRESET PRESET (x,y)[,color] 在屏幕上画一点(缺省为背景色)
PRINT 显示语句
PRINT # 输出字符串到文件
PRINT # USING 格式输出到文件
PRING USING 格式显示
PSET PSET (x,y)[,color] 在屏幕上画一点(缺省为前景色)
PUT PUT [#]filenum[,[recnum] [,varable]]
PUT (x,y) array,action 将变量或随机存贮缓冲器写入文件
将由GET得到的图像放置在屏幕上
RANDOMIZE RANDOMIZE [n] 预置(重新播种)随机数发生器
READ READ 变量表 从DATA语句读数据并赋给变量
REDIM REDIM 变量 AS 类型... 改变已为动态数组分配的空间
REM REM remark 在程序里插入说明或注释
RESET RESET 关闭全部磁盘文件
RESTORE RESTORE {行号|行标号} 允许从指定的行重读DATA语句
RESUME RESUME {行号|行标号|NEXT} 错误捕捉程序调用后继续执行程序
RETURN RETURN {行号|行标号} 控制从子程序里返回
RMDIR RMDIR path 消去目录path(相当于DOS的RD)
RSET RSET S$=X$ 把X$右对齐放在随机存贮缓冲器的字符器S$中
RUN RUN [{行号|文件名}] 重新执行内存中程序或由文件名指定的程序
SCREEN SCREEN [mode][,[colorswitch]][,[apage][,[vpage]] 设置显示屏幕
SEEK SEEK [#]filenum,position 在文件里为下一个读写操作设定位置
SELECT CASE 根据一个表达式决定执行n个语句块之一
SHARED SHARED 变量 AS 类型... 说明共用变量
SHELL SHELL 命令字符串 暂停BASIC程序,运行DOS的命令
SOUND SOUND 频率,时间长度 从喇叭发声
STATIC STATIC 变量表 说明为静态变量
STOP STOP 终止程序执行
STRIG STRIG {ON|OFF} 开启或关闭操纵杆的触发检查
STRIG ON,OFF和STOP STRIG(n) {ON|OFF|STOP} 允许.关闭或暂停捕捉操纵杆动作
SUB SUB...END SUB 标明子程序的开始和结尾
SWAP SWAP 变量1,变量2 交换两个变量的值
SYSTEM SYSTEM 关闭所有打开文件并把控制返回操作系统
TIME$ TIME$=S$ 按字符串S$来设置时间
TIMER {ON| OFF|STOP} 允许.禁止或轶计时事件捕捉
TRON/TROFF TRON/TROFF 跟踪程序语句的执行
TYPE TYPE...END TYPE 定义数据类型
UNLOCK 释放对文件一部分的锁定
VIEW VIEW [SCREEN](x1,y1)-(x2,y2),color,border 为图形输出定义屏幕边界
VIEW PRINT VIEW PRING top TO bottom 设置屏幕上文本窗口边界
WAIT WAIT portno,and_value,xor_valud 监视端口状态并暂停程序的执行
WHILE...WEND 在条件为真时, 执行循环体内语句
WIDTH WIDTH [设备][列数] 设置输出宽度
WINDOW WINDOW [SCREEN](x1,y1)-(X2,y2) 定义当前窗口的广义坐标
WRITE WRITE 表达式表 在屏幕上输出数据
WRITE # WRITE #filenum,expressiolist 将数据写入顺序文件
$DYNAMIC REM $DYNAMIC 默认用动态数组, 特点:可以利用redim重新定义数组大小
$STATIC REM $STATIC 默认用静态数
当然,如果你是初学者,很多语法都不需要会,初学者常用的
FOR X=Y TO Z
NEXT X
计数循环)
IF THEN ELSE
选择语句)
等等。

6,QBASIC语言是什么!

QBASIC是BASIC(Beginner's All-purpose Symbolic Instruction Code,初学者通用指令代码)语言的一个变种,由美国微软公司开发,1991年随MS-DOS 5.0推出。
不能被编译成独立的可执行文件,源代码在集成开发环境(IDE)中先被编译成中间代码,然后中间代码在IDE中被解释执行。
QBASIC被设计用来代替GW-BASIC,并被集成在MS-DOS 5.0及其更高版本(包括Windows 95)中。QBASIC基于微软稍早推出的QuickBASIC 4.5,但去掉了后者的编译和连接部分。
微软在较新版本的Windows中不再集成QBASIC。不过Windows 98的用户可以在光盘的\TOOLS\OLDMSDOS目录中找到QBASIC,在Windows 95的光盘中,QBASIC存放在\OTHER\OLDMSDOS目录中。
目前QBASIC已经很少被使用了,取而代之的是可视化basic语言VB。

7,QBASIC基础题

DO
INPUT"Score=",X //输入X值
IF X100 THEN //判断
PRINT "MISTAKE" 如果不在0-100内,显示 MISTAKE
END IF 结束判断
LOOP UNTIL X>=60 AND X<=100 THEN //循环判断X是否在0-100内
PRINT"GOOD" 输出GOOD
ELSE
PRINT"FAIL" 否则输出FALL
END IF 结束判断
END

输入一个数,判断是否在0-100之间,如果不是输出MISTAKE,
循环判断
如果是,在60-100输出GOOD ,
否则输出FALL

8,Visual Basic与Basic有什么不同吗?

我接楼上的继续回答你的追问:
//////////////////////////////////////////////////////////////////////////////////////////////////////
Visual Basic与Basic的编程机制不同吗?
VB是典型的快速开发平台(缩写是RPD还是RAD什么的忘记了),以事件驱动为编程机制.具备一些面向对象的特性,但是没有采用面向对象程序设计的很多特性,比如继承,多态,构造,析构,重载.....

Basic是结构化编程,解析一行执行一行.
//////////////////////////////////////////////////////////////////////////////////////////////////////
还有Visual Basic是过程设计语言吗?
Basic,Pascal,C是面向过程的语言,Visual Basic不是的,因为怎么说VB都还是有面向对象的特性的嘛.所以我个人认为不是.
/////////////////////////////////////////////////////////////////////////////////////////////////////
买本程序设计的书,这些内容应该都有啊,C++/Java多看看,了解得更多.

9,VB和BASIC语言有什么区别

Basic语言不等于VB,VB6使用的语言基础是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上。在20世纪80年代中期,美国国家标准化协会(ANSl)根据结构化程序设计的思想,提出了一个新的BASIC标准草案。在此前后,出现了一些结构化的BASIC语言,主要有True BASIC、Quick BASIC、Turbo BASIC等。这些都是运行在Dos系统下的。VB即Visual Basic是一种由微软公司开发的结构化的、模块化的、面向对象的、包含协助开发环境的事件驱动为机制的可视化程序设计语言。从任何标准来说,VB都是世界上使用人数最多的语言——不管是盛赞VB的开发者还是抱怨VB的开发者的数量。它源自于BASIC编程语言。VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建ActiveX控件。程序员可以轻松的使用VB提供的组件快速建立一个Windows系统上的应用程序。

上一篇:摩羯座的由来

下一篇:楚门的世界台词