如何了解转义字符和字符串的细节运用?

1.什么是转义字符呢?

转义字符是一组特殊的字符

转义字符顾名思义:转变原来的意思的字符

例如:‘n’ 原本就是简单字符 n  如果加上/

那么/n转变换行的意思

2.那么转义字符有那些呢?

  • \?:在书写连续多个问号时使用,防止他们被解析成三字母词,在新编译器上无法验证

三字母词

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

3fd458e9e9414578b76a3de1c5bf7b0a.jpg

 

  • \’  :表示字符常量’
  • a308599635ef4f169377bdfa8cab01f2.jpg
  • \” :    表示双引号”
  • b04186fae1ac44d8a321279afe2db77e.jpg
  • \\:用于表示一个反斜杠,防止它被解释为一个转义序列符。
  • \a:警报,这会使得终端发出警报声或出现闪烁,或者两者同时发生。\b:退格键,光标回退一个字符,但不删除字符。
  • \f:换页符,光标移到下一页。在现代系统上,这已经反映不出来了,行为改成类似于\n:换行符。
  • r:回车符,光标移到同一行的开头。
  • \t:制表符,光标移到下一个水平制表位,通常是下一个4/8的倍数。\v:垂直分隔符,光标移到下一个垂直制表位,通常是下一行的同一列。
  • 4a0c785bd8ac4cb8abfe44607d9f925b.jpg
  • \v:垂直分隔符,光标移到下一个垂直制表位,通常是下一行的同一列。

  • 下列是两种易错专义字符

  • \ddd:ddd表示1~3个八进制的数字。如  \130表示字符X
  • 6e3af382e6fd4f20b29e3792631f4330.jpg
  • 一定要加\
  • 不然结果不一样   如图:
  • 23b3cdfff7a743a49666ff86755f7331.jpg
  • \xdd:    dd表示2个十六进制数字。    如:\x30 表示字符0    
  • 5d9d92019d854682b0446fc8cb23e516.jpg
    \0: null 字符,代表没有内容,\0就是\ddd这类转义字符的一种,用于字符串的结术 ASCII码值是0.

 3.字符串和\0的作用分别是什么?
C语言中如何表示字符串呢?使用双引号括起中的一串字符就被称为字符串,如:"abcdef”,是一个字符串。
字符串的打印格式可以使用%s来指定,也可以直接打印如下:
 457f87c0e3984bb284b2b9a84b29acc4.jpg

82b6bf88573c47a18ca04ac28fb81722.jpg

C言字符串中一个特殊的知识,就是在字符串的末尾隐藏放着一个\0字符,这个字符是字符串吉束标志。

对于字符串"abcdef",我们实际上看到了6个字符:a,b,c,d,e,f,但是实际上在末尾还隐藏一个转义字符,\0是字符串的结束标志。所以我们在使用库函数printf()打印字符串或者 strlen()计算字符串长度的时候,遇到\的时候就自动停止了。

C语言中也可以把一个字符串放在一个字符数组中,我们在这里利用下面的代码验证一下\0功能

775b72c2a9b248f09656a52b49bd7b9a.jpg

因为数组arr1无\0,故系统在abc后面继续生成随便值,无法停止

67a7232241324aceb67ccbfe07db6656.jpg如果arr1加上\0

如图: 

8b7fc6eb502f4d99884a82c375ab8599.jpg

结果:

61562a66428c46a5934b9c9432f646ff.jpg 

新手易错点: 

arr1中各字符之间的  ,号容易忘掉

如图为错误示范

fa3e39857c764fb988dee35e7f0f0abb.jpg

876177bf47384847a6d0abc681caebac.jpg 

 

 

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值