- 计算机编程教程
- 计算机编程 - 首页
- 计算机编程 - 概述
- 计算机编程 - 基础
- 编程 - 环境
- 编程 - 基本语法
- 编程 - 数据类型
- 计算机编程 - 变量
- 计算机编程 - 关键字
- 计算机编程 - 运算符
- 计算机编程 - 决策
- 计算机编程 - 循环
- 计算机编程 - 数字
- 编程 - 字符
- 计算机编程 - 数组
- 计算机编程 - 字符串
- 计算机编程 - 函数
- 计算机编程 - 文件 I/O
- 计算机编程 - 总结
- 计算机编程资源
- 编程 - 快速指南
- 计算机编程 - 资源
- 编程 - 讨论
计算机编程 - 字符
如果在计算机编程中使用数字很容易,那么使用字符就更容易了。字符是简单的字母,如 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 编程中使用相同的方式支持转义序列。