C++ ASCII 码的一些问题

关于ASCII码和转义字符的对应问题,一直都有个困惑。所以今天校验了一下是什么情况。

 转义字符的百度百科:http://baike.baidu.com/link?url=D9ytjAeiYr1ZGKGTXtSB_DqtKOEPDI899R6oqNFN_u3IqdVQLGvSXX83H6eXG6o-96GccFpH6CL1aPg1hF87fK

ASCII字符表:http://www.asciima.com

所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示。而C中定义了一些字母前加"\"来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。

 


//如何将数字转换成ASCII码对应的字符 char getAscii(int aval) {     return char(aval); } //如何将字符转换成ASCII码对应的数字 int ASCII(char c) { return int(c); }

 

 //转义字符的int最后输出结果是其ASCII码
int A=‘\0’; cout<<A<<endl; //输出结果是0,即空格的ASCII字符 int A='\n'; cout<<A<<endl; //输出结果是10;即换行的ASCII字符 int A='\t'; cout<<A<<endl; //输出结果是9;即制表位的ASCII字符
#include<iomanip>

int A='1';
cout<<hex<<A<<endl;
//the result is 31,即字符对应输出的是其ASCII码

其实所有编程语言,拥有转义字符的原因基本上是两点:一、使用转义字符来表示字符集中定义的字符,比如ASCll里面的控制字符及回车换行等字符,这些字符都没有现成的文字代号。所以只能用转义字符来表示 。二、某一些特定的字符在编辑语言中被定义为特殊用途的字符。
也就是说在ASCII码可以表示的字符中,由于控制字符如NUL,CR等不能直接用字符表示,于是我们就用到了转义字符来表示这些,使得编译器可以知道这些转义字符代表的是什么意思。

posted @ 2015-11-10 16:40  学会走路  阅读(1852)  评论(0编辑  收藏  举报