Page 73 - 高中 信息技术 选择性必修1 数据与数据结构
P. 73

 3.2 用字符串存储数据







                         当我们出生后登记入户时,会得到一串代码,这串代码会跟随我们一辈子,成为识别
                    我们身份的标识,它就是身份证号码,如图3-4所示。




                                    4   4  0  5  0   3  2  0   0  3  0  9   0  1   0  0  1     X


                                           地址码                  出生日期码               顺序码     校验码


                                                          图3-4 身份证号码


                         以上两个例子中,字符串被切分成小串,每个小串都被赋予了一定的意义。反过来
                    说,在定义字符串的时候,根据解决问题的需要,将不同含义的字符序列进行有序组合。

                    这样,在使用计算机处理问题的时候,我们就可以通过对字符串数据的操作来提高对事物
                    的管理效率。



                         1.字符串的描述
                         字符串是由零个或有限个字符构成的有序序列。一般记作:

                         s="c c c …c " (n≥0)
                                     n-1
                              0 1 2
                         其中:                 广东教育出版社
                         s为串名,用双引号引起来的字符序列称为串值;c (0≤i≤n-1)可以是字母、数字
                                                                              i
                    或其他字符。下标i表示字符c 在串中的位置。
                                                  i
                         双引号是串值的定界符,不是串的一部分。

                         字符串中字符的个数n称为串的长度。长度为0的字符串称为空串,此时串中没有任何
                    字符。

                         注意:空格在字符串中也算一个字符;长度为1的字符串与单个字符的意义及可执行
                    的操作是不同的。

                         例如,字符串“20180105”,长度为8,其中字符“8”的位置是3。
                         为了支持字符串的处理,在高级语言中引入了串的数据类型。并且,字符串变量与其
                    他变量(如整型、实型等)一样,可以进行各种运算,字符串运算的基本函数和过程也可

                    以同时建立。在C++语言中,字符串被定义为结构数据类型,可以直接用string来定义字符
                    串变量:

                         string s;
                         一个字符串中任意个连续的字符组成的子序列称为该串的子串,包含这个子串的字符
                    串就称为主串。一个子串在主串中的位置是用这个子串的第一个字符在主串中的位置来表

                    示的。例如,s1="20180105",s2="01",则称s2是s1的子串,子串s2在s1中的位置是1。







                                                                                                                    65 65







          21X2204.indd   65                                                                                        2019/9/26   13:53:16
   68   69   70   71   72   73   74   75   76   77   78