在字符集中,有一类字符具有这样的特性:当从键盘上输入这个字符时,显示器上就可以显示这个字符,即输入什么就显示什么。这类字符称为可显示字符,如a、b、c、$、+和空格符等都是可显示字符。
另一类字符却没有这种特性。它们或者在键盘上找不到对应的一个键(当然可以用特殊方式输入),或者当按键以后不能显示键面上的字符。其实,这类字符是为控制作用而设计的,故称为控制字符。
在C语言中,构成字符常量的控制字符必须用转义字符表示。转义字符是一种以“\\”开头的字符。例如退格符用'\\b'表示,换行符用'\\n'表示。转义字符中的'\\'表示它后面的字符已失去它原来的含义,转变成另外的特定含义。反斜杠与其后面的字符一起构成一个特定的字符。
转义字符是C语言中表示字符的一种特殊形式。转义字符以反斜'\\'开头,后面跟一个字符或一个八进制或十六进制数表示。转义字符具有特定的含义,不同于字符原有的意义,故称转义字符。
通常使用转义字符表示ASCII码字符集中不可打印的控制字符和特定功能的字符,如用于表示字符常量的单撇号('),用于表示字符串常量的双撇号(")和反斜杠(\\)等。
实例讲解:
通过puts可以输出字符串,例如:
1
|
puts ( "123abc" );
|
"123abc" 对应的ASCII码值的八进制分别是 61、62、63、141、142、143,上面的代码也可以写为:
1
|
puts ( "\\61\\62\\63\\141\\142\\143" );
|
在C语言中,所有的ASCII码都可以用反斜杠\\加数字(默认是8进制)来表示,称为转义字符(Escape Character),因为\\后面
的字符都不是它原来的ASCII字符的意思了。
除了八进制,也可以用十六进制来表示。用十六进制表示时数字要以x开头。"123abc" 对应的ASCII码值的十六进制分别是 31、
32、33、61、62、63,所以也可以写为:
1
|
puts ( "\\x31\\x32\\x33\\x61\\x62\\x63" );
|
注意:只能使用八进制或十六进制,不能使用十进制。
一个完整的例子:
1
2
3
4
5
|
#include <stdio.h>
int main(){
puts ( "The string is: \\61\\62\\63\\x61\\x62\\x63" );
return 0;
}
|
运行结果:
The string is: 123abc
在ASCII码中,从 0~31(十进制)的字符为控制字符,它们都是看不见的字符,不能在显示器上显示,也没法书写,只能以转
义字符的形式来表示。不过,直接使用ASCII码值记忆不方便,针对常用的控制字符,C语言又定义了简写方式,完整的列表如下:
转义字符 | 意义 | ASCII 码值(十进制) |
\\a | 响铃(BEL) | 007 |
\\b | 退格(BS) ,将当前位置移到前一列 | 008 |
\\f | 换页(FF),将当前位置移到下页开头 | 012 |
\\n | 换行(LF) ,将当前位置移到下一行开头 | 010 |
\\r | 回车(CR) ,将当前位置移到本行开头 | 013 |
\\t | 水平制表(HT) (跳到下一个TAB位置) | 009 |
\\v | 垂直制表(VT) | 011 |
转义字符示例:
1
2
3
4
5
|
#include <stdio.h>
int main(){
puts ( "C\\tC++\\tJava\\nC first appeared!\\a" );
return 0;
}
|
相关文章
- ASP.NET自助建站系统的域名绑定与解析教程 2025-06-10
- 个人服务器网站搭建:如何选择合适的服务器提供商? 2025-06-10
- ASP.NET自助建站系统中如何实现多语言支持? 2025-06-10
- 64M VPS建站:如何选择最适合的网站建设平台? 2025-06-10
- ASP.NET本地开发时常见的配置错误及解决方法? 2025-06-10
- 2025-07-10 怎样使用阿里云的安全工具进行服务器漏洞扫描和修复?
- 2025-07-10 怎样使用命令行工具优化Linux云服务器的Ping性能?
- 2025-07-10 怎样使用Xshell连接华为云服务器,实现高效远程管理?
- 2025-07-10 怎样利用云服务器D盘搭建稳定、高效的网站托管环境?
- 2025-07-10 怎样使用阿里云的安全组功能来增强服务器防火墙的安全性?
快网idc优惠网
QQ交流群
-
2025-05-27 73
-
2025-05-25 73
-
2025-06-04 13
-
2025-05-25 91
-
2025-05-29 97