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

文章目录

  • 前言
  • 一、转义字符
    • \’
    • \\"
    • \\\
    • \ddd
    • \xdd
  • 习题
  • 如果您发现文章有错误请与我留言,感谢


前言

本文章总结于此视频


一、转义字符

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

这里是引用
初识C语言 DAY3 【初识转义字符】_第1张图片
原图链接

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

\’

#include 

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;
}

但结果是这样:
初识C语言 DAY3 【初识转义字符】_第2张图片
因为 \t 表示水平制表符
正确的写法是在 \ 的前面加 \ 进行转义, 防止被解析为 \t
初识C语言 DAY3 【初识转义字符】_第3张图片

\ddd

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


例如:

#include 

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

	return 0;
}

注:\130也为字符不是字符串
输出
初识C语言 DAY3 【初识转义字符】_第4张图片
转换:
初识C语言 DAY3 【初识转义字符】_第5张图片

这里是引用
为什么会是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;
}

初识C语言 DAY3 【初识转义字符】_第6张图片
换算如下:
初识C语言 DAY3 【初识转义字符】_第7张图片

习题

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

#include 
#include  
int main()
{
	printf("%d\n", strlen("asdf g"));
	
	return 0;
}

答案为:6

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

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

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

	
	return 0;
}

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

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

原图出处

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

你可能感兴趣的:(c语言,开发语言,学习)