编程基础
概述
字符串数据类型通常是字符序列,可以是字面常量,也可以是某种类型的变量。后者可能允许其元素发生变化并改变长度,或者在创建后保持固定。字符串通常被视为一种数据类型,通常实现为字节(或字)数组数据结构,用于存储一系列元素,通常是字符,并使用某种字符编码。
讨论
根据编程语言和具体的数据类型,声明为字符串的变量可能会导致在内存中为预定的最大长度静态分配存储,或者使用动态分配来允许它保存一个可变数量的元素。当字符串在源代码中以字面形式出现时,它被称为字符串字面量或匿名字符串。
字符数据类型表示单个字符。字符可以包括各种符号,如字母(大写和小写)、数字(0到9)、标点符号等。所有计算机都将字符数据存储在一个字节字段中,并作为整数值存储。由于一个字节由8个位(bit)组成,因此该字节字段使用0到255的正值,具有28或256种可能性。
C++、C#和Java使用单引号和双引号分别区分单个字符和字符串。而JavaScript、Python和Swift则不区分字符和字符串,使用单引号或双引号来定义字符串字面量。
语言数据类型示例
语言 | 保留字 | 示例 |
---|---|---|
C++ | char | 'A' |
C++ | string | "Hello world!" |
C# | char | 'A' |
C# | String | "Hello world!" |
Java | char | 'A' |
Java | String | "Hello world!" |
JavaScript | String | 'Hello world!', "Hello world!" |
Python | str() | 'Hello world!', "Hello world!" |
Swift | Character | "A" |
Swift | String | "Hello world!" |
大多数计算设备使用ASCII(美国标准信息交换码)字符集,定义了0到127的值。对于128到255的值,它们通常使用扩展ASCII字符集。当我们在键盘上按下大写字母A时,键盘会发送一个字节,字节的比特模式等于整数65。当该字节从内存发送到显示器时,显示器会将整数值65转换为大写字母A的符号并显示出来。
目前,我们只讨论字符串和字符作为常量的使用。大多数现代编译器(集成开发环境中的一部分)会对源代码进行着色,帮助程序员更容易地识别不同的特征。初学者程序员将使用字符串常量将消息发送到标准输出。
关键术语
- ASCII:美国标准信息交换码(American Standard Code for Information Interchange)。
- 字符(Character):表示单个文本字符的数据类型,如字母、数字、标点符号等。
- 双引号(Double quote marks):在大多数编程语言中,用于创建字符串类型的数据。
- 单引号(Single quote marks):用于在区分字符串和字符数据类型的语言中创建字符类型数据。
- 字符串(String):作为一块数据的字符系列或数组。
参考文献
- cnx.org: 《编程基础 – 使用C++的模块化结构化方法》
- Wikipedia: 《字符串(计算机科学)》
- Wikipedia: 《字符串(计算机科学)》