C++的转义字符

'\x0A'表示十进制10
那么'\x1A'表示十进制多少,怎么算出来的

\0x1A,\0x0A都是转义为十六进制数的,
然后通过十六进制数和十进制数的转换得到十进制数值

给你一个详细的转义字符说明吧

所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示。而C中定义了一些字母前加"\"来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。
转义字符 意义 ASCII码值(十进制)
\a 响铃(BEL) 007
\b 退格(BS) 008
\f 换页(FF) 012
\n 换行(LF) 010
\r 回车(CR) 013
\t 水平制表(HT) 009
\v 垂直制表(VT) 011
\\ 反斜杠 092
\? 问号字符 063
\' 单引号字符 039
\" 双引号字符 034
\0 空字符(NULL) 000
\ddd 任意字符 三位八进制
\xhh 任意字符 二位十六进制
字符型常量
字符型常量所表示的值是字符型变量所能包含的值。我们可以用ASCII表达式来表示一个字符型常量,或者用单引号内加反斜杠表示转义字符。
'A', '\x2f', '\013';
其中:\x表示后面的字符是十六进制数,\0表示后面的字符是八进制数。
注意:在Turbo C 2.0中,字符型常量表示数的范围是-128到127,除非你把它声明为unsigned,这样就是0到255。
上面我们见到的\x,\n,\a等等都是叫转义字符,它告诉编译器需要用特殊的方式进行处理。下面给出所有的转义字符和所对应的意义:
转义字符 描述
\' 单引号
\ 双引号
\\ 反斜杠
\0 空字符
\0nnn 八进制数
\a 声音符
\b 退格符
\f 换页符
\n 换行符
\r 回车符
\t 水平制表符
\v 垂直制表符
\x 十六进制符
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-07-25
'\x1A'他是一个转义字符的,在C语言中常使用“\”作为引导符的特殊字符序列,用于代表某一个特定的ASCII码字符。此种字符常常被称为转义字符,被常用于输出函数printf()中用于控制输出格式。
反斜线“\”后的十六进制数只能以小写字母x开头,不允许使用大写字母A或者0x开头,如‘\x41’代表字符常量'A'等。 也可以在一对单引号内用反斜线跟一个十六进制数来表示一个字符常量。
十六进制的算法与十进制类似,比如十进制中123.456可以拆分为1×10^2+2×10^1+3×10^0+4×10^-1+5×10^-2+6×10^-3=123.456.同样的道理,在十六进制中比如:12A.2化为十进制为1×16^2+2×16^1+10×16^0+2×16^-1=298.125。以此,题目中的1A化为十进制就是1×16^1+10×16^0=26.
特别注意的是在十六进制中10,11,12,13,14,15分别使用字母A,B,C,D,E,F表示。本回答被提问者采纳
第2个回答  2009-02-24
转义字符有一种形式是:
'\xhh' 其中的 hh 表示两位十六进制数,比如你说的'\x1A',这个字符的值就是十六进制数0x1A=1*16+10=26
第3个回答  2009-02-24
这是16进制
1*16+A=26
(怎么算的,建议看点与二进制与十进制的转换有关的书,16进制类似)
第4个回答  2019-11-24
转义字符其实就是一个字符,用于表示一些特殊的字符和一些不可显示的字符。比如“\”它本身表示转义字符开始,如果要显示它的话就要使用“\\”。再比如换行符“\n”,它是个控制符不可显示,用于实现换行功能。
至于怎么使用,因为转义字符本来就是个字符,所以可以用在使用字符的任何地方,可以单个使用,也可以用在字符串中。
下面的代码输出a和b用8进制和16进制转义字符表示的形式,运行结果如图。
#include

using
namespace
std;
int
main()
{
cout
<<
"\101=\\101\t\102=\\102";
cout
<<
'\n';
cout
<<
"\x41=\\x41";
cout
<<
'\t';
cout
<<
"\x42=\\x42\n";
return
0;
}
相似回答