<optgroup id="r9hwm"></optgroup><nav id="r9hwm"><label id="r9hwm"></label></nav>

    <tt id="r9hwm"><tr id="r9hwm"></tr></tt>
  1. 
    
  2. <optgroup id="r9hwm"><samp id="r9hwm"><dl id="r9hwm"></dl></samp></optgroup>

  3. <optgroup id="r9hwm"><samp id="r9hwm"><dl id="r9hwm"></dl></samp></optgroup>

        1. <listing id="r9hwm"></listing>
          <delect id="r9hwm"></delect>
          <optgroup id="r9hwm"><samp id="r9hwm"><ol id="r9hwm"></ol></samp></optgroup>

          條件編譯語句

          C語言中條件編譯的作用

          條件編譯屬于三種宏定義中的一種,條件指示符的最主要目的是防止頭文件的重復包含和編譯,例如:一個c文件包含同一個h文件多次,如果不加#ifndef宏定義,會出現變量重復定義的錯誤

          條件編譯常用的有四個預處理命令:#if、#else、#elif、#endif。

          #if指令的形式為:

          #if 常量表達式

          代碼塊

          #endif#if后面的常量表達式為值,則編譯它與#endif之間的代碼,否則跳過這些代碼。指令#endif標識一個#if塊的結束。

          #else被使用來標志#if的末尾和#else塊的開始。這是必須的,因為任何#if僅有一個#endif與之關聯。

          #elif意指"else if",它形成一個if else if嵌套語句用于多種編譯選擇。#elif后面跟一個常量表達式,如果表達式是真,則編譯其后的代碼塊,不對其他#elif表達式進行檢測,否則順序測試下一塊。常見的形式如下:

          形式1:

          #ifdef 標識符

          /*程序段 1*/

          #else

          /*程序段 2*/

          #endif它的作用是當標識符已經由#define定義過了,則編譯程序段1,否則編譯程序段2,也可以使用簡單形式

          #ifdef 標識符

          /*程序段1*/

          #endif

          形式2:

          #ifndef 標識符

          #define 標識符

          /*程序段 1*/

          #else

          /*程序段 2*/

          #endif 它的作用是當標識符沒有由#define定義過,則編譯程序段1,否則編譯程序段2 ,也可以使用簡單形式

          #ifndef 標識符

          #define 標識符

          /*程序段 1*/

          # endif形式3:

          #if 表達式

          /*程序段 1*/

          #else

          *程序段 2*/

          # endif 它的作用是 當“表達式”值為真時編譯程序段1。否則則編譯程序段2,也可以使用簡單形式

          # if 表達式

          /*程序段 1*/

          # endif形式4:

          #if 表達式1

          /*程序段 1*/

          #elif 表達式2

          /*程序段 2*/

          #elif 表達式n

          /*程序段n */

          #endif 它的作用是當“表達式1”值為1時編譯程序段1,表達式2的值為真是編譯程序段2,否則依次順序判斷到表達式n。

          最后,條件編譯的條件是一個常量表達式,支持邏輯與&&和或||運算。以上四種形式的條件編譯預處理結構都可以嵌套使用,

          標識符: 在理論上來說可以是自由命名的,但每個頭文件的這個標識符都應該是唯一的。標識的命名規則一般是頭文件名全大寫,前后加下劃線,并把文件名中的“.”也變成下劃線,如:stdio.h。

          #ifndef _STDIO_H_

          #define _STDIO_H_

          /*程序段 */

          #endif

          c語言中,什么是條件編譯

          條件編譯屬于三種宏定義中的一種,條件指示符的最主要目的是防止頭文件的重復包含和編譯,例如:一個c文件包含同一個h文件多次,如果不加#ifndef宏定義,會出現變量重復定義的錯誤條件編譯常用的有四個預處理命令:#if、#else、#elif、#endif。

          #if指令的形式為:#if 常量表達式代碼塊#endif#if后面的常量表達式為值,則編譯它與#endif之間的代碼,否則跳過這些代碼。指令#endif標識一個#if塊的結束。

          #else被使用來標志#if的末尾和#else塊的開始。這是必須的,因為任何#if僅有一個#endif與之關聯。

          #elif意指"else if",它形成一個if else if嵌套語句用于多種編譯選擇。#elif后面跟一個常量表達式,如果表達式是真,則編譯其后的代碼塊,不對其他#elif表達式進行檢測,否則順序測試下一塊。

          常見的形式如下:形式1: #ifdef 標識符 /*程序段 1*/ #else /*程序段 2*/ #endif它的作用是當標識符已經由#define定義過了,則編譯程序段1,否則編譯程序段2,也可以使用簡單形式 #ifdef 標識符 /*程序段1*/ #endif 形式2: #ifndef 標識符 #define 標識符 /*程序段 1*/ #else /*程序段 2*/ #endif 它的作用是當標識符沒有由#define定義過,則編譯程序段1,否則編譯程序段2 ,也可以使用簡單形式 #ifndef 標識符 #define 標識符 /*程序段 1*/ # endif形式3: #if 表達式 /*程序段 1*/ #else *程序段 2*/ # endif 它的作用是 當“表達式”值為真時編譯程序段1。否則則編譯程序段2,也可以使用簡單形式 # if 表達式 /*程序段 1*/ # endif形式4: #if 表達式1 /*程序段 1*/ #elif 表達式2 /*程序段 2*/ 。

          。 #elif 表達式n /*程序段n */ #endif 它的作用是當“表達式1”值為1時編譯程序段1,表達式2的值為真是編譯程序段2,否則依次順序判斷到表達式n。

          最后,條件編譯的條件是一個常量表達式,支持邏輯與&&和或||運算。以上四種形式的條件編譯預處理結構都可以嵌套使用,標識符: 在理論上來說可以是自由命名的,但每個頭文件的這個標識符都應該是唯一的。

          標識的命名規則一般是頭文件名全大寫,前后加下劃線,并把文件名中的“.”也變成下劃線,如:stdio.h。#ifndef _STDIO_H_#define _STDIO_H_/*程序段 */#endif。

          C語言中條件編譯的實例

          條件編譯命令最常見的形式為:

          #ifdef 標識符

          程序段1

          #else

          程序段2

          #endif

          它的作用是:當標識符已經被定義過(一般是用#define命令定義),則對程序段1進行編譯,否則編譯程序段2。

          其中#else部分也可以沒有,即:

          #ifdef

          程序段1

          #endif

          這里的“程序段”可以是語句組,也可以是命令行。這種條件編譯可以提高C源程序的通用性。如果一個C源程序在不同計算機系統上系統上運行,而不同的計算機又有一定的差異。例如,我們有一個數據類型,在Windows平臺中,應該使用long類型表示,而在其他平臺應該使用float表示,這樣往往需要對源程序作必要的修改,這就降低了程序的通用性。

          條件語句課后練習題-一道C語言練習題利用條件編譯實現:如果輸入

          #include void main() { int a,b,c,e; printf("你要輸入幾個數字:"); scanf("%d",&a); if(a==2) { printf("輸入兩個數字:"); scanf("%d%d",&b,&c); e=b;b=c;c=e; } else if(a==3) { printf("輸入三個數字:"); scanf("%d%d%d",&b,&c,&e); if(b>c&&c>e) printf("%d%d",b,c); if(b>e&&e>c) printf("%d%d",b,e); if(e>c&&c>b) printf("%d%d",e,c); } }。

          C語言中條件編譯和If語句之間的差別,各適用于什么情況

          條件編譯是C語言中預處理部分的內容,它是編譯器編譯代碼時最先處理的部分,

          條件編譯里面有判斷語句,比如 #if 、#else 、#elif 及 #endif

          它的意思是如果宏條件符合,編譯器就編譯這段代碼,否則,編譯器就忽略這段代碼而不編譯,如

          #define A 0 //把A定義為0

          #if (A > 1)

          printf("A > 1"); //編譯器沒有編譯該語句,該語句不生成匯編代碼

          #elif (A == 1)

          printf("A == 1"); //編譯器沒有編譯該語句,該語句不生成匯編代碼

          #else

          printf("A 1)

          printf("A > 1"); //編譯器編譯該語句,但因為A == 0 未執行

          else if(A == 1)

          printf("A == 1"); //編譯器編譯該語句,但因為A == 0 未執行

          else

          printf("A

          C++ if()是不是條件編譯指令

          if()屬于判斷語句,不是條件編譯指令。

          與if類似的條件編譯指令為#if和#ifdef。

          條件編譯指令屬于預編譯語句,即編譯器在執行編譯工作時,會第一步處理預編譯語句,之后再進行剩余的編譯工作。

          在C語言中,所有的預編譯語句都是以#開頭的,如#define, #undef,#if等等。

          條件編譯指令包括以下幾項:

          1 #if

          當后續的參數為真時執行編譯。

          2 #ifdef/#ifndef

          #ifdef當后續的宏定義被定義時執行編譯。

          #ifndef當后續的宏定義沒有被定義時執行編譯。

          3 #elif

          與C語言語句中的else if類似,與#if或#ifdef連用,當后續參數為真時執行編譯。

          4 #endif

          用于條件編譯結尾,表示條件編譯結束。

          C語言中的條件編譯有什么作用

          條件編譯就是為了實現在滿足一定條件時編譯某一組語句,而再不滿足條件時編譯另一組語句!事實上,它確實與條件語句相似,但是它們是不一樣的。

          條件語句中的各個語句都是要經過編譯的,而條件編譯中的部分語句不需要進行編譯(請注意這兒是編譯不是執行)。條件編譯的作用在編寫大型程序的時候就會相當的明顯,因為它可以減少被編譯的語句,從而減少目標程序的長度,減少運行時間。

          具體怎樣使用的話,這個你最好看一些教程,要想在這個地方給你講清還是比較麻煩的。不過總體來講它還是比較簡單的,你看教程的話應該比較容易看懂!。

          C語言中條件編譯有哪幾種形式

          預處理程序提供了條件編譯的功能。

          可以按不同的條件去編譯 不同的程序部分,因而產生不同的目標代碼文件。 這對于程序的移 植和調試是很有用的。

          條件編譯有三種形式,下面分別介紹: 1. 第一種形式: #ifdef 標識符 程序段1 #else 程序段2 #endif 它的功能是,如果標識符已被 #define命令定義過則對程序段1 進行編譯;否則對程序段2進行編譯。 如果沒有程序段2(它為空),本格式中的#else可以沒有, 即可 以寫為: #ifdef 標識符 程序段 #endif #define NUM ok main(){ struct stu { int num; char *name; char sex; float score; } *ps; ps=(struct stu*)malloc(sizeof(struct stu)); ps->num=102; ps->name="Zhang ping"; ps->sex='M'; ps->score=62.5; #ifdef NUM printf("Number=%d\nScore=%f\n",ps->num,ps->score); #else printf("Name=%s\nSex=%c\n",ps->name,ps->sex); #endif free(ps); } 由于在程序的第16行插入了條件編譯預處理命令, 因此要根據 NUM是否被定義過來決定編譯那一個printf語句。

          而在程序的第一行 已對NUM作過宏定義,因此應對第一個printf語句作編譯故運行結果 是輸出了學號和成績。 在程序的第一行宏定義中,定義NUM表示字符串OK,其實也可以 為任何字符串,甚至不給出任何字符串,寫為: #define NUM 也具有同樣的意義。

          只有取消程序的第一行才會去編譯第二個 printf語句。讀者可上機試作。

          2. 第二種形式: #ifndef 標識符 程序段1 #else 程序段2 #endif 與第一種形式的區別是將“ifdef”改為“ifndef”。它的功能 是,如果標識符未被#define命令定義過則對程序段1進行編譯, 否 則對程序段2進行編譯。

          這與第一種形式的功能正相反。 3. 第三種形式: #if 常量表達式 程序段1 #else 程序段2 #endif 它的功能是,如常量表達式的值為真(非0),則對程序段1 進行 編譯,否則對程序段2進行編譯。

          因此可以使程序在不同條件下,完 成不同的功能。 #define R 1 main(){ float c,r,s; printf ("input a number: "); scanf("%f",&c); #if R r=3.14159*c*c; printf("area of round is: %f\n",r); #else s=c*c; printf("area of square is: %f\n",s); #endif } 本例中采用了第三種形式的條件編譯。

          在程序第一行宏定義中, 定義R為1,因此在條件編譯時,常量表達式的值為真, 故計算并輸 出圓面積。 上面介紹的條件編譯當然也可以用條件語句來實現。

          但是用條 件語句將會對整個源程序進行編譯,生成的目標代碼程序很長, 而 采用條件編譯,則根據條件只編譯其中的程序段1或程序段2, 生成 的目標程序較短。如果條件選擇的程序段很長, 采用條件編譯的方 法是十分必要的。

          ☆本章小結☆ 1. 預處理功能是C語言特有的功能,它是在對源程序正式編譯前由 預處理程序完成的。程序員在程序中用預處理命令來調用這些功 能。

          2. 宏定義是用一個標識符來表示一個字符串,這個字符串可以是常 量、變量或表達式。在宏調用中將用該字符串代換宏名。

          3. 宏定義可以帶有參數,宏調用時是以實參代換形參。而不是“值 傳送”。

          4. 為了避免宏代換時發生錯誤,宏定義中的字符串應加括號,字符 串中出現的形式參數兩邊也應加括號。 5. 文件包含是預處理的一個重要功能,它可用來把多個源文件連接 成一個源文件進行編譯,結果將生成一個目標文件。

          6. 條件編譯允許只編譯源程序中滿足條件的程序段,使生成的目標 程序較短,從而減少了內存的開銷并提高了程序的效率。 7. 使用預處理功能便于程序的修改、閱讀、移植和調試,也便于實 現模塊化程序設計。

          轉載請注明出處華閱文章網 » 條件編譯語句

          短句

          sql語句執行工具

          閱讀(265)

          如何計算SQL語句執行時間 一、按照BAIDU.GOOGLE及CSDN等搜索結果 在SQL語句前面加上了這一句: 經查詢,SET STATISTICS TIME ON命令報告下面的查詢的實際占用時間和CPU使用情

          短句

          英語句子斷句

          閱讀(317)

          讀英語句子怎么斷句 英語斷句規則 2007-05-13 21:09 英語語音斷句規則 1. 有標點的地方常是斷句所在。如: John Smith, /our teacher,/ came in/ with a book in his hand. Our te

          短句

          古城夜景語句

          閱讀(269)

          形容鳳凰古城夜景的語句有哪些 傍晚,徜徉在光可鑒人的鳳凰古城石板街道上,摩肩接踵的游客沒有慣常鬧市中的喧囂,而是全都悄言細語地感受這古樸民居的無限韻致,你會覺得古城有

          短句

          英語句子紋身

          閱讀(341)

          英文“紋身”的句子有哪些 1、ALL OR NOTHING.孤注一擲 2、Constant dripping wears away the stone.鍥而不舍,金石可鏤. 3、Follow your own course,and let people talk.

          短句

          英語句子訓練

          閱讀(339)

          英語句子成分練習試題及答案 Exercises 分析下列句子成分 1. Our school is not far from my home. 2. It is a great pleasure to talk with you 3. All of us considere

          短句

          殺破狼經典語句

          閱讀(346)

          殺破狼貪狼好看嗎殺破狼貪狼經典對白大盤點 殺破狼貪狼好看嗎 殺破狼貪狼經典對白盤點 由古天樂和吳樾等主演的電影《殺破狼貪狼》正在熱映中,那么殺破狼貪狼好看嗎?下面為

          短句

          夸獎男人的經典語句

          閱讀(292)

          贊美男人的經典語句 溫柔.體貼..幽默.顧家..能干 男人要有骨氣 男人要有激情 男人要有才華 男人要堅強 男人要幽默 男人要有智慧 男人要踏實 男人要善良 男人要有夢想 男人要有霸氣 男人要豁達 男人要英明 男人要有野心(小心點的野心哈)

          短句

          歡迎客人的熱情語句

          閱讀(310)

          客人來了如何熱情接待客人寫一段話70字 可以說:請進,歡迎您光臨寒舍,照顧不周的地方請多多擔待,希望您能玩的愉快。 有朋自遠方來,不亦樂乎~可是現在家里很少來人,哪天突然來個

          短句

          新征程語句

          閱讀(250)

          形容新起點的句子有哪些1、人只有在不斷追求中才能得到滿足。像愛情一樣,詩、哲學、科學的真正精神恰恰就是不斷地追求,永遠站在起跑線上。(趙鑫珊)2、在躍向未來的賽跑中,窮國和富國站在同一條起跑線上。(阿爾溫·托夫勒)3、入世之初就應該立

          短句

          日語句子軟件

          閱讀(316)

          能推薦幾個學習日語的免費軟件嗎 其實,我也不是日語專業的,只是在看日本動漫時悄悄喜歡上了日語,然后再課余閑暇時隨意的學習一些。我在網絡上找了一些,但是不多,你可以試一試,希望能給你帶去好運和一些幫助吧。 一、日語五十音速成一日通 V

          短句

          sql語句判斷函數

          閱讀(273)

          SQL語句的幾個常用函數 1、sql中sum和count的區別 ----sql聚合函數 (1)首先,sum是對一個字段求和,hive中字段的類型一般是string或者是int,如果是int當然沒有問題,如果是string類型但是全部是數字也沒有問題,但是如果

          短句

          英語句子賞析

          閱讀(302)

          一個英文句子分析This process is known as departmentalization。這句話的意思。簡短的講就是 。這種進程叫做部門化。。。那是什么的進程呢? of grouping individuals into separate u

          短句

          自殺語句

          閱讀(328)

          關于自殺的句子,不要正面的要負面的 站在樓頂上,一眼看去都是燈火闌珊,車來車往,充滿著城市夜生活的繁華,但這一切都與我無關,今晚是結束我人生的一刻。?終于沒有遺憾,我的情緒

          短句

          可惜的語句

          閱讀(247)

          描寫“可惜”的詩句有哪些 最著名的詩句我想就是“夕陽無限好,只是近黃昏”了。其次“可惜歡娛地,都非少壯時”、“可憐白發生”也不錯。(一)夕陽無限好,只是近黃昏。“夕陽無

          短句

          sql語句執行工具

          閱讀(265)

          如何計算SQL語句執行時間 一、按照BAIDU.GOOGLE及CSDN等搜索結果 在SQL語句前面加上了這一句: 經查詢,SET STATISTICS TIME ON命令報告下面的查詢的實際占用時間和CPU使用情

          短句

          英語句子斷句

          閱讀(317)

          讀英語句子怎么斷句 英語斷句規則 2007-05-13 21:09 英語語音斷句規則 1. 有標點的地方常是斷句所在。如: John Smith, /our teacher,/ came in/ with a book in his hand. Our te

          短句

          英語句子訓練

          閱讀(339)

          英語句子成分練習試題及答案 Exercises 分析下列句子成分 1. Our school is not far from my home. 2. It is a great pleasure to talk with you 3. All of us considere

          短句

          英語句子紋身

          閱讀(341)

          英文“紋身”的句子有哪些 1、ALL OR NOTHING.孤注一擲 2、Constant dripping wears away the stone.鍥而不舍,金石可鏤. 3、Follow your own course,and let people talk.

          短句

          古城夜景語句

          閱讀(269)

          形容鳳凰古城夜景的語句有哪些 傍晚,徜徉在光可鑒人的鳳凰古城石板街道上,摩肩接踵的游客沒有慣常鬧市中的喧囂,而是全都悄言細語地感受這古樸民居的無限韻致,你會覺得古城有

          短句

          殺破狼經典語句

          閱讀(346)

          殺破狼貪狼好看嗎殺破狼貪狼經典對白大盤點 殺破狼貪狼好看嗎 殺破狼貪狼經典對白盤點 由古天樂和吳樾等主演的電影《殺破狼貪狼》正在熱映中,那么殺破狼貪狼好看嗎?下面為

          短句

          表達爽的語句

          閱讀(305)

          形容自己很爽的句子 形容自己很開心的17個句子1.This is too good to be true.這簡直不敢讓人相信。2. Nothing could be more wonderful.沒有比這更讓人高興的了。3. I made it!我成功了。4

          短句

          夸獎男人的經典語句

          閱讀(292)

          贊美男人的經典語句 溫柔.體貼..幽默.顧家..能干 男人要有骨氣 男人要有激情 男人要有才華 男人要堅強 男人要幽默 男人要有智慧 男人要踏實 男人要善良 男人要有夢想 男人要有霸氣 男人要豁達 男人要英明 男人要有野心(小心點的野心哈)

          <optgroup id="r9hwm"></optgroup><nav id="r9hwm"><label id="r9hwm"></label></nav>

            <tt id="r9hwm"><tr id="r9hwm"></tr></tt>
          1. 
            
          2. <optgroup id="r9hwm"><samp id="r9hwm"><dl id="r9hwm"></dl></samp></optgroup>

          3. <optgroup id="r9hwm"><samp id="r9hwm"><dl id="r9hwm"></dl></samp></optgroup>

                1. <listing id="r9hwm"></listing>
                  <delect id="r9hwm"></delect>
                  <optgroup id="r9hwm"><samp id="r9hwm"><ol id="r9hwm"></ol></samp></optgroup>
                  亚洲丰满少妇xxxxx高潮