串 - 串及其运算 - 串的基本概念

如题所述

第1个回答  2022-10-06

  串(又称字符串)是一种特殊的线性表 它的每个结点仅由一个字符组成

  在早期的程序设计语言中 串仅在输入或输出中以直接量的形式出现 并不参与运算 随着计算机的发展 串在文字编辑 词法

  扫描 符号处理以及定理证明等许多领域得到越来越广泛的应用 在高级语言中开始引入了串变量的概念 如同整型 实型变量一样

   串变量也可以参加各种运算

  本章将讨论串的有关概念 存储方法和串的基本运算及其实现

  串的基本概念

   串

  串(String)是零个或多个字符组成的有限序列 一般记为

  S= a a ……a n

  其中

  ①S是串名

  ②双引号括起的字符序列是串值;

  将串值括起来的双引号本身不属于串 它的作用是避免串与常数或与标识符混淆

  【例】 是数字字符串 它不同于整常数

  【例】 xl 是长度为 的字符串 而xl通常表示一个标识符

  ③a i ( ≤i≤n)可以是字母 数字或其它字符;

  ④串中所包含的字符个数称为该串的长度

   空串和空白串

  长度为零的串称为 空串 (Empty String) 它不包含任何字符

  仅由一个或多个空格组成的串称为 空白串 (Blank String)

  注意

  空串和空白串的不同

  【例】″ ″和″″分别表示长度为 的空白串和长度为 的空串

   子串和主串

  串中任意个连续字符组成的子序列称为该串的 子串 包含子串的串相应地称为 主串

  通常将子串在主串中首次出现时 该子串首字符对应的主串中的序号定义为子串在主串中的序号(或位置)

  【例】设A和B分别为

  A= This is a string

  B= is

  则B是A的子串 B在A中出现了两次 其中首次出现对应的主串位置是 因此称B在A中的序号(或位置)是

  注意

  ①空串是任意串的子串

  ②任意串是其自身的子串

   串变量和串常量

  通常在程序中使用的串可分为 串变量和串常量

  ( )串变量

  串变量和其它类型的变量一样 其取值是可以改变的

  ( )串常量

  串常量和整常数 实常数一样 在程序中只能被引用但不能改变其值 即只能读不能写

  ①串常量由直接量来表示的

  【例】Error( overflow )中 overflow 是直接量

  ②串常量命名

  有的语言允许对串常量命名 以使程序易读 易写

  【例】C++中 可定义串常量path

lishixinzhi/Article/program/sjjg/201311/23916

相似回答