[例5-10] 源程序:
REM EXAMPLE 10
PRINT "
A=-23∶B=5
PRINT TAB(3);"A+B=";TAB(8);A;TAB(12);"+";
TAB(14);B;TAB(17);"=";TAB(20);A+B
END
运行结果:
1 2 3 4 5 6 7 8
A+B= -23 +5 = -18
TAB函数的使用规则:
(1)输出项跟在TAB函数后面,用分号“;”与之相连,输出项按TAB函数字位的列号输出。
(2)TAB函数定位的列号超过行宽时,则按行〈指定列号〉MOD〈行宽〉定位。例如行宽为80列,当TAB定位于90列时,则实际定位在10例。
(3)TAB函数后若没有输出项,则可作为后续PRINT语句的定位点。
(4)在一个PRINT语句中,可以包含多个TAB函数。各个函数之间用分号“;”分隔。
该函数也在PRINT语句中使用,它的功能是跳过若干个空格。
函数格式:
SPC(〈算术表达式〉)
表达式的值必须是大于或等于零的整数(如果是小数,则按四舍五入取整),该整数即为跳过的空格数。请看例5-11。
[例5-11] 利用XPC函数打印一个表框。源程序:
REM EXAMPLE 11
PRINT "
PRINT SPC(12);"* * * * * * * * * * * * * * "
PRINT SPC(12);"*";SPC(12);"*"
PRINT SPC(12);"*";SPC(4);"LIST";SPC(4);"*"
PRINT SPC(12);"*";SPC(12);"*"
PRINT SPC(12);"* * * * * * * * * * * * * * "
END
运动结果:
1 2 3 4 5 6 7 8

程序说明:
①在一个PRINT语句中,可以包含多个SPC函数,各个函数之间用分号“;”分隔。
②TAB函数与SPC函数相比,其差别在于TAB函数所控制的是输出项的起始列号,SPC函数控制的是输出项之后跳过空格的个数。对于输出项不等长的内容,为使多个输出项排列整齐,使用TAB函数较方便,因为SPC函数对每个输出项都要计算空格数,较麻烦。
人们在实际工作中对输出数据格式的要求是多种多样的,例如:对输出数据要求安排固定的输出长度;多行排列的数值要求小数点纵向对齐;按科学表示法(指数形式)输出数据;有一定结构关系的数据排列成整齐合理的表格形式。
对于这些要求,前面介绍的几种PRINT输出格式是难以实现的。自选格式输出语句PRINT USING能满足用户的上述需要。
PRINT USING“〈格式字符串表达式〉”;〈输出项1〉[,〈输出项2〉]…[{,丨;}]
其中
〈格式字符串表达式〉――用于定义输出项的输出格式。
按格式字符串表达式定义的输出格式输出字串或数值。
(1)一个PRINT USING语句中只能有一个格式字符串表达式。
(2)表达式由格式代码及其他字符组成,表达式要用双引号括起来。
BASIC的格格式代码共有14种,它们是:
用于输出字串的3种:!、\\、&。
用于输出数值的11种:#、^、+、-、$$、* *、* * $、.、,、%、-。
文字字符可以是:数字0~9;大小写英文字母;某些键盘符等。
(3)格式字符串的格式代码只用来确定输出项的输出格式,本身一般不被显示;文字字符则与输出项一起显示输出。各种格式代码的功能及用法较为繁杂,这里只介绍数值的格式代码“#”和“.”的用法,其余的请参阅附录二。
(4)格式字符串表达式与输出项之间要用分号连接;多个输出项之间必须用逗号连接。此时逗号只起分隔作用,不要理解成按标准格式输出。
(5)语句最后的分号或逗号可任选。两者都与PRINT语句最后的分隔号的用法相同。
(1)输出数字的长度及小数部分的位数完全由格式代码#号确定。
“######”:表示输出6位整数,长度为6列。
“####.#”:表示整数部分4位,小数部分1位,小数点占1列,总长度仍是6列。
“###.##”:表示整数部分3位,小数部分2位,小数点占1列,总长度仍是6列。
(2)数值指定的位数不得超过24,否则将出现lllegal function call的出错信息。
(3)所有数字都是向右对齐,定义多余的整数部分补空格,多余的小数部分补0,若不数部分定义不足,则尾数自动四舍五入。
(4)正数不显示符号,负数显示“-”号。
[例5-12] 源程序:
REM EXAMPLE 12
A=126∶B=21.2∶C=-2.638∶D=0.273
PRINT "
PRINT USING"######";A,B,C,D
PRINT USING"####.#";A,B,C,D
PRINT USING"###.##";A,B,C,D
PRINT USING"###.##";B
PRINT USING"###.##";C
PRINT USING"###.##";D
END
运行结果:
1 2 3 4 5 6 7 8
1 2 6 2 1 - 3 0
1 2 6 . 0 2 1 2 0 -2 . 6 0 . 3
1 2 6 . 0 0 2 1 . 2 0 - 2 . 6 4 0 . 2 7
2 1 . 2 0
-2 . 6 4
0 . 2 7
应用PRINT USING语句,关键在于格式字符串的定义。虽然格式代码较多,使得格式字符串形式复杂、灵活、多变,但通过不断实践,必能逐步掌握它,从而使读者能够设计出自己理想的输出格式。
对于一般源程序,总不了数据输入,即通过各种上方式向有关变量赋值。最简单的方式是用LET语句在程序中直接给变量赋值。这种方法提供数据的能力十分有限,本节着重介绍程序中大量使用的另外两种数据输入语句:键盘输入语句INPUT和读数、置数语句READ/DATA。