C语言学习记录02- 转义字符与ASCII码两者区别与联系梳理

        作为初学者,入门c语言的过程中,转义字符和ASCAII码两者的区别与联系使我感到一点困惑。

存在的困惑:

1.该如何在C语言中使用ASCII码?为何有时要使用"\",有时又可以直接使用?

        对此,我打算重新梳理两者。

一、两者区别

        ASCII码:数据在计算机上都是通过二进制来实现数据的存储,即特定的编码用来对应特定的符号、字符。ACSCII码由美国标准化组织出台,用以统一编码规则。

        转义字符:某些ASCII码无法被打印出来(如一些代表行为的字符,退格换行等),c语言中可以使用转义序列进行表示。

图源百度百科。ASCII_百度百科

而剩余的未用此种方式表示的的ASCII码,则可以通过\ddd,\xdd这两种方式进行表示。这两种方式是ASCII码的一种特殊的表示方法。(参考书籍:《C Primer Plus》) 

二、两者联系

        ASCII码值可以由十进制、二进制、八进制、十六进制表示出来,只要数值相同,不同的进制下的数字也可以表示同样的意思。

        以使用ASCII码打印字母A为例。

        将65通过%c打印出来,会得到十进制下65对应的字母A。将65通过%c打印出来,会得到十进制下65对应的字母A。

printf("%c",65);

        而65在八进制下则是101.而要使用八进制的ASCII码,则需要用到转义字符\ddd.(ddd为三位八进制数)

printf("\101");

        在16进制下是41.(\xdd格式)(dd为两位十六进制数)

printf("\x41");

个人总结:

        C语言提供了一些转义字符,这些字符与ASCII码表中某些编码作用一致。

        要使用ASCII码,需要使用%c转化说明来告诉编译器,输入的是ASCII码而非整型。

        而要使用八进制与十六进制的ASCII码值的时候,则需要转义字符中的\ddd与\xdd来告知使用的是八进制与十六进制的ASCII码。

        个人总结理解必有粗浅错漏之处,欢迎大家批评指正~

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值