第二章 头文件、变量和基本类型(4)——转义序列

来源:互联网 发布:高达纸模淘宝店有哪些 编辑:程序博客网 时间:2024/05/17 22:32

0x01 使用字符的规定


有两类字符程序员不可直接使用:

1、不可打印字符,例如退格、换行等不可见字符;

2、C++中有特殊含义的字符(单引号、双引号、问号、反斜线)。


这些情况下需要用到转义序列才能使用这些字符。

转义序列都是以反斜线作为开始。


0x02 C++规定的转义序列




上表中的转义序列在程序中被当作一个字符使用:

std::cout << '\n';      //换行std::cout << "\tHi!\n"; //输出一个制表符Tab,再输出Hi!然后换行



0x03 泛化的转义序列


可以在程序中使用泛化的转义序列,形式是\x后面紧跟一个或多个十六进制的数字,或者\后紧跟一个、两个或三个八进制数字,其中数字部分表示的是字符对应的数值。价格使用的是Latin-1字符集,示例如下:

\7   (响铃)\12  (换行符)\40  (空格)\0   (空字符)\115 (字符M)\x4d (字符M)


1、转移序列可以像普通字符一样自由混合使用:

std::cout << "Hi \x4dO\115!\n";   //输出Hi MOM!然后换行std::cout << '\115' << '\n';      //输出M然后换行

2、必须注意!如果反斜线\后面跟着的八进制数字超过3个,那只有前3个数字与\构成转义序列:

std::cout << '\1154' << '\n';      //输出M4然后换行

3、还要注意!\x要用到后面跟着的所有数字!例如\x1234表示一个16位的字符。



-----------(我是分割线)-----------

        这里的学习顺序基于《 C++ Primer(第五版)》,虽说这本书是C++神书,但如果没有一定的C语言基础,肯定很难一下子啃下来,特别是原书第一章说编写一个简单的程序,结果各种语句和输入输出流都出现了,最后还来个类简介,实在是有点让新手朦逼。就算有一定的C++基础,中文版的语言也略显拗口。

        所以,我建议可以先用谭浩强的C/C++系列高校用书籍来打个基础。先别管网上对谭教授的教材评价如何,至少它能高效地带你入门。直接学习C++不是不可以,但毕竟c语言是一门经典的计算机语言,经久不衰,还衍生出了很多其他的计算机语言。学好C语言能培养出一种理解计算机语言的思维模式,以后学其他语言都可能事半功倍。

        我个人的学习方式是“先看懂,后深入,再高效”。在这里会按照我的理解,尽量用简单的语言来解释C++的知识点,至少先看懂并让程序能用再说。如果有错欢迎指正。

        文中可能有某些程序段来自pezy大神,自学C++的路上我有很多疑难都是在pezy大神的解释中顿悟。在此表示感谢!

        任何地方如有侵权请立即联系删除。

-----------(我是分割线)-----------



阅读全文
0 0
原创粉丝点击