字符组合是由反斜杠 (\) 后接字母或位组合构成的字符组合。若要显示换行符,单引号或某些其他字符在字符串末尾,必须使用转义序列。 转义序列被视为单个字符,因此,它是有效的字符常数。

转义序列通常用于指定动作,例如在终端和打印机的回车和选项卡移动。 它们还用来提供非打印字符的文本表现形式和通常具有特殊意义的字符,如双引号 (")。 下表列出了 ANSI 转义序列以及它们所表示的内容。

请注意反斜杠(\?)前面的问号指定文本问号,在字符序列将被错误解释为三字符组的情况下。 有关更多信息,请参见三角符组

转义序列

转义序列

表示

\a

提醒/(警报)

\b

Backspace

\f

换页

\n

换行

\r

回车

\t

水平制表符

\v

垂直制表符

\'

单引号

\ "

双引号

\\

反斜杠

\?

文本问号

\ ooo

八进制表示法的 ASCII 字符

\x hh

十六进制表示法的 ASCII 字符

\x hhhh

以十六进制表示法,则此转义序列用于常量宽字符或 Unicode 字符串的 Unicode 字符。

例如,WCHAR f = L'\x4e00' 或 WCHAR b[] = L"The Chinese character for one is \x4e00"。

Microsoft 专用

如果反斜杠在表中未显示的字符前面,该编译器根据字符本身来处理未定义字符。 例如, \c 被视为 c。

结束 Microsoft 专用

转义序列可以发送 nongraphic 控制字符到显示设备。 例如,ESC 字符 (\033) 通常用作终端或打印机的命令控件的第一个字符。 一些转义序列特定于设备。 例如,垂直选项卡和换页符转义序列(\v 和 \f)不会影响屏幕输出,但它们会执行适当的打印机操作。

还可以将反斜杠(\)用作继续符。 当换行符(等效于按 RETURN 键)后立即反斜杠,该编译器忽略反斜杠和换行符并将下一行作为前一行的一部分。 这主要对长于单行的预处理器定义有用。 例如:

 
 
#define assert(exp) \
( (exp) ? (void) 0:_assert( #exp, __FILE__, __LINE__ ) )

c语言-转义序列的更多相关文章

  1. Solaris下truss的使用

    Solaris下truss的使用 原文转载:http://blog.csdn.net/sunlin5000/article/details/6560736 在Solaris下面,如果需要跟踪系统的调用 ...

  2. c语言中的转义序列

    c中的输出函数printf()可以带以下的转义序列,不同的转义序列会得到不同的结果. 1.\a:警报 2.\b:退格(光标回退一格)3.\f:换页4.\n:换行(光标去到下一行的起始处)5.\r:回车 ...

  3. 关于C语言\b \t \n及转义序列的理解

    转义序列 说明 \b 后退一格(Backspace) \t 水平制表(Tab=4个空格) \v 垂直制表 \r 回车(Enter) \f 换页 \a 发出鸣响 \n 换行 \" 输出/输入双 ...

  4. c++语言常用转义序列符号

    \a      响铃 \n      换行符 \r       回车符 t        水平制表符(Tab键) \b      退格符(BackSpace键) \\       反斜线 \'     ...

  5. 【学习笔记】C语言之词法规则

    一.字符 标准并没有规定C环境必须使用特定的字符集,但是它规定了字符集必须包含英语所有的大小写字母,数字0到9,以及下面的字符: ! # % ^ & * ( ) _ – + =  / . ? ...

  6. Go 语言的基本数据类型

    Go 语言的基本数据类型 0)变量声明 var 变量名字 类型 = 表达式 例: 其中“类型”或“= 表达式”两个部分可以省略其中的一个. 1)根据初始化表达式来推导类型信息 2)默认值初始化为0. ...

  7. Bash 里的转义序列

    在 Bash 里,一共有五个地方支持反斜杠开头的转义序列,包括两个内部命令 echo 和 printf 的参数里,字符串语法 $'...' 里,还有四个提示符变量 PS1-PS4 里,以及在 Read ...

  8. javascript 核心语言笔记- 2 语法结构

    字符集 JavasSript 程序是用 Unicode 字符集 编写的,Unicode 是 ASCII 和 Latin-1 的超集,支持几乎所有在用的语言.ECMAScript 3 要求 JavaSc ...

  9. JavaScript基础---语言基础(1)

    写在前面: 通过四篇博客把JS基础中的基础整理一下,方便自己查阅,这些内容对于实际项目开发中也许并不会在意,但是作为JS的语言基础,自觉还是应该熟悉.在完成这三篇博客(JavaScript基础---语 ...

随机推荐

  1. 在MVC里使用 HttpContext.Response输出内容

    public ActionResult About() { byte[] ss = System.Text.Encoding.UTF8.GetBytes("111122"); Ht ...

  2. Http压测工具wrk使用指南【转】

    用过了很多压测工具,却一直没找到中意的那款.最近试了wrk感觉不错,写下这份使用指南给自己备忘用,如果能帮到你,那也很好. 安装 wrk支持大多数类UNIX系统,不支持windows.需要操作系统支持 ...

  3. 坑爹的 Hardware Reserved Memory (查看内存等)

    来源: http://blog.sina.com.cn/s/blog_772645ff0100s4t7.html 我的电脑是GatewayNV49C83c,酷睿i3的CPU和NV的独立显卡 Inter ...

  4. sql server 自定义split 标值函数

    自定义一个函数,分隔一个以分隔符的隔开字符串,例如把'1,3,5,7,9' 变成 数字1 3 5 7 9的结果集. 自定义标值函数: ),)) )) --实现split功能 的函数 as begin ...

  5. Chloe and pleasant prizes

    Chloe and pleasant prizes time limit per test 2 seconds memory limit per test 256 megabytes input st ...

  6. C3P0连接池参数详解

    <c3p0-config> <default-config> <!--当连接池中的连接耗尽的时候c3p0一次同时获取的连接数.Default: 3 --> < ...

  7. Java中泛型的理解

    Java中的泛型,本质上来说,就是是参数化类型,就是说所操作的数据类型被指定为一个参数,而不是确定的某种类型.这种数据类型可以用在类.接口和方法创建中.即泛型类.泛型接口.泛型方法.这样说可能不够生动 ...

  8. linux 安装Gauss09 GaussView

  9. Java线程池主线程等待子线程执行完成

    今天讨论一个入门级的话题, 不然没东西更新对不起空间和域名~~ 工作总往往会遇到异步去执行某段逻辑, 然后先处理其他事情, 处理完后再把那段逻辑的处理结果进行汇总的产景, 这时候就需要使用线程了. 一 ...

  10. js-学习方法之3

    熟悉JavaScript每一个方法的作用 这一要求听起来似乎有点不太实际,我想这个要求对于像C#.JAVA这些大型语言来说确实是,因为这些语言类库实在太庞大了,相信没有人可以全面记住它,而且也是没有必 ...