C语言——转义字符

这篇具有很好参考价值的文章主要介绍了C语言——转义字符。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

C语言——转义字符

​ 转义字符(Escape character),所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示。而C中定义了一些字母前加""来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。

常见转义字符

转义字符 释义
? 在书写连续多个问号时使用,防止他们被解析成三字母词
\` 用于表示字符常量`
\" 用于表示一个字符产内部的双引号
\\ 用于表示一个反斜杠,防止它被解释为一个转义序列符
\a 警告字符,蜂鸣
\b 退格符
\f 进纸符
\n 换行
\r 回车
\t 水平制表符
\v 垂直制表符
\ddd ddd表示1~3个八进制的数字。如:\130X
\xdd dd表示2个十六进制数字。如:\x30 0

下面是它们具体的使用方法

  • ?

在某些编译器下 ,会将 “ ??) ” 解析成 三字母词 “ ] ” ,
所以在打印 “ ??) ”时,为了防止被解析成三字母词,在它前面加 " \",改成 ” ??) “ 。


  • \`

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

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

在 ’ 前面加 \ 将它转义就可以打印出来了,

像这样

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

C语言——转义字符

  • \"

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


  • \\

用来表示一个反斜杠,防止它被解释为一个转义序列符

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

printf("c:\test\test.c");

那打印出来的结果将是这样的:

C语言——转义字符

这是因为 \t 会被编译器解析为水平制表符,

正确的写法是在 \ 的前面加 \ 进行转义, 防止被解析为 \t,

printf("c:\\test\\test.c");

打印出来的结果是这样的:
C语言——转义字符


  • \a

在打印 \a 时会触发电脑上的蜂鸣器.。


  • \ddd

ddd表示1-3个八进制的数字。将ddd三个数字转换成十进制,十进制数对应的ASCAII就是结果。

猜一猜下面的代码打印出的是什么?

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

C语言——转义字符

​为什么会是X?

因为输出结果为字符型,将八进制数字130转换为十进制为88,然后输出在[ASCII表](ASCII_百度百科 (baidu.com))中对应的字符X。

如果输出类型为整型,打印的结果就是八进制130转换为十进制的结果

像这样:

printf("%d",'\130');

C语言——转义字符

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


  • \xdd

同样首先要了解的是dd表示2个十六进制数,

猜一猜下面的代码打印出的是什么?

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

C语言——转义字符

为什么是0呢?

因为输出结果为字符型,将十六进制数字30转换为十进制为48,然后输出在ASCII表中对应的字符 0。

同样的,如果输出类型为整型,打印的结果就是十六进制30转换为十进制的结果

printf("%d",'\x30');

C语言——转义字符


来看一看下面的练习题吧


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

printf("%d",strlen("qwer t"));

答案是:

C语言——转义字符

为什么是6呢?

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

所以打印的结果就是6了。


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

printf("%d",strlen("c:\test\628\test.c"));

答案是:
C语言——转义字符

为什么是14呢?

因为这个字符串中有转义字符存在。

红色方框里的部分都会被转义成一个字符,
C语言——转义字符
这里要注意这里的628不是八进制数字,62是八进制数字
八进制数字每个数字最大不能大于7,大于7就要进位了。

所以一共有14个字符文章来源地址https://www.toymoban.com/news/detail-407142.html

到了这里,关于C语言——转义字符的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【C语言】转义字符+结构语句

    一,什么是转义字符 1.1转义字符的重要性?  二,了解一下转义字符有那些 三,精讲转义字符 3.1转义字符n 3.2转义字符?  3.3转义字符 ‘和\\\"  3.3转义字符 \\\\  3.4转义字符 a,r,n  3.5转义字符 b 3.6转义字符 f和v 3.7转义字符 t  3.8转义字符ddd   3.9转义字符xdd 四,

    2024年02月15日
    浏览(26)
  • C语言-print字符串打印-转义字符妙用

    这里有两个有关打印的小知识 打印的字符串内容由两部分组成: 可见字符、转义字符 ;各种字母、数字、以及空格,均属于可见字符,“”等属于转义字符 举例: 1.直接print里面打印内容,内容直接出现 2.这里想将一行字符串拆开来展示,直接打印行不通 3.这里要用到转义

    2024年02月16日
    浏览(51)
  • C语言入门之变量、常量、字符串、转义字符

    文章目录 变量 常量 字符串 转义字符 1.变量的命名规则: 只能由字母(包括大写和小写)、数字和下划线( _ )组成。 不能以数字开头。 长度不能超过63个字符。 变量名中区分大小写的。 变量名不能使用。 2.变量的分类:         变量可以分为局部变量以及全局

    2023年04月19日
    浏览(46)
  • ELK之Logstash解析json报错 JSON parse error:Unrecognized character escape ‘x‘

    原始报错信息: 上述有说解析的nginx日志的第一行204个字符( \\\"[truncated 205 chars]; line: 1, column: 204]\\\", )无法解析: 发现就是json中的 \\\"request_body\\\": \\\"{\\\\x22equipmentId\\\\x22:1501805378853269505}\\\" request_body的只在转义的时候变成了 \\\\x22 。 在生成json格式的nginx日志上明确指定 escape=json 再次查

    2024年02月03日
    浏览(38)
  • C语言初阶之转义字符

    转义字符(Escape character) ,所有的ASCII码都可以用“”加数字(一般是8进制数字)来表示。而C语言中定义了一些字母前加\\\"\\\"来表示常见的那些不能显示的ASCII字符,如\\0,t,n等,就称为转义字符;在平常的代码编写中,printf函数经常会用到。 转义字符虽然由两个及两个以上

    2023年04月10日
    浏览(23)
  • C语言篇 -(1)初识C语言 - (5)字符串-转义字符-注释-1

    我是一名初学者,我会以我的角度来展现学习编程的一个过程,每个阶段的对知识点的理解都将写在上面,如果后续对知识点的理解有所偏差,我将会在最上面备注所要纠正的地方,并在新发布的博客上面,提醒之前哪个博客的知识点需要纠正,每个阶段全部发完之后将会总

    2023年04月24日
    浏览(35)
  • C语言王国探险记之转义字符+结构语句

    一,什么是转义字符 1.1转义字符的重要性?  二,了解一下转义字符有那些 三,精讲转义字符 3.1转义字符n 3.2转义字符?  3.3转义字符 ‘和\\\"  3.3转义字符 \\\\  3.4转义字符 a,r,n  3.5转义字符 b 3.6转义字符 f和v 3.7转义字符 t  3.8转义字符ddd   3.9转义字符xdd 四,

    2024年02月13日
    浏览(23)
  • 【C语言】转义字符(\a \b \t \v \f \r 等)

    序号 转义字符 转义功能 ASCII码值 1 \\0 空字符 0 2 a 响铃 7 3 b 退格(Backspace) 8 4 t 水平制表符(即横向跳格) 9 5 n 回车换行(Enter) 10 6 v 竖向跳格 11 7 f 换页 12 8 r 回车 13 9 \\\" 双引号(\\\") 34 10 ’ 单引号(‘’) 39 11 ? 问号(?) 63 12 \\\\ 反斜线字符() 92 13 ddd 1~3位八

    2024年02月03日
    浏览(74)
  • java中字符串如何去掉转义字符

      处理代码: 处理结果:  java:StringEscapeUtils.unescapeJava去掉转义字符_小徐也要努力鸭的博客-CSDN博客 java中字符串如何去掉转义字符 - 码农教程

    2024年02月11日
    浏览(33)
  • C# 转义字符

    ✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。 🍎个人主页:小嗷犬的博客 🍊个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。 🥭本文内容:C# 转义字符 转义字符 是一种字符,用来表示那些带有特殊含义的字

    2023年04月09日
    浏览(26)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包