欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語言 詳細(xì)講解接續(xù)符和轉(zhuǎn)義符的使用

 更新時(shí)間:2022年04月19日 16:31:22   作者:清風(fēng)自在 流水潺潺  
接續(xù)符是用來告訴編譯器行為的符號(hào),那編譯器遇到接續(xù)符是什么行為呢,就是去掉接續(xù)符,然后把下一行連接到現(xiàn)在這行上面,轉(zhuǎn)義符是主要用于表示無回顯字符,也用于表示常規(guī)字符,轉(zhuǎn)義符必須放在單引號(hào)或者雙引號(hào)里面

一、接續(xù)符的意義

C語言中的接續(xù)符(\)是指示編譯器行為的利器

下面看一段接續(xù)符的代碼(代碼1-1):

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

可以看到上述代碼寫的很凌亂,但是可以正常編譯運(yùn)行,如下:

二、接續(xù)符的使用

  • 編譯器會(huì)將反斜杠剔除,跟在反斜杠后面的字符自動(dòng)接續(xù)到前一行
  • 在接續(xù)單詞時(shí),反斜杠之后不能有空格,反斜杠的下一行之前也不能有空格
  • 接續(xù)符適合在定義宏代碼塊時(shí)使用

所以說代碼1-1可以寫成:

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

下面看一個(gè)接續(xù)符的應(yīng)用程序:

#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;
}

可以看到,通過接續(xù)符來進(jìn)行宏定義,代碼看起來非常優(yōu)美。下面為輸出結(jié)果:

三、轉(zhuǎn)義符的意義

C語言中的轉(zhuǎn)義符(\)主要用于表示無回顯字符,也可用于表示常規(guī)字符

\n回車換行
\t橫向跳到下—制表位置
\v豎向跳格
\b退格
\r回車
\f走紙換頁
\\反斜杠符"\"
\'單引號(hào)符
\a鳴鈴
\ddd1~3位八進(jìn)制數(shù)所代表的字符
\xhh1~2位十六進(jìn)制數(shù)所代表的字符

四、轉(zhuǎn)義符的使用

當(dāng)反斜杠(\)作為轉(zhuǎn)義符使用時(shí)必須出現(xiàn)在單引號(hào)或者雙引號(hào)之間

如下:

下面看一段轉(zhuǎn)義字符的使用示例:

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

141 的十進(jìn)制表示為 97, 0x62 的十進(jìn)制表示為 98,所以打印出來的結(jié)果如下:

五、轉(zhuǎn)義符和其他的語法混合

  • 獎(jiǎng)項(xiàng):Best of Show
  • 功能:處理三種文件格式(PGM、PPM和ASCII Art)的降采樣工具,降低文件分辨率
  • 作者:Google 華裔工程師 Don Hsi-Yun Yang

下面是源碼,看起來像一個(gè)小女孩的臉:

                                       /*
                                      +
                                     +
                                    +
                                    +
                                    [         >i>n[t
                                     */   #include<stdio.h>
                        /*2w0,1m2,]_<n+a m+o>r>i>=>(['0n1'0)1;
                     */int/**/main(int/**/n,char**m){FILE*p,*q;int        A,k,a,r,i/*
                   #uinndcelfu_dset<rsitcdti_oa.nhs>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";int/**/u;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;
      /*y/riynrt~(^w^)],]c+h+a+r+*+*[n>)+{>f+o<r<(-m]    =<2<5<64;}-]-(m+;yry[rm*])/[*
       */q=(n<3||!(m[2][0]-'-'||m[2][1]))?stdout /*]{     }[*/:fopen(m[2],d+14);if(!p||/*
       "]<<*-]>y++>u>>+r >+u+++y>--u---r>++i+++"  <)<      ;[>-m-.>a-.-i.++n.>[(w)*/!q/**/)
    return+printf("Can "  "not\x20open\40%s\40"    ""       "for\40%sing\n",m[!p?1:2],!p?/*
  o=82]5<<+(+3+1+&.(+  m  +-+1.)<)<|<|.6>4>-+(>    m-        &-1.9-2-)-|-|.28>-w-?-m.:>([28+
 */"read":"writ");for  (   a=k=u= 0;y[u];  u=2    +u){y[k++   ]=y[u];}if((a=fread(b,1,1024/*
,mY/R*Y"R*/,p/*U*/)/*          R*/ )>/*U{  */   2&& b/*Y*/[0]/*U*/=='P' &&4==/*"y*r/y)r\}
*/sscanf(b,d,&k,& A,&           i,  &r)&&        !   (k-6&&k -5)&&r==255){u=A;if(n>3){/*
]&<1<6<?<m.-+1>3> +:+ .1>3+++     .   -m-)      -;.u+=++.1<0< <; f<o<r<(.;<([m(=)/8*/
u++;i++;}fprintf   (q,    d,k,           u      >>1,i>>1,r);u  = k-5?8:4;k=3;}else
  /*]>*/{(u)=/*{   p> >u  >t>-]s                >++(.yryr*/+(    n+14>17)?8/4:8*5/
     4;}for(r=i=0  ;  ;){u*=6;u+=                (n>3?1:0);if    (y[u]&01)fputc(/*
      <g-e<t.c>h.a r  -(-).)8+<1.                 >;+i.(<)<     <)+{+i.f>([180*/1*
      (r),q);if(y[u   ]&16)k=A;if                               (y[u]&2)k--;if(i/*
      ("^w^NAMORI; {   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/*
             49;7i\(w)/;}             y}ru\=*ri[        ,mc]o;n}trientuu ren (
             */]-(int)'`';}             fclose(          p);k= +fclose( q);
              /*] <*.na/m*o{ri{                       d;^w^;}  }^_^}}
               "   */   return  k-                -1+   /*\'   '-`*/
                     (   -/*}/   */0x01        );       {;{    }}
                            ;           /*^w^*/        ;}

