字符型数据的表示
字符型数据是用单引号括起来的一个字符。例如:
‘a’、’b’、’=’、’+’、’?’ 都是合法字符型数据。
char x = '中'; // error 不能包含中文
char ch1 = 'Z';
char ch2 = '9';
在C语言中,字符型数据有以下特点:
- 字符型数据只能用单引号括起来,不能用双引号或其它括号。
- 字符型数据只能是单个字符,不能是字符串。
- 字符可以是字符集中任意字符。但数字被定义为字符型之后就不能参与数值运算。如’5’和5 是不同的。’5’是字符型数据,不能参与运算。
- 常用ASCII对照表
转义字符
转义字符是一种特殊的字符。转义字符以反斜线”\”开头,后跟一个或几个字符。
转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符。例如,在前面各示例中printf函数的格式串中用到的“\n”就是一个转义字符,其意义是“回车换行”。转义字符主要用来表示那些用一般字符不便于表示的控制代码。
常用的转义字符及其含义
常用的转义字符及其含义
转义字符 | 转义字符的意义 | ASCII代码 |
---|---|---|
\n | 回车换行 | 10 |
\t | 横向跳到下一制表位置 | 9 |
\b | 退格 | 8 |
\r | 回车 | 13 |
\f | 走纸换页 | 12 |
\ | 反斜线符”” | 92 |
\’ | 单引号符 | 39 |
\” | 双引号符 | 34 |
\a | 鸣铃 | 7 |
\ddd | 1~3位八进制数所代表的字符 | |
\xhh | 1~2位十六进制数所代表的字符 |
广义地讲,C语言字符集中的任何一个字符均可用转义字符来表示。表中的\ddd和\xhh正是为此而提出的。ddd和hh分别为八进制和十六进制的ASCII代码。如\101表示字母”A” ,\102表示字母”B”,\134表示反斜线,\XOA表示换行等。
字符变量
字符变量的类型说明符是char
字符变量类型定义的格式和书写规则都与整型变量相同。
例如:char a,b;
- char 类型不能包含 ASCII 编码之外的字符
- 字符在比较的时候比较的是ASCII值
字符变量在内存中的存储形式及使用方法
- 每个字符变量被分配一个字节的内存空间,因此只能存放一个字符。
- 字符值是以ASCII码的形式存放在变量的内存单元之中的。
对字符变量a、b赋予’x’和’y’值:如x的十进制ASCII码是120,y的十进制ASCII码是121。
char a,b;
a='x';
b='y';
实际上是在a、b两个单元内存放120和121的二进制代码:
#include<stdio.h>
int main(void){
char a,b;
a = 120;
b = 121;
printf("%c,%c\n",a,b); // x, y
printf("%d,%d\n",a,b); // 120, 121
return 0;
}
- %c 输出字符
- %s 输出ASCII值