词条 | quick basic |
释义 | 概述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个字符 增加了长整型、定长字符型变量 可定义数值常量、字符串常量 子程序和函数作为单独的模块 不需要行号 注:Quick BASIC简称QB,是一种编译型的语言;qbasic是一种解释型的语言,和Quick BASIC拥有一样的语法。同时,为了省时间,QBASIC中的PRINT 语句可以直接用?来代替。 常见语法1.条件语句行if语句: IF 条件 THEN 语句组 ELSE 语句组2 块if语句 IF 条件 THEN 语句组 ELSE 语句组2 END IF IF 语句还可如此运用 IF 条件 THEN 语句组 ELSEIF 条件 THEN 语句组2 END IF 多分支语句SELECT用法: SELECT CASE 变量或字符串 CASE 情况1 语句组 CASE 情况2 语句组2 END SELECT 2.循环结构语句1.计数循环 for 控制变量=初值 to 终值 <step 步长> 'step语句可有可无,若没有step语句,则步长为+1 语句体 next 控制变量 2.当型循环 其格式有两种: (1) WHILE 条件 循环体 WEND (2) DO WHILE 条件 循环体 LOOP 3.直到型循环 DO 循环体 LOOP UNTIL 条件 3.基本语句CLS:即Clean the screen,清屏幕 输入语句:input“显示的内容”,变量名表 或者“,”改为“;”,改完之后输入时会多出一个“?” 输出语句:print “显示的内容”,变量名表1,“显示的内容”,变量名表2…… 把,改为;时,两个内容间空1格,否则空14格左右,最后不加分号为换行。 赋值语句:<let> 被赋值变量=表达式 'let 可有可无 一维数组的定义:dim 变量名(下标) 二维数组的定义:dim 变量名(下标1,下标2) 代码示例(赋值,求和运算,并显示结果) let A=10 let B=20 let C=A+B Print C 4.变量变量长度小于等于40,不允许出现关键词,如Let 数:如15%、-32768、215654#、2.0158e+15、8.545646d+20、-18.75等,变量名为例如a的变量名 字符串:如“15%”、“abc”等,变量名为例如a$的变量名 补充:在QB中还可以几何画图,具体用法如下 SCREEN 12'639*479 16色图形模式 CIRCLE(100,150),10,4'在x坐标100与y坐标150处画一个半径为10的颜色为4(红色)的圆。 SYSTEM 5.简单的双重循环在冒泡排序程序的运用:CLS DIM n AS INTEGER INPUT n'几个数排序(0<n<32768) DIM a(n) FOR i = 1 TO n INPUT a(i) NEXT i FOR i = 1 TO n - 1 FOR j = i + 1 TO n IF a(i) > a(j) THEN SWAP a(i), a(j) NEXT j NEXT i FOR i = 1 TO n PRINT a(i) NEXT i END 6.初学者的练习题1、输入20个数,求出它们的最大值、最小值和平均值。 2、在1——500中,找出能同时满足用3除余2,用5除余3,用7除余2的所有整数; 3、如果一个数从左边读和右边读都是同一个数,就称为回文数,例如686就是一个回文数?喑糖?000以内所有的回文数。 4、已知数列1、5、12、22、35、...?喑糖蟾檬?械那?0项。 5、输入一个大于1的整数,打印出它的素数分解式。如输入75,则打印:"75=3*5*5"。 6、输入10个正整数,计算它们的和,平方和; 7、输入20个整数,统计其中正、负和零的个数; 8、输出1——999中能被3整除,且至少有一位数字是5的数; 9、有一个六位数,其个位数字7,现将个位数字移至首位(十万位),而其余各位数字顺序不变,得到一个新的六位数,假如新数为旧数的4倍,求原来的六位数。 10、有这样的一个六位数字labcde,将其乘以3后变成abcdel,编程求这个数。 11、试找出6个小于160而成等差数列的素数。 1-1/3+1/5-1/7+……直到某一项的绝对值小于10的-6次方 附加: 我们用一个正整数列来表示一段地方的高度,当一段地方的高度为一个逐一上升的序列时, 我们称它为一个阶梯,例如 4、5、6、7、8 是一个长度为 5 的阶梯。现在给定一个正整数列, 请找出它第一个最长的阶梯,并将其输出。如果一个阶梯也没有,输出“No”。 运行结果示例: 请输入数列的长度:8 请输入数列:2 3 2 3 4 4 5 6 结果为 2 3 4 快捷键Ctrl+C+Break:中断正在运行的程序; F5:继续运行被中断的程序; Shift+F5:从第一条语句开始重新运行程序; F4:当程序中断运行时,查看运行结果屏幕,再按一次F4则切换回代码屏幕; F1:获得帮助。 F8:单步运行 F9:断点(同QB stop 语句,按F5继续运行) 范例【1】菜场上一公斤香菇是7.5元,编一个程序,从键盘上输入重量,计算机自动算出其总价 INPUT X zj=7.5*X PRINT zj END 【2】高精度乘法程序 cls input a$,b$ la=len(a$) lb=len(b$) lc=la+lb dim a(la),b(lb),c(lc) for i=1 to la a(i)=val(mid$(a$,n-i,1)) next i for i=1 to lb b(i)=val(mid$(b$,lb+1-i,1)) next i for i=1 to la for j=1 to lb x=a(i)*b(j):w=i+j-1 c(w)=c(w)+x mod 10 c(w+1)=c(w+1)+c(w)\\10+x\\10 c(w)=c(w) mod 10 next j,i while c(lc)=0 lc=lc-1 wend for i=lc to 1 step-1 print using"#";c(i); next i end |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。