下面為輸出結(jié)果:

六、小結(jié)

C語言中的反斜杠 (\) 同時(shí)具有接續(xù)符和轉(zhuǎn)義符的作用

  • 作為接續(xù)符使用時(shí)可直接出現(xiàn)在程序中
  • 作為轉(zhuǎn)義符使用時(shí)需出現(xiàn)在單引號(hào)或雙引號(hào)之間

到此這篇關(guān)于C語言 詳細(xì)講解接續(xù)符和轉(zhuǎn)義符的使用的文章就介紹到這了,更多相關(guān)C語言 接續(xù)符內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C語言實(shí)現(xiàn)掃雷小游戲簡單版

    C語言實(shí)現(xiàn)掃雷小游戲簡單版

    這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)掃雷小游戲簡單版,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • C語言計(jì)算連續(xù)無序數(shù)組中缺省數(shù)字方法詳解

    C語言計(jì)算連續(xù)無序數(shù)組中缺省數(shù)字方法詳解

    這篇文章主要介紹了C語言計(jì)算連續(xù)無序數(shù)組中缺省數(shù)字方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2023-02-02
  • C語言字母轉(zhuǎn)換大小寫的3種方法圖文詳解

    C語言字母轉(zhuǎn)換大小寫的3種方法圖文詳解

    我們在C語言入門的時(shí)候都會(huì)遇到要求寫大小寫轉(zhuǎn)換的題目,所以下面這篇文章主要給大家介紹了關(guān)于C語言字母轉(zhuǎn)換大小寫的3種方法,文中給了詳細(xì)的代碼示例,需要的朋友可以參考下
    2023-10-10
  • C語言使用函數(shù)實(shí)現(xiàn)字符串部分復(fù)制問題

    C語言使用函數(shù)實(shí)現(xiàn)字符串部分復(fù)制問題

    這篇文章主要介紹了C語言使用函數(shù)實(shí)現(xiàn)字符串部分復(fù)制問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • 用C語言的泛型實(shí)現(xiàn)交換兩個(gè)變量值

    用C語言的泛型實(shí)現(xiàn)交換兩個(gè)變量值

    在日常編程里面經(jīng)常會(huì)遇到交換兩個(gè)變量的內(nèi)容的任務(wù),對(duì)于泛型類型而言有兩種泛型策略來實(shí)現(xiàn),下面跟著小編一起來學(xué)習(xí)學(xué)習(xí)。
    2016-08-08
  • C語言示例講解while循環(huán)語句的用法

    C語言示例講解while循環(huán)語句的用法

    在不少實(shí)際問題中有許多具有規(guī)律性的重復(fù)操作,因此在程序中就需要重復(fù)執(zhí)行某些語句。一組被重復(fù)執(zhí)行的語句稱之為循環(huán)體,C語言while語句可以是單個(gè)語句,也可以是一個(gè)語句塊,其條件可以是任意表達(dá)式,true是任意非零值,當(dāng)條件為真時(shí),循環(huán)進(jìn)行迭代
    2022-06-06
  • 基于C語言實(shí)現(xiàn)簡單的走迷宮游戲

    基于C語言實(shí)現(xiàn)簡單的走迷宮游戲

    這篇文章主要介紹了基于C語言實(shí)現(xiàn)簡單的走迷宮游戲,用到雙向隊(duì)列,方便在運(yùn)行完畢后輸出經(jīng)過的點(diǎn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-04-04
  • 詳解C++中特殊類設(shè)計(jì)

    詳解C++中特殊類設(shè)計(jì)

    這篇文章主要為大家詳細(xì)介紹了C++中關(guān)于特殊類設(shè)計(jì)的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)C++有一定的幫助,感興趣的可以了解一下
    2023-07-07
  • C++ Boost MultiIndex使用詳細(xì)介紹

    C++ Boost MultiIndex使用詳細(xì)介紹

    Boost是為C++語言標(biāo)準(zhǔn)庫提供擴(kuò)展的一些C++程序庫的總稱。Boost庫是一個(gè)可移植、提供源代碼的C++庫,作為標(biāo)準(zhǔn)庫的后備,是C++標(biāo)準(zhǔn)化進(jìn)程的開發(fā)引擎之一,是為C++語言標(biāo)準(zhǔn)庫提供擴(kuò)展的一些C++程序庫的總稱
    2022-11-11
  • C語言調(diào)試手段:鎖定錯(cuò)誤的實(shí)現(xiàn)方法

    C語言調(diào)試手段:鎖定錯(cuò)誤的實(shí)現(xiàn)方法

    本篇文章是對(duì)在C語言調(diào)試中,鎖定錯(cuò)誤的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05

最新評(píng)論