计算机编程 - 字符
如果在计算机编程中使用数字很容易,那么使用字符就更容易了。字符是简单的字母,如 a、b、c、d......、A、B、C、D......,但有一个例外。在计算机编程中,任何单位数(如 0、1、2、...)和特殊字符(如 $、%、+、-...等)也被视为字符,并将它们分配为字符类型变量,您只需将它们放在单引号内即可。例如,以下语句定义了一个字符类型变量ch,我们为其赋值“a” -
char ch = 'a';
这里,ch是一个字符类型的变量,它可以保存实现的字符集的字符,“a”被称为字符文字或字符常量。不仅是 a、b、c、...,而且当任何数字(如 1、2、3...)或任何特殊字符(如 !、@、#、#、$、...)保存在单引号内时,那么它们将被视为字符文字,并且可以分配给字符类型的变量,因此以下是有效的语句 -
char ch = '1';
字符数据类型占用 8 位内存,这意味着您可以在 ASCII 值介于 -127 到 127 之间的字符中存储任何内容,因此它可以容纳 256 个不同值中的任何一个。字符数据类型可以存储键盘上可用的任何字符,包括特殊字符,如 !、@、#、#、$、%、^、&、*、(、)、_、+、{、} 等。
请注意,单引号内只能保留单个字母或单个数字,单引号内不允许包含多个字母或数字。因此,以下语句在 C 编程中无效 -
char ch1 = 'ab'; char ch2 = '10';
下面给出一个简单的例子,它展示了如何在 C 编程语言中定义、分配和打印字符 -
#include <stdio.h> int main() { char ch1; char ch2; char ch3; char ch4; ch1 = 'a'; ch2 = '1'; ch3 = '$'; ch4 = '+'; printf( "ch1: %c\n", ch1); printf( "ch2: %c\n", ch2); printf( "ch3: %c\n", ch3); printf( "ch4: %c\n", ch4); }
在这里,我们使用 %c 来打印字符数据类型。执行上述程序时,会产生以下结果 -
ch1: a ch2: 1 ch3: $ ch4: +
转义序列
许多编程语言都支持称为转义序列的概念。当字符前面有反斜杠 (\) 时,称为转义序列,对编译器具有特殊含义。例如,以下语句中的 \n 是一个有效字符,称为换行符 -
char ch = '\n';
这里,字符n前面有一个反斜杠 (\),它具有特殊含义,即换行,但请记住,反斜杠 (\) 仅对少数字符具有特殊含义。以下语句在 C 编程中不会传达任何含义,并且将被假定为无效语句 -
char ch = '\1';
下表列出了 C 编程语言中可用的转义序列 -
转义序列 | 描述 |
---|---|
\t | 此时在文本中插入制表符。 |
\b | 此时在文本中插入退格键。 |
\n | 此时在文本中插入换行符。 |
\r | 此时在文本中插入回车符。 |
\F | 此时在文本中插入换页符。 |
\' | 此时在文本中插入单引号字符。 |
\" | 此时在文本中插入双引号字符。 |
\\ | 此时在文本中插入反斜杠字符。 |
以下示例显示编译器如何解释 print 语句中的转义序列 -
#include <stdio.h> int main() { char ch1; char ch2; char ch3; char ch4; ch1 = '\t'; ch2 = '\n'; printf( "Test for tabspace %c and a newline %c will start here", ch1, ch2); }
执行上述程序时,会产生以下结果 -
Test for tabspace and a newline will start here
Java 中的字符
以下是用 Java 编写的等效程序。Java 处理字符数据类型的方式与我们在 C 编程中看到的方式非常相似。然而,Java 为字符操作提供了额外的支持。
您可以尝试执行以下程序来查看输出,该输出必须与上面的 C 示例生成的结果相同。
public class DemoJava { public static void main(String []args) { char ch1; char ch2; char ch3; char ch4; ch1 = 'a'; ch2 = '1'; ch3 = '$'; ch4 = '+'; System.out.format( "ch1: %c\n", ch1); System.out.format( "ch2: %c\n", ch2); System.out.format( "ch3: %c\n", ch3); System.out.format( "ch4: %c\n", ch4); } }
执行上述程序时,会产生以下结果 -
ch1: a ch2: 1 ch3: $ ch4: +
Java 还支持转义序列,就像在 C 编程中使用它们一样。
Python 中的字符
Python 不支持任何字符数据类型,但所有字符都被视为字符串,即字符序列。我们将在单独的章节中研究字符串。在 Python 中使用单个字符时不需要进行任何特殊的安排。
以下是用 Python 编写的等效程序 -
ch1 = 'a'; ch2 = '1'; ch3 = '$'; ch4 = '+'; print "ch1: ", ch1 print "ch2: ", ch2 print "ch3: ", ch3 print "ch4: ", ch4
执行上述程序时,会产生以下结果 -
ch1: a ch2: 1 ch3: $ ch4: +
Python 支持转义序列的方式与在 C 编程中使用转义序列的方式相同。