计算机编程 - 字符



如果在计算机编程中使用数字很容易,那么使用字符就更容易了。字符是简单的字母,如 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 编程中使用相同的方式支持转义序列。

广告