C语言的转义字符

本文详细介绍了转义字符的概念,列举了ASCII码表中的11个转义字符,包括警报符、退格符等,并展示了它们在编程中的实际应用和示例。
摘要由CSDN通过智能技术生成

一、是什么

​ 转义字符如\n,\0,是一些特殊的字符,顾名思义,转义字符是转变原来意思的字符

我们都知道ASCII码表:

ASCII码表都可以用"\"加数字表示(大多为8进制的数),而ASCII的前32个符号是无法显示出来的,为了方便,我们将其中常见的用转义字符来表示。

注:转义字符都是单个字符

二、有哪些

目前一共有11个转义字符,它们分别是:

1.警报符:\a

2.退格符:\b

3.换页符:\f

4.换行符:\n

5.回车符:\r

6.制表符:\t

7.垂直分隔符:\v

8.问号符:\?

9.单引号符:\'

10.双引号符:\"

11.反斜杠符:\\

12.空字符:\0

13.八进制符:\ddd

14.十六进制符:\xdd

三、怎么用

1.警报符:\a

警报,使得电脑发出报警声或者出现闪烁,有可能同时出现

例如:

#include<stdio.h>                         
int main()
{
	printf("你好\a你好");    
	return 0;    
}

运行结果:

我用VS2022系统运行电脑出现了声响。

2.退格符:\b

光标回退一个字符,但不删除字符。

例如:

#include<stdio.h>                         
int main()
{
	printf("你好\b你好\n");  
	printf("你好\b\b你好\n");  
	printf("你好\b\b\b你好\n");
	printf("\n\n");
	printf("你好\n\b\b你好\n");    
	printf("你好\b\b\n你好\n");  
	return 0;    
}

运行结果:

3.换页符:\f

光标移到下一页,在打印时使用,在代码运行时类似于\n和\v(实际上有区别)

例如:

#include<stdio.h>                         
int main()
{
	printf("你好\f你好");  
	return 0;    
}

运行结果:

4.换行符:\n

输入换行符后,当前显示位置就会移动到下一行的开头。是我们最常用的符号

代码运行结果如3换页符

5.回车符:\r

光标回到同一行开头

例如:

#include<stdio.h>                         
int main()
{
	printf("你好\r你好\r你好\r");  
	return 0;    
}

运行结果:

6.制表符:\t

光标移到下一个水平指标位,通常是空四格,类似于Tab键。

例如:

#include<stdio.h>                         
int main()
{
	printf("你好\t你好");  
	return 0;    
}

运行结果:

7.分隔符:\v

光标移到下一个垂直制表位,在打印时使用

代码运行结果如3换页符

8.问号符:\?

在某些编译器下 ,会将 “ ??) ” 解析成 三字母词 “ ] ” ,
所以在打印 “ ??) ”时,为了防止被解析成三字母词,在它前面加 " \",改成 ” ??) “ 。

注:在现有的大部分编译器中,这个都是无法验证的。

9.单引号符:\'

10.双引号符:\"

像这样打印单引号时会造成编译器无法编译

例如:

#include<stdio.h>                         
int main()
{
	printf("%c\n",'''); 
	printf("%c\n",'"');   
	return 0;    
}

和else和}的规则一样,’和“都是和前一个最近的相应的符号相配对,加入\可以转义将‘和”打印出来。

例如:

#include<stdio.h>                         
int main()
{
	printf("%c\n",'\''); 
	printf("%c\n",'\"');   
	return 0;    
}

运行结果:

11反斜杠符:\\

用于表示一个反斜杠,防止它被解释为转义字符

例如:

#include<stdio.h>                         
int main()
{
	printf("你好\n你好\n"); 
	printf("\n");
	printf("你好\\n你好\n");   
	return 0;    
}

运行结果:

第一次输出换行两次,第二次输出第一个\n被“\”转义而失去了换行的效果。

12.空字符:\0

null字符,代表没有内容,用于字符串的结束标志。

例如:

#include<stdio.h>                         
int main()
{
	char a[]="hello";
	char b[]={'h','e','l','l','o'}; 
	char c[]={'h','e','l','l','o','\0'}; 
	printf("%s\n",a);
	printf("%s\n",b);
	printf("%s\n",c);
	return 0;    
}

运行结果:

我们可以看到数组b在打印时,还打印了一些随机值,这是因为其在末尾没有打印\0为结束标志。而数组a和c是完全正常的。特别是数组a,“”中是默认末尾有结束标志的。

13.八进制符:\ddd

14.十六进制符:\xdd

ddd表示1~3个八进制的数字。

dd表示2个十六进制数字。

例如:

#include <stdio.h>
int main()
{
    printf("%d\n",'\130');    //八进制数130用十进制表示是88
	printf("%d\n",'\x30');    //十六进制数30用十进制表示是48 
    return 0;
}

运行结果:

注意:八进制和十六进制数换成的十进制数不能超过127,即都可以用ASCII码来表示。

以上就是我谈及的内容,不足之处还望指出。

                                                                             千磨万击还坚韧,任尔东西南北风

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值