其实说到字符串,这个概念没有具体的说法,但是我们根据平时的归纳总结,也能一段,便于大家理解,字符串就是把字符连在一直,串成一串又一串;字符串内可以包含数字、字母、特殊符号等所有内容;在Python中只要对一些内容加上对双引号或一对单引号,就默认为是字符串;(三对单引号或三对双引号可以写多行字符串)。
字符串的关键是str,是string的缩写。
一、什么是字符串?
解释:对于"Holl world "(双引号)印出来的这一串字符叫做字符串。而 'A' (单引号)仅仅是字符,甚至于("")双引号里面没有什么字符就叫做空字符串。比如:空字符串这样写
int main() { ""; 这个就叫做空字符串 return 0; }
对于字符串这一板块还有一个重要的概念需要讲;就是字符串里有个叫做结束标识符
这个结束标识符就是:\0
且这个结束标识符不算作字符内容。
字符串或串(String)是由数字、字母、下划线组成的一串字符。它是编程语言中表示文本的数据类型。在程序设计中,字符串为符号或数值的一个连续序列。字符串操作就是以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。
二、定义
(1)字符集
一个字符集是一个建立了全序关系的集合,也就是说,中的任意两个不同的元素和都可以比较大小,要么,要么。字符集中的元素称为字符。
(2)字符串
一个字符串 S 是将 n 个字符顺次排列形成的序列, n 称为 S 的长度,表示为 |S |。 S 的第个字符表示为 S[]。(在有的地方,也会用S[ - 1 ]表示第个字符。)
(3)子串
字符串 S 的子串表示 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)字典序
以第个字符作为第关键字进行大小比较,空字符小于字符集内任何字符(即:)。
(8)回文串
回文串是正着写和倒着写相同的字符串,即满足。
三、字符串的存储
(1)使用 char 数组存储,用空字符表示字符串的结尾(C 风格字符串)。
(2)使用 C++ 标准库提供的 string 类。
(3)字符串常量可以用字符串字面量(用双引号括起来的字符串)表示。
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程