前几章的数据是数值量,本章着重介绍了字符量的概念和它的处理方法,这两种数据有很多相似之处,表10-1列出它们之间的对比情况。
表10-1 数值与字符型量的比较
|
项 目 |
数 值 量 |
字 符 量 |
|
常数 |
数值常数:12,-12.3 |
字符型常数:"ABCD","1234" |
|
变量 |
数值变量:A,NA,B(6) |
字符变量:A$,NAME$,B$(6) |
|
数值 |
两种数据的数组概念相同,使用时要用DIM语句说明。如: DIM A(30),B(40,60),A$(50),NAME$(20),AD$(100) | |
|
函数 |
算术、随机、取整、符号、 自定义等函数 |
取子串、数字与字符串之间的转换、置日期时间、大小写字母转换、删除首尾空格等函数 |
|
输入 |
可用LET,INPUT,READ/DATAO为变量赋值 变量的初值为0 |
除这三种之外,还可用LINE INPUT 为变量赋值 变量初值为“空字符串” |
|
输出 |
使用PRINT语句输出。如:PRINT 1,2,A,B4 |
使用PRINT的字符串原样照印功能输出。 如:PRINT “ABCD”;NAME$;“123” |
本章语句和函数摘要见表10-2。
表10-2 字符串处理用的语句和函数
|
功 能 |
语句或函数 |
作 用 |
|
取子字符串 |
LEFT$ RIGHT$ MID$函数 LIRIM$ RTRIM$ |
从左边第一个字符开始取N个字符 从右边第一个字符开始取N个字符 从中间某位置开始取N个字符 删去左边空格后,得到的字符串 删去右边空格后,得到的字符串 |
|
生成字符串 |
STRING$ SPACE$ |
生成N个字符所组成的串 生成N个空格所组成的串 |
|
检索 |
INSTR |
在某个中中查找另一个串 |
|
更改字符串 |
MID$语句 LSET RSET |
用一个串置换另一串的某部分 将字符串赋给固定长字段的左边 将字符串赋给固定长字段的右边 |
|
数、串的相互转换 |
RTS$ VAL |
把数值转换成字符串 把字符串转换与数值 |
|
ASCII、字符互换 |
ASC CHR$ |
把字符转换成ASCII值 将ASCII值转换成字符 |
|
测串的长度 |
LEN |
测出串中的字符个数 |
|
设 置 时间、日期 |
DATE$ TIME$ |
设置与读取系统的日期 设置与读取系统的时间 |
|
大小写字母转换 |
LCASE$ UCASE$ |
将大写字母转换成小写 将小写字母转换成大写 |
|
键盘输入字符 |
INKEY$ |
从键盘读入一个字符,不回车,不显示 |
本章的内容在计算机应用中相当广泛,将别是字符处理函数可对字符串进行多方面的处理,这对非数值计算和领域是很有用的。在实际应用中,根据问题的要求综合使用这些函数,会进一步体会到它们的方便之处。
通过本章的两个应用例题,复习了如下几个字符串函数:如MID$、STRING$、VAL、INKEY$、CHR$、ASC、UCASE$等函数,同时还复习了前几章的内容。读者可以从中学会如何使用菜单技术和模块化程序设计技术。在此基础上,读者再结合自己的专业作些变化和扩充,就可以开发出很实用的软件来。
1.下面程序读取5个学生的数据,分别为学号、姓名、语言、英语、数学,并计算每个学生的平均成绩。
2.将一个包含n位学生数据的记录数组,按平均分数从大到小排序,然后显示排序结果。
3.假设某单位有10名职工,试编制程序,将他们的工作编号、姓名、性别、工资输入到一个文件名为“zgqk.dat”的文件。
4.求学生记录最高分,并输出与最高分相差在10分以内的学生记录。
5.已知磁盘上存放着某单位全年每次报销的经费(假定为整数),试编写一个程序,从磁盘上读入每次报销的经费,计算其总和,并将结果存入另一新建文件中。
6.假定磁盘上有一个学生成绩文件,存放着100个学生的情况,包括学号、姓名、性别和5门课程的成绩,试编写一个程序,建立以下2个文件:
(1)女生情况的文件;
(2)按5门课程平均成绩的高低排列的学生情况的文件(须增加平均成绩一栏)。
7.用随机文件建立一个人事档案管理文件。文件包括编号、姓名、性别、年龄、工作单位、职称等字段。输入若干男女职工档案,并使其完成下述功能:
(1)计算男女职工各多少人。
(2)列出全部师档案。
(3)根据编号查找某人档案。