C/C++知识点之C语言进阶—— 接续符和转义符13
小标 2018-10-10 来源 : 阅读 1178 评论 0

摘要:本文主要向大家介绍了C/C++知识点之C语言进阶—— 接续符和转义符13,通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助。

本文主要向大家介绍了C/C++知识点之C语言进阶—— 接续符和转义符13,通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助。

接续符的意义:


C语言中的接续符 (\) 是指示编译器行为的利器

我们来看一个案例:

 1 #in 2 clud 3 e 
 5 
 6 in 7 t m 8 ain( 9 )
10 {
11 pri12 ntf13     (14     "Hello bupi\n"
15     )16     ;
17 
18 ret19 urn 0;
20 }

你一眼看过去可能会认为这个不像C语言的代码,但是他的确是的,只是大量使用了接续符,在现实中不用这样使用接续符,这只是一个例子。
有人或许会问,这样一段简单的程序使用接续符就变得这样的混乱,那我们还有必要去了解接续符吗?答案是要了解
改进前的代码:

 1 #include 
 2 
 3 #define SWAP(a,b)  { int temp = a; a = b; b = temp; }
 4 
 5 int main()
 6 {
 7     int a = 1;
 8     int b = 2;
 9     int c = 3;
10 
11     SWAP(a,b);
12 
13     printf("a = %d, b = %d\n", a, b);
14 
15     SWAP(b,c);
16 
17     printf("b = %d, c = %d\n", b, c);
18 
19     return 0;
20 }

 
 第三行是一个宏代码块,就是交换两个变量值,但是代码这样挤在一行,可读性并不好。
使用接续符改进后:

 1 #include 
 2 
 3 #define SWAP(a,b)       4 {                       5     int temp = a;       6     a = b;              7     b = temp;           8 }
 9 
10 int main()
11 {
12     int a = 1;
13     int b = 2;
14     int c = 3;
15     
16     SWAP(a,b);
17     
18     printf("a = %d, b = %d\n", a, b);
19     
20     SWAP(b,c);
21     
22     printf("b = %d, c = %d\n", b, c);
23     
24     return 0;
25 }

使用接续符改进后的宏代码块可读性大大增加了。
 
接续符的使用:

 编译器会将反斜杠剔除,跟在反斜杠后面的字符自动接续到前一行
在接续单词时,反斜杠之后不能有空格,反斜杠的下一行也不能有空格
接续符适合在定义宏代码块时使用

 
转义符的意义:C语言的转义符 (\) 主要用于表示无回显示符,也可以表示常规字符

  \n  回车换行 (本义是光标往下一行)
  \t  横向跳到下一制表位
  \v  竖向跳格
  \b  退格
  \r  回车(本义是光标重新回到本行开头)
  \f  走纸换行
  \\  反斜杠符   \
  \‘  单引号符
  \a  鸣铃
  \ddd  一至三位八进制数代表的字符
  \xhh  一至两位十六进制数所代表的字符

 
转移符的使用:当反斜杠 (\) 作为转移符使用时必须出现在单引号或者双引号之间
案例:

 1 #include 
 2 
 3 int main()
 4 {
 5     char enter = ‘\n‘;
 6     
 7     char* p = "\141\t\x62";
 8     
 9     printf("%s", p);
10     printf("%c", enter);
11     
12     return 0;
13 }

 
 小结:

C语言的反斜杠同时具有接续符和转移符的作用
作为接续符使用的时候可直接出现在程序中
作为转移符使用的时需出现在单引号或者双引号之间

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标编程语言C/C+频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 1 不喜欢 | 0
看完这篇文章有何感觉?已经有1人表态,100%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程