其实说到字符串,这个概念没有具体的说法,但是我们根据平时的归纳总结,也能一段,便于大家理解,字符串就是把字符连在一直,串成一串又一串;字符串内可以包含数字、字母、特殊符号等所有内容;在Python中只要对一些内容加上对双引号或一对单引号,就默认为是字符串;(三对单引号或三对双引号可以写多行字符串)。

字符串的关键是str,是string的缩写。

一、什么是字符串?

解释:对于"Holl world  "(双引号)印出来的这一串字符叫做字符串。而  'A' (单引号)仅仅是字符,甚至于("")双引号里面没有什么字符就叫做空字符串。比如:空字符串这样写

int main()
{
  "";  这个就叫做空字符串
  return 0;
}

对于字符串这一板块还有一个重要的概念需要讲;就是字符串里有个叫做结束标识符

这个结束标识符就是:\0

且这个结束标识符不算作字符内容。

字符串或串(String)是由数字、字母、下划线组成的一串字符。它是编程语言中表示文本的数据类型。在程序设计中,字符串为符号或数值的一个连续序列。字符串操作就是以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。


二、定义

(1)字符集

一个字符集字符集是一个建立了全序关系的集合,也就是说,字符集中的任意两个不同的元素字符集字符集都可以比较大小,要么4.png,要么5.png。字符集1.png中的元素称为字符。


(2)字符串

一个字符串 S 是将 个字符顺次排列形成的序列, n 称为 S 的长度,表示为 ||。 S 的第字符串个字符表示为 S[字符串]。(在有的地方,也会用S[ 字符串 - 1 ]表示第字符串个字符。)


(3)子串

字符串 S 的子串17.png表示 S 串中从子串子串这一段,也就是顺次排列子串形成的字符串。


有时也会用子串来表示空串。


(4)子序列

字符串 S 的子序列是从 S 中将若干元素提取出来并不改变相对位置形成的序列,即 子序列子序列


(5)后缀

1. 后缀是指从某个位置后缀开始到整个串末尾结束的一个特殊子串。字符串 S 的从后缀开头的后缀表示为 后缀,也就是后缀

2. 真后缀指除了 S 本身的 S 的后缀。

举例来说,字符串 abcabcd 的所有后缀为 {d, cd, bcd, abcd, cabcd, bcabcd, abcabcd},而它的真后缀为 {d, cd, bcd, abcd, cabcd, bcabcd}。


(6)前缀

1. 前缀是指从串首开始到某个位置前缀结束的一个特殊子串。字符串 S 的以前缀结尾的前缀表示为前缀 ,也就是前缀

2. 真前缀指除了 S 本身的 S 的前缀。

举例来说,字符串 abcabcd 的所有前缀为 {a, ab, abc, abca, abcab, abcabc, abcabcd}, 而它的真前缀为 {a, ab, abc, abca, abcab, abcabc}。


(7)字典序

以第字典序个字符作为第字典序关键字进行大小比较,空字符小于字符集内任何字符(即:10.png)。


(8)回文串

回文串是正着写和倒着写相同的字符串,即满足回文串


三、字符串的存储

(1)使用 char 数组存储,用空字符空字符表示字符串的结尾(C 风格字符串)。

(2)使用 C++ 标准库提供的 string 类

(3)字符串常量可以用字符串字面量(用双引号括起来的字符串)表示。


点赞(0)

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

Dotcpp在线编译      (登录可减少运行等待时间)