在字符集中,有一类字符具有这样的特性:当从键盘上输入这个字符时,显示器上就可以显示这个字符,即输入什么就显示什么。这类字符称为可显示字符,如a、b、c、$、+和空格符等都是可显示字符。
另一类字符却没有这种特性。它们或者在键盘上找不到对应的一个键(当然可以用特殊方式输入),或者当按键以后不能显示键面上的字符。其实,这类字符是为控制作用而设计的,故称为控制字符。
在C语言中,构成字符常量的控制字符必须用转义字符表示。转义字符是一种以“\”开头的字符。例如退格符用'\b'表示,换行符用'\n'表示。转义字符中的'\'表示它后面的字符已失去它原来的含义,转变成另外的特定含义。反斜杠与其后面的字符一起构成一个特定的字符。
转义字符是C语言中表示字符的一种特殊形式。转义字符以反斜'\'开头,后面跟一个字符或一个八进制或十六进制数表示。转义字符具有特定的含义,不同于字符原有的意义,故称转义字符。
通常使用转义字符表示ASCII码字符集中不可打印的控制字符和特定功能的字符,如用于表示字符常量的单撇号('),用于表示字符串常量的双撇号(")和反斜杠(\)等。
实例讲解:
通过puts可以输出字符串,例如:
puts("123abc");
"123abc" 对应的ASCII码值的八进制分别是 61、62、63、141、142、143,上面的代码也可以写为:
puts("\61\62\63\141\142\143");
在C语言中,所有的ASCII码都可以用反斜杠\加数字(默认是8进制)来表示,称为转义字符(Escape Character),因为\后面
的字符都不是它原来的ASCII字符的意思了。
除了八进制,也可以用十六进制来表示。用十六进制表示时数字要以x开头。"123abc" 对应的ASCII码值的十六进制分别是 31、
32、33、61、62、63,所以也可以写为:
puts("\x31\x32\x33\x61\x62\x63");
注意:只能使用八进制或十六进制,不能使用十进制。
一个完整的例子:
#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 |
转义字符示例:
#include <stdio.h> int main(){ puts("C\tC++\tJava\nC first appeared!\a"); return 0; }
运行结果:
C C++ Java
C first appeared!
同时会听到喇叭发出“嘟”的声音,这是使用\a的效果。
以上就是对C语言的转义字符的资料整理,学习C语言的同学可以看下。
字符集(Character Set)为每个字符分配了唯一的编号,我们不妨将它称为编码值。在C语言中,一个字符除了可以用它的实体(也就是真正的字符)表示,还可以用编码值表示。这种使用编码值来间接地表示字符的方式称为 转义字符(Escape Character)。 转义字符以 或者 开头,以 开头表示后跟八进制形式的编码值,以 开头表示后跟十六进制形式的编码值。 对于转义字符来说,只能使用八进制或者十
本文向大家介绍C语言 字符串指针详解及示例代码,包括了C语言 字符串指针详解及示例代码的使用技巧和注意事项,需要的朋友参考一下 C语言中没有特定的字符串类型,我们通常是将字符串放在一个字符数组中,这在《C语言字符数组和字符串》中已经进行了详细讲解,这里不妨再来演示一下: 运行结果: http://c.biancheng.net http://c.biancheng.net 字符数组归根结底还是一个
本文向大家介绍详解C语言中的字符串数组,包括了详解C语言中的字符串数组的使用技巧和注意事项,需要的朋友参考一下 在C语言当中,字符串数组可以使用: char a[] [10]; 或者 char *a[]; 表示 第一种表示方式固定了每个字符串的最大大小。第二种没有字符串的大小限制。 总结 以上所述是小编给大家介绍的C语言中的字符串数组,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回
本文向大家介绍C语言中的字符(char)详细讲解,包括了C语言中的字符(char)详细讲解的使用技巧和注意事项,需要的朋友参考一下 1.字符型(char)简介 字符型(char)用于储存字符(character),如英文字母或标点。 严格来说,char 其实也是整数类型(integer type),因为 char 类型储存的实际上是整数,而不是字符。 计算机使用特定的整数编码来表示特定的字符。 2
本文向大家介绍C语言树状数组的实例详解,包括了C语言树状数组的实例详解的使用技巧和注意事项,需要的朋友参考一下 C语言树状数组的实例详解 最近学了树状数组,给我的感觉就是 这个数据结构好神奇啊^_^ 首先她的常数比线段树小,其次她的实现复杂度也远低于线段树 (并没有黑线段树的意思=-=) 所以熟练掌握她是非常有必要的。。 关于树状数组的基础知识与原理网上一搜一大堆,我就不赘述了,就谈一些树状数组的
本文向大家介绍C语言接口与实现方法实例详解,包括了C语言接口与实现方法实例详解的使用技巧和注意事项,需要的朋友参考一下 本文以实例形式详细讲述了C语言接口与实现方法,对于深入掌握C语言程序设计有一定的借鉴价值。分享给大家供大家参考。具体分析如下: 一般来说,一个模块有两部分组成:接口和实现。接口指明模块要做什么,它声明了使用该模块的代码可用的标识符、类型和例程,实现指明模块是如何完成其接口声明的目