C++中代码,字符等问题 请进来看看! 在线等! 我会及时回应大家的答案的!

来源:百度知道 编辑:UC知道 时间:2024/06/22 20:40:48
单引号内用\后跟一数被无条件地理解为8进制数(不管是否以0打头),表示该代码所代表的字符,如'\0','\15'(与'\r'同)
表示该代码所代表的字符,如'\0','\15'(与'\r'同)
这句话,我不是很理解.为什么说'\15'与'\r'相同?
同一个代码代表的字符可以不同吗?
同一个代码可以代表不同类型的字符吗?
还有'\X0D'它占多少个字节空间?
十六进制数两位数字一组能代表一个字符吗? 就是0D一组,表示一个字符.要是0D0A的话,表示两个字符?
请各位高手帮助!

'\0','\r'

这些都是转义符号

这些符号用常规方法不能在C语言里面表示(因为有些是不可见符号
而有些是换行符号,虽然能显示,但C语言规定同一字符串不可跨行,所以在字符串中没办法表示)

但实际输出时极有可能要用到这些符号,于是C语言就规定用另外一些字符来表示这些字符,这就是转义符号了,一般转义字符要求以\开头

同一个代码代表的字符可以不同吗?
不能,但同一字符能由不同代码表示,比如你说的'\15'与'\r'
'\15'代表了ASCII表的第13个符号,正好是回车符号,而在C语言语法里面'\r'正好也是代表回车符号

还有'\X0D'它占多少个字节空间?
一个
十六进制数两位数字一组能代表一个字符吗?
可以,但必须是以\x开头的,也就是LS的
\xhh 任意ASCII字符 h代表一个十六进制数(0-9,a-f)

就是0D一组,表示一个字符.要是0D0A的话,表示两个字符?
"0D0A"代表四个字符
"\x0D\x0A"才是表示两个字符

转义字符是C语言中表示字符的一种特殊形式。通常使用转义字符表示ASCII码字符集中不可打印的控制字符和特定功能的字符,如用于表示字符常量的单撇号( '),用于表示字符串常量的双撇号( ")和反斜杠( \)等。转义字符用反斜杠\后面跟一个字符或一个八进制或十六进制数表示。
\a 响铃(BEL) 007
\b 退格(BS) 008
\f 换页(FF) 012
\n 换行(LF) 010
\r 回车(CR) 013
\t 水平制表(HT) 009
\v 垂直制表(VT) 011