【C语言】灵活运用字符

一、转义字符

        灵活应用转义字符可以实现各种各样的显示效果,例如让画面上的字符消失或移动等。本节的目标就是让大家成为运用转义字符的高手。

        转义字符(escapesequence)是一种通过在字符开头加上反斜杠“\”来表示单个字符的方法,大体如下所示:

1.\a:警报符 

        输出警报符\a后,系统会发出听觉上或视觉上的警报。事实上在大多数环境下发出的是“蜂鸣音”(也有某些环境不发出声音,只令画面闪烁)。此外,即使输出警报符,也不会变更当前显示位置(控制台画面中光标所在的位置)。

2.\n:换行符

        输出换行符\n后,当前显示位置就会移动到下一行的开头。

3.\f:换页符

        输出换页符\f后,当前显示位置就会移动到下一个逻辑页面的开头位置。在一般环境下即使往控制台画面输出换页符,也不会发生任何事情。在打印输出需要换页时会用到换页符

4.\b:退格符

        输出退格符\b后,当前显示位置就会移动到当前所在行的前一个字符。

并没有规定当前显示位置处于所在行的开头时输出退格符会怎么样,这是因为光标在某些环境下回不到前一行(上一行)。

5.\r:回车符 

        输出回车符\r后,当前显示位置就会移动到本行开头。

6.\t:水平制表符

        输出水平制表符\t后,当前显示位置就会移动到本行的下一个水平制表位置。没有规定当前位置位于或超过本行最后的水平制表位置时程序该如何运作。
        水平制表位置要取决于OS等环境。有些环境把水平制表位置设定在距每行开头8位的地方其运行示例如下1所示。还有些环境把水平制表位置设定在距每行开头4位的地方,这种情况下就会得到如2所示的运行示例。

printf("123\tABCDEFG\ttelevision");

7.v:垂直制表符 

         输出垂直制表符\v后,当前显示位置就会移动到下一个垂直制表位置中最开始的位置。没有规定当前位置位于或超过本行最后的垂直制表位置时程序该如何运作。垂直制表符\v和换页符一样,都主要在打印输出时使用。

8.\'和\":单引号和双引号

        表示单引号和双引号的转义字符分别是 和\"在字符串常量中,双引号必须用\"来表示,因此表示字符串AB"C的字符串常量就是"AB\"C"。另外,单引号可以用'和\'这两种方式来表示。
        表示单引号的字符常量写为'\'' (不能写为''')。表示双引号的字符常量则可以写为'"'或'\"'。

        实列如下:

#include <stdio.h>
int main(void)
{
    printf("关于字符串常量和字符常量。\n");
    printf("双引号");
    putchar('"');
    printf("用双引号括起来的\"ABC\"是字符串常量。\n");
    printf("单引号");
    putchar('\'');
    printf("用单引号括起来的'A'是字符常量。n");
    return 0;
}

运行结果: 

二、八进制转义字符和十六进制转义字符 

        用八进制数和十六进制数的编码来表示字符的就是八进制转义字符十六进制转义字符前者用1到3位的八进制数来表示,后者则用任意位数的十六进制数来表示。
        例如,在ASCII编码和GB2312编码体系中,因为数字字符'0'的字符编码换算成十进制数是48,所以用八进制转义字符可以表示为'\60',用十六进制转义字符则可以表示为'\x30'。

       这篇我们讲述了字符的相关问题,后面我们还会进行C语言相关知识的讲解,大家敬请期待!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr_star_galaxy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值