八、0基础都能看懂(会打字就会C)--C语言基础--转义字符和注释

什么是转义字符呢?

假如我们要打印一个文件夹的名称,它的名称叫:c:\test\test.c  

我们在前面学习了printf函数,我们就简单的写下了下面的这一段代码:

#include <stdio.h>
int main()
{
	printf("c:\test\test.c");
	return 0;
}

但是我们运行这个上面这个程序之后,我们会得到下面的结果:

 我们发现这个结果与我们想要得到的结果是不同的,那么这个是为什么呢?

为了解决这个问题,我们也就引入了转义字符的概念。

什么是转义字符呢?

顾名思义,就是改变了字符原本的意思,得到了一个新的意思。

常见的转义字符如下表:

转义字符转义字符的含义
\n回车换行
\t横向跳到下一制表位置
\\

反斜线符

\'单引号
\"双引号
\a鸣铃
\ddd1~3位8进制数所表示的字符
\xdd1~2位16进制数所表示的字符

\n,也就是我们在printf里面常用的换行符号。

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

\t,就是我们上面示例里面的,它会导致横向跳到下一制表位置。(解决上面的问题也很简单,我们只要在\前面再加一个\就可以了)

#include <stdio.h>
int main()
{
	printf("c:\\test\\test.c");
	return 0;
}

\\,我们观察表格我们知道\"也是一个字符,假如我们想要打印出\来,就会与我们printf后面的,组合产生一个新的转义字符,所以我们要想要单独的打印出\我们就在\的前面加上一个\。

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

\',我们建立一个字符数组的时候,我们将要引用'',如果我们想要在数组里面直接添加’这个字符的话,就会分不清三个',所以我们要引用'的时候,我们可以通过\'来引用。

#include <stdio.h>
int main()
{
	char arr[]={'\''};
	return 0;
}

\a,通过名字我们知道,当我们使用printf函数输出它的时候我们的电脑将会发出声音。(一个\a就会发出一声声音)

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

我们上面的知道就可以了,下面的两种我们很重要,我们要加以理解。

\dxx与\xxx两种转义字符的意思:

知道这个之前,我们要先知道的ASCII码:

在我们电脑的键盘上面有很多按键,我们知道计算机只可以识别0、1.我们计算机是无法直接识别字符,所以为了帮助我们计算机识别这些字符方便,我们人为的确定了一个表格来确定每个字符所对应的数字。

 我们的\ddd与\xdd后面的数字分别是8进制和16进制。我们输出这两个转义字符的时候,我们先将其数字改为10进制的数字,其与上面表格中所对应的就是我们要输出的。

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

我们将得到表格中所对应的字符。

在C语言中,我们有的时候写的代码关系有的时候会比较复杂,当我们写完这个代码之后,为了帮助他人可以看懂我们的代码和之后我们后来可以看懂,我们一般在我们写完的复杂代码后面加上注释。

#include <stdio.h>
int main()
{
	/*printf("\100\n");
	printf("\101\n");*/
	printf("\x9\n");
	return 0;
}

我们C语言一般将/*与*/之间的内容作为注释,当我们将这段注释起来,这段话系统就不会识别,例如上面的程序,我们将只输出最后一段。但是这种注释方法是有缺陷的

#include <stdio.h>
int main()
{
	/*printf("\100\n");
	/*printf("\101\n");*/
	printf("\x9\n");*/
	return 0;
}

/**/这样的我们是不支持嵌套注释的,上面代码的最后一句我们还会输出。

为了更加的方便,我们一般使用C++中的//作为注释

#include <stdio.h>
int main()
{
	//printf("\100\n");
	printf("\101\n");
	//printf("\x9\n");
	return 0;
}

例如上面的代码,我们将第一句和最后一句注释了,我们程序就只会输出中间的一行。

当然这个不是我们正确使用注释的方法,我们一般在代码后面进行注释。

#include <stdio.h>
int main()
{
	printf("\100\n");/*\100是转义字符*/
	printf("\101\n");/*\101是转义字符*/
	printf("\x9\n");/*\x9是转义字符*/
	return 0;
}
#include <stdio.h>
int main()
{
	printf("\100\n");//\100是转义字符
	printf("\101\n");//\101是转义字符
	printf("\x9\n");//\x9是转义字符
	return 0;
}

上面的代码仍然会输出三行,但是后面的注释会帮助我们理解。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值