📅  最后修改于: 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处理字符数据类型的方式与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编写的等效程序-
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编程中使用转义序列的方式相同。