如果在计算机编程中使用数字很容易,那么使用字符会更容易.字符是简单的字母表,如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 前面有一个反斜杠(\),它有特殊意义,这是一个新行但是请记住,反斜杠(\)只有几个字符才有特殊含义.以下陈述不会在C编程中传达任何含义,它将被假定为无效的陈述 :
char ch ='\ n ";
下表列出了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处理字符数据类型的方式与我们在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编程中使用它们的方式.