📜  计算机编程-字符

📅  最后修改于: 2021-01-18 06:25:23             🧑  作者: Mango


如果在计算机编程中使用数字很容易,那么使用字符甚至会更容易。字符是简单的字母,例如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 

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编程语言中可用的转义序列-

Escape Sequence Description
\t Inserts a tab in the text at this point.
\b Inserts a backspace in the text at this point.
\n Inserts a newline in the text at this point.
\r Inserts a carriage return in the text at this point.
\f Inserts a form feed in the text at this point.
\’ Inserts a single quote character in the text at this point.
\” Inserts a double quote character in the text at this point.
\\ Inserts a backslash character in the text at this point.

以下示例显示了编译器如何解释print语句中的转义序列-

#include 

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编程中使用转义序列的方式相同。