初识C语言 DAY3 【初识转义字符】


前言

本文章总结于此视频


一、转义字符

转义字符(Escape character):意为转变了原来意思的字符

这里是引用

原图链接

常用的有:\’ \" \ \n \r \t \ddd \xdd

\’

#include <stdio.h>

int main()
{
	printf("%c",''');

	return 0;
}

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

printf("%c",'\'');

这样写才对
因为转义字符属于一个字符所以用 ’ '和%c(打印字符)
注:%d----打印整型
%c—打印字符
%s—打印字符串
%f—打印float类型的数据(小数)
%lf—打印double类型的数据

\"

与 \` 用法相同,这里就不再赘述了

\\

你打印一个文件路径时,如果直接这样写:

int main()
{
	printf("c:\test\test.c");

	return 0;
}

但结果是这样:
在这里插入图片描述
因为 \t 表示水平制表符
正确的写法是在 \ 的前面加 \ 进行转义, 防止被解析为 \t
在这里插入图片描述

\ddd

ddd表示1-3个八进制的数字。将ddd三个数字转换成十进制,十进制数对应的ASCAII就是结果。
注:换算数字不能超过127,因为ASCAII表最大为127
换算方法 整数:156 = 1×8^2 + 5×8^1 + 6×8^0

在这里插入图片描述
例如:

#include <stdio.h>

int main()
{
	printf("%c", '\130');

	return 0;
}

注:\130也为字符不是字符串
输出
在这里插入图片描述
转换:
在这里插入图片描述

这里是引用
为什么会是X?
因为输出结果为字符型,将八进制数字130转换为十进制为88,然后输出在ASCII表中对应的字符X。如果输出类型为整型,打印的结果就是八进制130转换为十进制的结果

这里是引用
其实 \ddd 最多只支持三位数字,并且三位数字也不是任意的(每个数字不能大于8,一旦大于8它就不是八进制数了),一旦大于等于八进制数 '/400 '(十进制256=8进制400)就超过了ascall码的范围,编译器就会报错。另外大于三位,或者遇到非八进制数字时则转换结束,直接取末尾数字。

原文链接:https://blog.csdn.net/qq_45559559/article/details/126132152

\xdd

dd表示2个十六进制数

int main()
{
	printf("%c", '\x30');


	return 0;
}

在这里插入图片描述
换算如下:
在这里插入图片描述

习题

1.下面的代码打印的数字是多少?

#include <stdio.h>
#include <string.h> 
int main()
{
	printf("%d\n", strlen("asdf g"));
	
	return 0;
}

答案为:6

  • 首先,strlen求得是字符串长度
  • 其次,空格也是一个字符
  • 然后,字符串末尾的\0不算是字符

2.下面的代码打印的数字是多少

#include <stdio.h>
#include <string.h> 
int main()
{
	printf("%d", strlen("c:\test\628\test.c"));

	
	return 0;
}

答案为:14
因为这个字符串中有转义字符存在。
红色方框里的部分都会被转义成一个字符

这里是引用
在这里插入图片描述

原图出处

如果您发现文章有错误请与我留言,感谢

  • 29
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

马职音人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值