从头开始系统化学习C语言!
第一章 学习c语言第一天
第二章 学习c语言第二天
第三章 学习c语言第三天
第四章 学习c语言第四天
第五章 学习c语言第五天
第六章 学习c语言第六天
第七章 学习c语言第七天
目录
前言
记录一下第七天的学习!今天学习了c语言中的转义字符及其用法!
假如想在打印一个目录:D:\test\test.c
代码如下:
#include<stdio.h>
int main()
{
printf("D:\test\test.c");
return 0;
}
效果如下:
可以发现\t没有被打印出来
一、转义字符是什么?
简单的说就是转变了字符原有意思的字符,每个转义字符的意义有所差异。
举个栗子!
代码如下:
#include<stdio.h>
int main()
{
printf("ab\ncd");
return 0;
}
效果如下:
由此可得,‘\n’是一个换行符。
二、C语言中的转义字符?
转义字符 | 释义 |
---|---|
\? | 在书写连续多个问号时使用,防止被解析成三字母词 |
\’ | 用于表示字符常量‘ |
\" | 用于表示一个字符串内部的双引号 |
\\ | 用于表示一个反斜杠,防止被解释为一个转义序列符 |
\a | 警告字符,蜂鸣 |
\b | 退格符 |
\f | 进纸符 |
\n | 换行 |
\r | 回车 |
\t | 水平制表符 |
\v | 垂直制表符 |
\ddd | ddd表示1-3个八进制的数字。如:\130 X |
\xdd | dd表示2个十六进制数字。如:\x30 0 |
1. \?的用法
三字母词:在c语言中把以'??'开头加上一个')'会解析成一个']'
??) --> ]
解决方法:
在'?'前加上'\'变成\?\?)
2. \'的用法
代码如下:
int main()
{
printf("%c\n",'a'); //打印字符a
return 0;
}
效果如下:
代码如下:
int main()
{
printf("%c\n",'''); //打印字符'
return 0;
}
效果如下:
发现会报错。
解决方法:加上’\’
代码如下:
int main()
{
printf("%c\n",'\''); //打印字符'
return 0;
}
效果如下:
问题解决!
3. \"的用法
代码如下:
int main()
{
printf("%s\n", "abc"); //打印字符串abc
return 0;
}
效果如下:
代码如下:
int main()
{
printf("%s\n", """); //打印字符"
return 0;
}
效果如下:
发现会报错。
解决方法:加上’\’
代码如下:
int main()
{
printf("%s\n", "\"");
return 0;
}
效果如下:
问题解决!
4. \t的用法
和Tab键效果类似
回到最开始的打印目录:D:\test\test.c
代码如下:
#include<stdio.h>
int main()
{
printf("D:\test\test.c");
return 0;
}
效果如下:
可以发现\t没有被打印出来
解决方法:加上’\’
代码如下:
#include<stdio.h>
int main()
{
printf("D:\\test\\test.c");
return 0;
}
效果如下:
5. \a的用法
代码如下:
int main()
{
printf("\a\a\a");
return 0;
}
效果如下:
发现电脑响了,触发了电脑的蜂鸣
6. \ddd的用法
代码如下:
int main()
{
printf("%c\n", '\130');
return 0;
}
效果如下:
八进制数130转换为十进制数是88,而X的ASCII码值为88,所以结果是X。
ASCII码值是每个字符在ASCII表中所对应的数值
7. \xdd的用法
代码如下:
int main()
{
printf("%c\n", '\x30');
return 0;
}
效果如下:
十六进制数30转换为十进制数是48,而字符0的ASCII码值为48,所以结果是字符0。
三、带转义字符的字符长度计算
举个栗子!
代码如下:
int main()
{
printf("%d\n",strlen("d:\test\132\test.c"));
return 0;
}
效果如下:
其中\t、\132、\t分别算作一个字符,所以字符串长度为13
总结
以上就是学习的内容,本文介绍了c语言中的转义字符及其用法,希望大家喜欢,有帮助就点个赞关注一下吧!