C 转义字符

在 C 语言中,转义字符是一种特殊的字符,它是由一个 “/”(反斜杠)和后面的字符组成。

C 为什么要使用转义字符?

在介绍转义字符是什么之前,我们先来看一个简单的例子。

示例 1:没有加上换行符

#include <stdio.h>

int main(void)
{
    char a = 'a';
    char b = 'b';

    printf("%c", a);
    printf("%c", b);
    return 0;
}

运行结果如下。

ab

分析:

在这个例子中,我们定义了 2 个字符型变量,然后再使用 printf() 函数把这 2 个变量打印出来。从结果可以看出来,2 次的打印结果在一行内显示了。但我们更希望在输出第一个变量之后,换行再输出第二个变量,此时应该怎么实现呢?

在 C 语言中,我们可以使用转义字符的方式来输出一些特殊的符号,比如换行符就是一种特殊的字符。在 C 语言中,常见的转义字符如下表所示。

C 语言转义字符
转义字符 说明
\' 英文单引号
\" 英文双引号
\n 换行符
\t 制表符
\r 回车符
\b 退格符
\\ 反斜杠

转义字符一般都是用 “反斜杠(\)” 开头的,这是它最重要的一个特点。实际上,C 语言中的转义字符很多,只需要了解上表的几种即可。

此外,“\t” 是一个制表符,它就是一个 Tab 键的空格大小。“\t” 通常用于对齐,它的宽度不固定,取决于显示环境,常见的是等于 4 个或 8 个空格的宽度。”

在使用转义字符时,小伙伴们需要注意以下 2 点。

  • 转义字符要严格区分大小写,比如 “\n” 是换行符,但 “\N” 却不是。
  • 想要在字符串中表示反斜杠,应该使用转义字符 “\\”,而不是写成 “\”。

C 转义字符的使用

在 C 语言中中,转义字符是一种特殊的字符,引入转义字符的目的有 2 个。

  • 表示无法 “看见” 的字符,例如换行符 \n。
  • 表示与语法冲突的字符,例如 \' 和 \"。

示例 2:加上换行符

#include <stdio.h>

int main(void)
{
    char a = 'a';
    char b = 'b';
    char c = '\n';

    printf("%c", a);
    printf("%c", c);
    printf("%c", b);

    return 0;
}

运行结果如下。

a
b

分析:

变量 c 是一个换行符,我们在输出 a 和 b 之间去输出变量 c,此时就使得结果中的 'a' 和 'b' 换行了。换行符是一种特殊字符,它本身是 “看不见摸不着” 的,但是这里已经体现了它的功能了(也就是换行)。

其实为了在多个输出之间换行,我们没必要像上面这样那么麻烦,还专门定义一个用于换行的变量。我们可以在 printf() 函数的第一个参数里面加入 “\n“,就可以实现换行了,请看下面例子。

示例 3:printf() 函数加入 “\n”

#include <stdio.h>

int main(void)
{
    char a = 'a';
    char b = 'b';

    printf("%c\n", a);
    printf("%c", b);

    return 0;
}

运行结果如下。

a
b

分析:

在实际开发中,如果想要在多个输出结果之间进行换行,我们都建议使用上面例子这种方式来实现。

示例 4:多个打印结果之间换行

#include <stdio.h>

int main(void)
{
    int a = 10;
    int b = 20;

    printf("%d\n", a);
    printf("%d", b);

    return 0;
}

运行结果如下。

10
20

示例 5:打印单引号

#include <stdio.h>

int main(void)
{
    char a = '\'';
    printf("%c", a);
    return 0;
}

运行结果如下。

'

分析:

由于单引号和双引号已经被 C 语言内部使用了,所以如果想要表示一个单引号的字符,就必须使用转义字符才能实现。

// 正确方式
char a = '\'';

// 错误方式
char a = ''';

为什么使用 char a = '''; 这种方式无法表示一个单引号呢?因为这里有 3 个单引号,C 语言无法判断哪两个单引号是一对的,所以就会报错。

示例 6:打印 “\”

#include <stdio.h>

int main(void)
{
    char a = '\\';
    printf("%c", a);
    return 0;
}

运行结果如下。

\

分析:

另外,由于 “\” 这个符号也被 C 语言内部使用了,所以想要表示一个 “\” 符号,也要使用转义字符来实现。对于一般的转义字符,我们直接在前面加上一个 “\” 就可以了,所以 “\” 前面再加上 “\”,就应该是 “\\”。

示例 7:使用制表符(\t)

#include <stdio.h>

int main(void) 
{
    printf("姓名:\t张三\n");
    printf("年龄:\t25\n");
    return 0;
}

运行结果如下。

姓名:	张三
年龄:	25

分析:

从结果可以看到,“姓名:” 和 “张三” 之间,以及 “年龄:” 和 “25” 之间都出现了一定的空白间隔,这是制表符的效果,用于在文本输出中创建列对齐的效果。

上一篇: C 数据类型

下一篇: C 运算符

给站长反馈

绿叶网正在不断完善中,小伙伴们如果发现任何问题,还望多多给站长反馈,谢谢!

邮箱:lvyenet@vip.qq.com

「绿叶网」服务号
绿叶网服务号放大
关注服务号,微信也能看教程。
绿叶网服务号