当前位置:洪恩在线 -> 继续教育 -> 计算机考级 -> 二级QBASIC语言
 

  计算机考试
 


  QBASIC    


  有关字符串的函数

     QBASIC提供了丰富的字符串处理函数,除了有关子字符串的函数外,还有以下一些函数。
    1.测字符串长度的函数
     用LEN函数可以测出一个字符串数据中包含多少个字符,其一般形式为:LEN(<字符串>)
    2.字符串与数值间的转换函数
     字符串数据与数值数据属于不同类型的数据,是不能互相赋值的。但有时人们希望利用字符串中的数值进行某些处理,或者相反,要将数值数据作为字符串数据处理,QBASIC提供以下函数。
     ⑴.STR$函数
     一般格式为:STR$(<数值表达式>)
     此函数的作用是将一个数值表达式的值转换成字符串类型。即将此数值变成用双引号括起来的字符串常量。
     ⑵.VAL函数
     一般格式为:VAL(<字符串>)
     “字符串”可以是字符常量、字符串变量、字符数组元素、字符串表达式等。
     此函数的作用是,将字符串中的数字字符转换成数值。例如:VAL(“11223”)的值为数值11223,VAL(“-11223”)的值为-11223。
     如果字符串既包含数值又包含非数字字符,若数字字符出现在字符串的最左面,则只处理最前面的数字字符。若字符串的最左端不是数字字符或正负号,则得数值0。如:
     VAL(“123ab”) 函数值为123
     VAL(“-123ab456”) 函数值为-123(字母后的数字不转换)
     VAL(“abl23”) 函数值为0
     VAL(“123.456-789”) 函数值为123.456(减号及以后的数字不转换)
     VAL是STR$函数的逆函数。
    3.字符与ASCII码间的转换函数
     一个字符对应一个ASCII代码。QBASIC提供两者间转换的函数。
     ⑴.ASC函数
     格式为:ASC(<字符串>)
     作用是:将字符串中第一个字符转换成其相应的以十进制形式表示的ASCII代码。如ASC(“a”)的值为97,ASC(“ABC”)的值为65(65是“A”的ASCIl码)。
     ⑵.CHR$函数
     格式为:
     CHR$(<数值表达式>)
     其作用是:将数值转换成相应的字符。如 CHR$(97)的值为“a”,CHR$(98-32)的值是“B”。
     CHR$是ASC函数的逆函数。
    4. 在文字处理中,常需要将大写字母转换成小写字母,或者相反。QBASIC提供LCASE$函数和UCASE$函数,可以方便地进行转换。
     ⑴.LCASE$函数
     格式为:LCASE$(<字符串>)
     这个函数的作用是将指定的字符串中所有大写字母改变为小写字母。
     ⑵.UCASE$函数
     格式为:UCASE$(<字符串>)
     这个函数的作用是将指定的字符串中所有小写字母改变为大写字母。
     例如:
     UCASE$(“China”)得到“CHINA”
     LCASE$(“HOW DO YOU DO”)得到“how do you do”。
     说明:一个字符串中可能包含大写字母、小写字母和其它字符,用LCASE$函数,只将大写字母改为小写字母,其它字符不变。同样,UCASE$函数只将小写字母改为大写字母,其它字符不变。
     利用这两个函数,可以避免在查询或对话中由于大小写字母末对上而出现不应有的贻误。
    5.建立由相同字符组成的字符串函数
     ⑴.STRING$函数
     格式为:
     ①STRlNG$(<数值表达式>,<字符>)
     设数值表达式的值为n,<字符>可以是字符常量、字符的ASCII码、字符变量等。作用是:得到一个由n个指定的字符组成的字符串。
     如:STRING$(20,“=”)
     将得到由20个“=”组成的字符串,如果有:
     PRINT STRING$(20,“=”)
    将输出一行20个“=”号。
     PRlNT STRING$(40,42)
    则输出一行40个“*”,因为“*”的ASCII码为42。
     ②STRlNG$(<数值表达式>,<字符串>)
     得到一个由n个字符串中第一个字符所组成的字符串,如: STRING$(40,“ABC”)
     得到由40个“A”组成的字符串。
     这个函数在输出表格时特别有用,如想划60列宽的一条横线,可用 PRINT STRING$(60,“-”)
     ⑵.SPACE$函数
     格式为: SPACE$(<数值表达式>)
     作用是:得到由n个空格组成的字符串(设数值表达式的值为n)。
     SPACE$函数在控制输出格式中往往是有用的。在PRINT语句中灵活使用分号、逗号、TAB函数和SPACE$函数可以输出各种格式的信息或报表。如:PRINT“Beijing”;SPACE$(3);“Shanghai”
     输出为:
     Beijing Shanghai (Beijing与Shanghai之间有3个空格)
    6.日期和时间函数
    用DATE$函数和TIME$函数可以得到当前日期和时间。如:
    PRINT DATE$
    PRINT TIME$
    输出为:
     08-11-1996 (1996年8月11日)
     15:44:41 (15时44分41秒)
     用户在购买一台新的计算机后,要先设置当前日期和时间,由于计算机有电池维持时钟,即使计算机关机,时间和日期也会不间断地“走时”。设置日期和时间,要用DATE$语句和TIME$语句。
     DATE$语句的格式为:DATE$=<日期>
     日期可以用以下形式之一:
     mm-dd-yy 如12-03-96 (96年12月3日)
     mm-dd-yyyy 如12-03-1996
     mm/dd/yy 如l2/03/96
     mm/dd/yyyy 如12/03/1996
     TIME$语句的格式为:TIME$=<时间>
     时间的格式为:hh:mm:ss
     如:TIME$=“16:44:15” (16时44分15秒)
     在用DATE$语句和TIME$语句指定“日期”和“时间”时,如果第一个数字是零,可以省略。
     请注意不要把DATE$语句与DATE$函数,TIME$语句与TIME$函数混淆。语句应包含赋值部分,而函数只作为一个运算量,如:
     TIME$=“6:12:25” (此处为TIME$语句)
     PRINT TIME$ (此处为TIME$函数)
     DATE$=“08-11-96” (此处为DATE$语句)
     PRINT DATE$ (此处为DATE$函数)
    7.INKEY$函数
     INKEY$函数的作用是从键盘读入一个字符。用户输入字符后不需按回车键。如果在执行此函数时用户没有输入任何字符,它并不等待用户输入,而读入一个空字符 (“ ”)。常常在程序中利用这一特性,使程序暂时等待,直到用户按下任何一个键,程序就结束或转入下一步操作。如:
     (A操作)
     WHILE INKEY$=""
     WEND
     (B操作)
     在执行完A操作后,暂不执行B操作,计算机在等待 (不断执行空循环),直到用户按下任一键,此时INKEY$函数的值就是该字符,由于输入的不是空字符,故循环终止。

课堂提问:
问题

 


简单举例
例子
基础测试
测试