我的编程空间,编程开发者的网络收藏夹
学习永远不晚

C语言详细讲解接续符和转义符的使用

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

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

C语言详细讲解接续符和转义符的使用

一、接续符的意义

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

下面看一段接续符的代码(代码1-1):

#in\
clud\
e <st\
dio.h>
in\
t m\
ain(\
)
{
pri\
ntf\
    (\
    "Hello AutumnZe.\n"
    )\
    ;  
ret\
urn 0;
}

可以看到上述代码写的很凌乱,但是可以正常编译运行,如下:

二、接续符的使用

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

所以说代码1-1可以写成:

#include <stdio.h>
 
int main()
{
printf    (    "Hello AutumnZe.\n"
    )    ;
    
return 0;
}

下面看一个接续符的应用程序:

#include<stdio.h>
 
#define SWAP(a,b)       \
{                       \
        int temp = a;   \
        a = b;          \
        b = temp;       \
}
 
int main()
{
    int a = 1;
    int b = 2;
    int c = 3;
    
    SWAP(a,b);
    
    printf("a = %d, b = %d\n", a, b);
    
    SWAP(b,c);
    
    printf("b = %d, c = %d\n", b, c);
    
    return 0;
}

可以看到,通过接续符来进行宏定义,代码看起来非常优美。下面为输出结果:

三、转义符的意义

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

\n回车换行
\t横向跳到下—制表位置
\v竖向跳格
\b退格
\r回车
\f走纸换页
\\反斜杠符"\"
\'单引号符
\a鸣铃
\ddd1~3位八进制数所代表的字符
\xhh1~2位十六进制数所代表的字符

四、转义符的使用

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

如下:

下面看一段转义字符的使用示例:

#include <stdio.h>
 
int main()
{
    char enter = '\n';
    char* p = "\141\t\x62";
    printf("%s", p);
    printf("%c", enter);
    return 0;
}

141 的十进制表示为 97, 0x62 的十进制表示为 98,所以打印出来的结果如下:

五、转义符和其他的语法混合

  • 奖项:Best of Show
  • 功能:处理三种文件格式(PGM、PPM和ASCII Art)的降采样工具,降低文件分辨率
  • 作者:Google 华裔工程师 Don Hsi-Yun Yang

下面是源码,看起来像一个小女孩的脸:

                                          #include<stdio.h>
                        intmain(intn,char**m){FILE*p,*q;int        A,k,a,r,i;char*d="P%"   "d\n%d\40%d"
                 "\n%d\n\00wb+",b[1024],y[]="yuriyurarararayuruyuri*daijiken**akkari~n**"
          "/y*u*k/riin<ty(uyr)g,aur,arr[a1r2a82*y2*/u*r{uyu}riOcyurhiyua**rrar+*arayra*="
       "yuruyurwiyuriyurara'rariayuruyuriyuriyu>rarararayuruy9uriyu3riyurar_aBrMaPrOaWy^?"
      "*]/f]`;hvroai<dp/f*i*s/<ii(f)a{tpguat<cahfaurh(+uf)a;f}vivn+tf/g*`*w/jmaa+i`ni(""i+k[>+b+i>++b++>l[rb";intu;for(i=0;i<101;i++)y[i*2]^="~hktrvg~dmG*eoa+%squ#l2"
     ":(wn\"1l))v?wM353{/Y;lgcGp`vedllwudvOK`cct~[|ju {stkjalor(stwvne\"gt\"yogYURUYURI"[
     i]^y[i*2+1]^4;p=(n>1&&(m[1][0]-'-'||m[1][1]  !='\0'))?fopen(m[1],y+298):stdin;
      q=(n<3||!(m[2][0]-'-'||m[2][1]))?stdout :fopen(m[2],d+14);if(!p||!q)
    return+printf("Can "  "not\x20open\40%s\40"    ""       "for\40%sing\n",m[!p?1:2],!p?"read":"writ");for  (   a=k=u= 0;y[u];  u=2    +u){y[k++   ]=y[u];}if((a=fread(b,1,1024,p) )>   2&& b[0]=='P' &&4==sscanf(b,d,&k,& A,&           i,  &r)&&        !   (k-6&&k -5)&&r==255){u=A;if(n>3){
u++;i++;}fprintf   (q,    d,k,           u      >>1,i>>1,r);u  = k-5?8:4;k=3;}else
  {(u)=+(    n+14>17)?8/4:8*5/
     4;}for(r=i=0  ;  ;){u*=6;u+=                (n>3?1:0);if    (y[u]&01)fputc(1*
      (r),q);if(y[u   ]&16)k=A;if                               (y[u]&2)k--;if(i==a){i=a=(u)*11
       &255;if(1&&0>=     (a=                                 fread(b,1,1024,p))&&
        ")]i>(w)-;} {                                         /i-f-(-m--M1-0.)<{"
         [ 8]==59                                       )break;i=0;}r=b[i++]
            ;u+=(+8&*
            (y+u))?(10-              r?4:2):(y[u]         &4)?(k?2:4):2;u=y[u]-(int)'`';}             fclose(          p);k= +fclose( q);
                return  k-                -1+  
                     (   -0x01        );       {;{    }}
                            ;                  ;}

下面为输出结果:

六、小结

C语言中的反斜杠 (\) 同时具有接续符和转义符的作用

  • 作为接续符使用时可直接出现在程序中
  • 作为转义符使用时需出现在单引号或双引号之间

到此这篇关于C语言 详细讲解接续符和转义符的使用的文章就介绍到这了,更多相关C语言 接续符内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

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

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

C语言详细讲解接续符和转义符的使用

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

大神讲解之充分利用c语言转义字符

  很多刚入门的小伙伴还不明白转义字符是什么,小编先为大家科普一下:转义字符当普通字符输出时会出现歧义,系统会出现编译错误,所以要在前面加上\表示将其后面的字符当作普通字符输出。  而且我们一般只要通过puts可以输出字符串,例如:  puts("123abc");  因为"123abc"对应的ASCII码值的八进制
大神讲解之充分利用c语言转义字符
2024-04-17

C语言 详细讲解#pragma的使用方法

#pragma是C语言中的预处理指令,用于告诉编译器在编译过程中采取特定的行为。以下是#pragma的使用方法的详细讲解:1. #pragma once:这个指令放在头文件的开头,作用是确保头文件只被编译一次,避免重复包含。2. #prag
2023-08-08

c语言转义字符的使用方法是什么

在C语言中,转义字符以反斜杠(\)开头,用于表示一些特殊字符或控制字符,例如换行符(\n)、制表符(\t)、回车符(\r)、退格符(\b)等。转义字符的使用方法是在需要输入特殊字符时,在字符前加上反斜杠即可。例如,要在字符串中输出换行符,可
c语言转义字符的使用方法是什么
2024-03-01

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录