回 帖 发 新 帖 刷新版面

主题:数据的输入与输出(教程)

本文部分摘录于 《QUICK BASIC 程序设计》刘炳文 1991,《IMB PC编程指南》1991 (电子工业出版社)。
文中多数内容都是大家所熟悉的,可能有一些内容大家平时也没有注意,在此列出供大家参考。

1.键盘输入语句 INPUT
格式:INPUT[;]["提示"]{;|,}变量[,变量]…
功能:在程序执行期间接收从键盘上输入的数据。
说明:
   INPUT 为关键字,当它后面存在分号时,输入完数据后按回车键不产生换行
   提示信息要放到双引号内
   ;|, 用分号,则在提示信息后接有一个问号,用逗号则不接问号
   变量 可以有一个或多个,各变量间用逗号分开。变量可以是 数值变量 字符串变量 数组元素或记录元素
   输入字符串数据,字符串可以不放到引号内
   输入数据类型必须与变量类型一致,且个数相同,否则显示 Redo from start

2.行输入语句 LINE INPUT
格式:LINE INPUT[;]["提示";]字符串变量
功能:从键盘上输入一行字符(最多为255个),并把它赋给字符串变量
说明:
   INPUT 为关键字,当它后面存在分号时,输入完数据后按回车键不产生换行
   LINE INPUT语句输入字符范围 ASC 32-126,128-255
   输入时 用 ALT+225输入CHR$(225):按住ALT 输入225,再松开ALT

3 读数据语句 READ DATA
格式:READ 变量[,变量]…


     DATA 变量[,变量]…
功能:READ语句把DATA语句中所提供的语句依次赋给指定的变量
说明:
   变量可以是 数值变量 字符串变量 数组元素或记录元素
   DATA语句中只能是 数值常量或字符串常量 不能是表达式,各变量间用逗号分开

4.输出语句 PRINT
格式:PRINT [表达式表][{,|;}]
功能:在屏幕上显示数据
说明:
   能用定点格式显示单精度数(7位)和双精度数(16位),且不失精度,则用定点格式,否则用浮点格式。
例:
1.1E-6输出为0.000011
1.1E-7输出为1.1E-07
1.1D-15输出为.0000000000000011#
1.1D-16输出为1.1D-16

PRINT 中可解释的控制码 有
ASCii 7   鸣叫
      9   标记
      10  换行
      11  光标归始
      12  格式馈给(擦屏,光标归始)
      13  回车
      28  光标右
      29  光标左
      30  光标上
      31  光标下
其他所有的代码都原样显示
例:
CLS
PRINT "We make "; CHR$(34); " in QBASIC CHR$(34)"; CHR$(13); "Is that right?"
显示结果如下:
We make " in QBASIC CHR$(34)
Is that right?

与PRINT 语句有关的函数
(1)TAB(n)
  PRINT TAB(列)
  屏幕最左边的列为1,最右边的列为最大行宽-1
  显示位置为第(n MOD 行宽)列
(2)SPC(n)
  PRINT SPC(空格数)
  n可以是数值常量,数值变量 或是数值表达式
  SPC(n)后隐含有一个分号
  n为0~32767间的整数(非整数自动四舍五入)
(3)SPACE$(n)
  返回一个由n个空格组成的字符串
  n可以是数值常量,数值变量 或是数值表达式
  n为0~30906间的整数(非整数自动四舍五入)
(4)STRING$(n, str)
  返回一个由n个str组成的字符串
  n可以是数值常量,数值变量 或是数值表达式
  n为0~30906间的整数(非整数自动四舍五入)

5.输出语句WRITE
格式:WRITE [表达式表]
功能:在屏幕上显示数据
说明:
  WRITE 语句只能用逗号分隔符
        按紧凑方式输出数据
        强行换行(不能在表达式表后加 ; 或 ,)
        数值   无前后空格
        字符串 自动在其前后加上引号(并显示出引号)
例:
CLS
a = 80: b = 90: c$ = "That's all": d = -1E-13
WRITE a, b, c$, d
PRINT a, b, c$, d

显示为:
80,90,"That's all",-1E-13
80            90           That's all    -1E-13

6.特殊输入操作
(1)INKEY$函数
功能:从键盘上读入一个字符。
       返回一个字节或两个字节的字符串
           空字符串(长为0)表示美有从键盘输入字符
           一个字节的字符串是从键盘上读的实际字符
               如按 a  ,INKEY$返回CHR$(97)
           两个字节的字符串是表示一个专用扩展代码,其中第一个字节为00H
               如按 ↑ ,INKEY$返回CHR$(0)+CHR$(72)
        执行INKEY$时,屏幕不显示字符,可接收绝大部分字符,下列情况除外
           Ctrl+Break        中断程序执行
           Ctrl+Num Lock     暂停执行
           Ctrl+Alt+Del      系统热启动
           Prtsc             屏幕硬拷贝
   常用来对键盘进行搜索,以确定用户有没有打入字符
   例
   PRINT "Press any key to continue..."
   DO
   LOOP WHILE INKEY$ = ""     '或  LOOP UNTIL INKEY$ <> ""
   又如 清空键盘缓冲区
   DO
     key$ = INKEY$
   LOOP UNTIL key$ = ""
(2)INPUT$函数
  格式:INPUT$(n[,[#]文件号])
  功能:返回从键盘或指定文件中读出n个字符的字符串

  PRINT "Press any key to continue..."
  wait$ = INPUT$(1)
(3)设备文件的输入与输出
  OPEN "KYBD:" FOR INPUT AS #1         '以输入方式打开键盘
  OPEN "SCRN:" FOR OUTPUT AS #2        '以输出方式打开屏幕
  CLS
  PRINT "Please input the message"
  INPUT #1, message$                   '输入信息(不回显)
  PRINT #2, message$                   '输出所输入的信息
  wait$ = INPUT$(1)

7.文本光标控制
(1)光标定位LOCATE
格式:LOCATE[行][,[列][,方式][,[开始行][,[停止行]]]
说明:
    行,列 均为数值表达式
    方式 是逻辑值,用来表示光标的可见性。
         为0时,光标不可见
         为1时,光标可见
    开始行(结束行)为数值表达式表明屏幕上光标的开始或(结束)扫描行
         取值范围 一般为0~7
    一个字符的高度为8个扫描行,其底行为第0行,顶行为第7行
    一般开始扫描行 应小于 结束扫描行,此时得到一个矩形光标,如果开始扫描行 大于 结束扫描行,则会得到一个中间断开得矩形光标。

  LOCATE 12,20,1,2,4

  *图形模式下为LOCATE[行][,列]
(2)检测光标位置
  CSRLIN函数返回当前行位置
  POS(n)函数返回当前列位置 ,其中n为虚变量,无意义

  row = CSRLIN: col = POS(0)

8.文本输出框VIEW PRINT
功能:设定文本输出范围
格式:VIEW PRINT [顶行] TO [底行]
说明:顶行和 底行 取值范围为 1~25
(可通过 [url=http://www.programfan.com/club/showbbs.asp?id=49496]WIDTH[/url] 列数,行数 修改;列数取80或40,行数取25,30,43,50,60等)

例:
LOCATE 9, 1: PRINT STRING$(5, "*"); "up line"
LOCATE 21, 1: PRINT STRING$(5, "*"); "down line"
VIEW PRINT 10 TO 20
FOR i = 1 TO 15
  PRINT "line";i
NEXT i

回复列表 (共2个回复)

沙发

您是在哪里找到这本书的???

板凳

学校图书馆啊!

我来回复

您尚未登录,请登录后再回复。点此登录或注册