文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

C语言转义字符如何使用

2023-06-29 22:54

关注

这篇文章主要介绍“C语言转义字符如何使用”,在日常操作中,相信很多人在C语言转义字符如何使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C语言转义字符如何使用”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

什么是转义字符

今天我们来了解一下转义字符,转义字符顾名思义就是转变意思。

现在了解一下这些字符:

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

为什么要使用这些转义字符

我们来说一下三字母词(过去有,现在使用的编译器不使用它了,所以就演示不了了),如果我们要打印一些字符,比如??),在三字母词中它对应的符号是]

     ??) --> ]
     ??( --> [

表示的是你本来想要打印的是??) 这三个符号,但是在编译器看来,它们是],所以它会给你打印出],而不是??)

那么你就想要打印出 ??) 怎么办呢?

我们只需要把??)前加一个 \

\?\?)//转义字符  \?

它可以让 变成不是三字母词中的,让它老老实实的就是一个?,所以编译器就不会打印出 ]

三字母词实在是太古老了,但是这个语法不能消失,所以我们一直都在使用转义字符

这里总结一下我们打印所用到的格式

//%d - 打印整型
//%c - 打印字符
//%s - 打印字符串
//%f - 打印float类型的数据
//%lf - 打印double类型的数据
//%zu - 打印sizeof的返回值

如果我们要打印一个字符,如下:

#include<stdio.h>int main(){printf("%c",''');   //我们来打印'return 0;}

运行结果:

出现了错误

C语言转义字符如何使用

那么出错的原因是什么?

我们来看这 ''' ,printf识别的时候,识别第一个 ' ,然后再识别一个 ' ,哎,到这里就结束了,就像识别这个字符一样'w',只要识别到一对儿',打印就会结束,但是后面还有第三个 ' 是多余的,就出错了

那么,我们使用转义字符 \' ,让'不再是一对儿'w' 里面的',就像上面的??)一样

验证一下:

#include<stdio.h>int main(){printf("%c",'\'');   //我们来打印'return 0;}//转义字符  \'

运行的结果:

C语言转义字符如何使用

再来继续了解转义字符

我们打印字符串有两个形式:

#include<stdio.h>int main(){printf("%s\n","abcdef"); //形式一printf("abcdef");        //形式二return 0;}

第二种形式不能直接像下面这样打印:

printf(2123456)//错误的

如果我们在abcdef中间加一个\0,但因为它代表的是换行,所以我们需要让它失效,让\0就是\0,没有其他含义,只需要这样就可以了:

#include<stdio.h>int main(){printf("%s\n","abc\\0def"); //形式一printf("abc\\0def");        //形式二return 0;}//转义字符  \\

上面那个表里的转义字符都是这样子来使用的

来练习一个题

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

它的输出结果是什么?

答案解析:

strlen:获取字符串的有效长度,不包括&rsquo;\0&rsquo;

“c:\test\121”: 在该字符串中,\t是转移字符,水平制表,跳到下一个tab的位置;而\121表示一个字符,是讲121看做8进制数组,转换为10进制后的81,作业为ASCII码值的字符,即:字符&rsquo;Q&rsquo; ,故上述字符串实际为:“c: esty”,只有7个有效字符

如果我们真的要打印c:\test\121,需要变成c:\\test\\121,这样就可以把c:\test\121给打印出来

关于转义字符,我们只需要记住特殊的就行,没有必要全部记忆,我们以后是会用到一些的

到此,关于“C语言转义字符如何使用”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