• 转义字符


     

    转义字符是什么?跟普通的字符或者说中文字符有什么关系?

    以UTF-8环境为例,在这个环境下,数字、字母、中文字符、转义字符,都是一样的,每一个字符都是一一对应一个01码,而转义字符的特殊之处在于,它们通常不可打印,也就是说看不到,比如换行符\n,回车符\r(关于这两个符号,另一篇会有专门的内容讨论)、‘\t’ ‘\v’ ‘\f’(后边介绍)。

    其实所有的转义字符分为两种,除了一些不可打印的“可执行”字符需要用转义字符表示之外,还有一些因为被系统使用做语法标示(直接可执行)的普通字符,为了避免二义性而重复,所以反倒要通过转义字符来表示这些可执行字符本身的样子,那就是:双引号、单引号、反斜杠。

    这块梳理一下:
    1 .所有字符分为:
    1. 普通打印字符:a,F,3
    2. 有特殊含义字符
      1. 普通打印字符加反斜杠(斜杠是除法):\t
      2. 字符本身表示特殊含义:“   \
    2 .于是有这些需求
    1. 打印普通字符,正常打就好
    2. 打印特殊含义字符的特殊含义,正常打就好
    3. 打印特殊含义字符的字符
      1. 普通打印字符加反斜杠的,这种正常打就好
      2. 字符本身表示特殊含义的,这种比较特殊,打印方法很简单,给他们加一个反斜杠

    附:

    (1)水平制表符(‘\t’)
    一般来说,其在终端和文件中的输出显示相当于按下键盘TAB键效果。一般系统中,显示水平制表符将占8列。同时水平制表符开始占据的初始位置是第8*n列(第一列的下标为0)。例如:
    puts("0123456\txx");
    puts("0123456\t\txx");
    在终端的输出为

    (2)垂直制表符(‘\v’)
    垂直制表符不常用。它的作用是让‘\v’后面的字符从下一行开始输出,且开始的列数为“\v”前一个字符所在列后面一列。例如:
    puts("01\v2345");
    在终端输出为

    (3)换页(‘\f’)
    换页符的在终端的中的效果相当于Linux中clear命令。终端在输出‘\f’之后内容之前,会将整个终端屏幕清空空,然后在输出内容。给人的该觉是在clear命令后的输出字符串。

  • 相关阅读:
    nyoj58 最少步数
    oj2787 算24
    一位ACMer过来人的心得
    hdu递推公式水题
    nyoj20 吝啬的国度
    hdu1421 搬寝室
    全排列生成算法:next_permutation
    hdu2544 最短路
    poj1691 Painting A Board
    hdu1274 展开字符串
  • 原文地址:https://www.cnblogs.com/bellkosmos/p/4452259.html
Copyright © 2020-2023  润新知