【C语言】--转义字符
# 前言
C语言一直以来都是初入编程的小白们的必修课,作为程序员必学语言之一,C语言自然有属于它的奥秘,接下来就由我来带领大家走进C语言的世界吧
@[Toc]
# 导读
在我们进行C语言编译时,总会面对一个尴尬的问题,当我们想要在屏幕上打印一个'/'字符时,可无论我们怎么编译都无法实现,这个时候就是我们使用转义字符的时间了。
# 转移字符
**转义字符(Escape character),所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示。而C中定义了一些字母前加""来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。**
# 常用的转义字符
|转义字符(ASCII码值(十进制)) | 意义 |
|--|--|
\a (007)| 响铃(BEL)
\b (008) |退格(BS) ,将当前位置移到前一列
\f (012) |换页(FF),将当前位置移到下页开头
\n (010) |换行(LF) ,将当前位置移到下一行开头
\r (013) |回车(CR) ,将当前位置移到本行开头
\t (009) |水平制表(HT) (跳到下一个TAB位置)
\v (011)|垂直制表(VT)
\\\ (092) |代表一个反斜线字符'\'
\\'(039)|代表一个单引号(撇号)字符
\\"(034)|代表一个双引号字符
\\?(063)|代表一个问号
\0(000)|空字符(NULL)
\ooo(三位八进制)|1到3位八进制数所代表的任意字符
\xhh(十六进制)|十六进制所代表的任意字符
# 使用
## '\a'
**这个响铃不是指从声卡上放出来的,连接在声卡上的音箱和耳机响,而是指主板上的蜂鸣器,
可以通过操作系统来操作,在字符终端下显示这个字符的效果是PC喇叭发出嘀的一声,在图形界面终端下的效果取决于终端的实现。**
## '\b'
**\b在C程序中是向左移动光标的作用,而不是键盘上的退格,并且如果\b左边有\n,则要考虑换行后不能退格回到上一行,只能留在本行的问题。**
```c
#include<stdio.h>
int main()
{
printf("1234\n5\babc");
return 0;
}
```

==显然这里的5被我们删去了==
## \r
**就是回车,并且回到行首会覆盖原来的内容**
```c
#include<stdio.h>
int main()
{
printf("1234\r5abc");
return 0;
```

## '\n'
**换行**
```c
#include<stdio.h>
int main()
{
printf("1234\n5abc");
return 0;
}
```

## '\t'
是一个大的空格
```c
#include<stdio.h>
int main()
{
printf("1234\t5abc");
return 0;
}
```

## '\f'
**将当前位置移到下页开头**
```c
#include<stdio.h>
int main()
{
printf("1234\f5abc");
return 0;
}
```

## '\v'
```c
#include<stdio.h>
int main()
{
printf("1234\v\v\v5abc");
return 0;
}
```

## \?
打印一个问号
```c
#include<stdio.h>
int main()
{
printf("\? ");
return 0;
}
```

## \\
打印一个斜杠
```c
#include<stdio.h>
int main()
{
printf("\\");
return 0;
}
```

## \'和\''
打印一个单引号和打印一个双引号
```c
#include<stdio.h>
int main()
{
printf("\'\n\"");
return 0;
}
```

## /0
'\0' 是字符串的结束符,任何字符串之后都会自动加上'\0'。如果字符串末尾少了‘\0’字符,则其在输出时可能会出现乱码问题.
## \ooo和\x00
输出其相应进制ascII所带表的字符
```c
#include<stdio.h>
int main()
{
printf("\123\n\x23");
return 0;
}
```
Comments0
Creator