C语言基础:转义字符
Posted CodeJiao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言基础:转义字符相关的知识,希望对你有一定的参考价值。
1.转义字符
字符集(Character Set)为每个字符分配了唯一的编号,称为编码值。在C语言中,一个字符除了可以用它的实体(也就是真正的字符)表示,还可以用编码值表示。这种使用编码值来间接地表示字符的方式称为转义字符(Escape Character)。
转义字符以\\或者\\x开头,以\\开头表示后跟八进制形式的编码值,以\\x开头表示后跟十六进制形式的编码值。对于转义字符来说,只能使用八进制或者十六进制。
字符 1、2、3、a、b、c 对应的 ASCII 码的八进制形式分别是 61、62、63、141、142、143,十六进制形式分别是 31、32、33、61、62、63。下面的例子演示了转义字符的用法:
#include <stdio.h>
int main()
printf("\\61 \\n"); //字符1
printf("\\141 \\n"); //字符a
printf("\\x31 \\n"); //字符1
printf("\\x61 \\n"); //字符a
char *str1 = "\\x31\\x32\\x33\\x61\\x62\\x63"; //字符串"123abc"
char *str2 = "\\61\\62\\63\\141\\142\\143"; //字符串"123abc"
char *str3 = "The string is: \\61\\62\\63\\x61\\x62\\x63"; //混用八进制和十六进制形式
return 0;
运行结果:
转义字符既可以用于单个字符,也可以用于字符串,并且一个字符串中可以同时使用八进制形式和十六进制形式。
示例:
#include <stdio.h>
int main()
printf("\\x68\\164\\164\\x70://www.baidu.com");
return 0;
运行结果:
对于 ASCII 编码,0~31(十进制)范围内的字符为控制字符,它们都是看不见的,不能在显示器上显示,甚至无法从键盘输入,只能用转义字符的形式来表示。不过,直接使用 ASCII 码记忆不方便,也不容易理解,所以,针对常用的控制字符,C语言又定义了简写方式,完整的列表如下:
转义字符 | 意义 | ASCII码值(十进制) |
---|---|---|
\\a | 响铃(BEL) | 007 |
\\b | 退格(BS) ,将当前位置移到前一列 | 008 |
\\f | 换页(FF),将当前位置移到下页开头 | 012 |
\\n | 换行(LF) ,将当前位置移到下一行开头 | 010 |
\\r | 回车(CR) ,将当前位置移到本行开头 | 013 |
\\t | 水平制表(HT) | 009 |
\\v | 垂直制表(VT) | 011 |
\\’ | 单引号 | 039 |
\\" | 双引号 | 034 |
\\\\ | 反斜杠 | 092 |
说明:
\\n和\\t是最常用的两个转义字符:
- \\n用来换行,让文本从下一行的开头输出,前面的章节中已经多次使用;
- \\t用来占位,一般相当于四个空格,或者 tab 键的功能。
单引号、双引号、反斜杠是特殊的字符,不能直接表示。
转义字符示例:
#include <stdio.h>
int main()
puts("C\\tPython\\tJava\\n\\"Java\\" The Best Lang!");
return 0;
运行结果:
以上是关于C语言基础:转义字符的主要内容,如果未能解决你的问题,请参考以下文章