欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      《c語言程序設(shè)計(jì)新視角》第九章編譯預(yù)處理小結(jié)

      時(shí)間:2019-05-13 18:59:30下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《《c語言程序設(shè)計(jì)新視角》第九章編譯預(yù)處理小結(jié)》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《《c語言程序設(shè)計(jì)新視角》第九章編譯預(yù)處理小結(jié)》。

      第一篇:《c語言程序設(shè)計(jì)新視角》第九章編譯預(yù)處理小結(jié)

      《c語言程序設(shè)計(jì)新視角》第九章 編譯預(yù)處理小結(jié) 編譯是把語句翻譯成機(jī)器碼,預(yù)編譯是在譯碼前進(jìn)行的處理法,文件包含把已有的文件為我所用來添加,宏定義的作用是替換,方便程序編輯的好方法,條件編譯可實(shí)現(xiàn)按需編譯,方便調(diào)試讓代碼適應(yīng)性更佳。

      第二篇:C語言程序設(shè)計(jì)教案 第九章 編譯預(yù)處理

      第九章 編譯預(yù)處理

      課題:

      教學(xué)目的: 教學(xué)重點(diǎn): 教學(xué)難點(diǎn): 第九章 編譯預(yù)處理

      1、了解預(yù)處理的概念及特點(diǎn)

      2、掌握有參宏與無參宏的定義及使用,領(lǐng)會文件包含的使用及效果 掌握宏的使用,文件包含 有參宏與無參宏的使用

      步驟一 復(fù)習(xí)引導(dǎo)

      ANSI C標(biāo)準(zhǔn)規(guī)定可以在C源程序中加入一些“預(yù)處理命令”,以改進(jìn)程序設(shè)計(jì)環(huán)境,提高編程效率。

      這些預(yù)處理命令是由ANSI C統(tǒng)一規(guī)定的,但它不是C語言本身的組成部分,不能直接對它們進(jìn)行編譯。必須在對程序進(jìn)行通常的編譯之前,先對程序中這些特殊的命令進(jìn)行“預(yù)處理”,即根據(jù)預(yù)處理命令對程序作相應(yīng)的處理。經(jīng)過預(yù)處理后程序不再包括預(yù)處理命令了,最后再由編譯程序?qū)︻A(yù)處理后的源程序進(jìn)行通常的編譯處理,得到可供執(zhí)行的目標(biāo)代碼。

      步驟二 講授新課

      C語言與其他高級語言的一個(gè)重要區(qū)別是可以使用預(yù)處理命令和具有預(yù)處理的功能。C提供的預(yù)處理功能主要有以下三種: 宏定義、文件包含、條件編譯。

      分別用宏定義命令、文件包含命令、條件編譯命令來實(shí)現(xiàn)。為了與一般C語句相區(qū)別,這些命令以符號“ #” 開頭。

      §9.1宏定義

      宏: 代表一個(gè)字符串的標(biāo)識符。

      宏名:被定義為“宏”的標(biāo)識符。

      宏代換(展開):在編譯預(yù)處理時(shí),對程序中所有出現(xiàn)的 “宏名”,用宏定義中的字符串去代換的過程。

      一、不帶參數(shù)的宏定義

      一般形式:

      #define

      標(biāo)識符

      字符串

      #define PI 3.1415926

      main()

      { float l, s, r, v;

      printf(“input radius:”);

      scanf(“%f”, &r);

      l = 2.0*PI*r;

      s = PI*r*r;

      v = 3.0/4*PI*r*r*r;

      printf(“%10.4f,%10.4f,%10.4n”, l, s, v);

      }

      例如:由鍵盤輸入y值,求表達(dá)式:

      3(y2+3y)+ 4(y2+3y)+ y(y2+3y)#define M(y*y+3*y)main(){ int s, y;

      printf(“Input a number :”);scanf(“%d”,&y);

      s=3*M+4*M+y*M;

      printf(“s=%dn”,s);} 先宏展開:s=3*(y*y+3*y)+4*(y*y+3*y)+ y*(y*y+3*y)再與源程序合并

      說明:

      ⑴宏名一般用大寫表示,以便與變量名區(qū)分。⑵使用宏名使程序易讀,易修改。⑶只作簡單的置換,不作正確性檢查。⑷宏定義不是C語句,不必在行末加分號。

      ⑸宏名的作用域一般從自定義命令到本源文件結(jié)束。⑹可以用# undef命令終止宏定義的作用域。⑺宏定義允許嵌套,允許層層置換。

      ⑻宏名在源程序中用雙引號括起來,則TC中預(yù)處理不對其作宏代換。

      例: printf(“L=%f”, L);中雙引號內(nèi)L不替換。

      ⑼宏定義與定義的變量不同,宏只作字符替換,不分配內(nèi)存空間。⑽對“輸出格式”進(jìn)行宏定義,可以減少書寫麻煩 例如:

      #define P printf #define D “%d,%d,%dn”

      #define F “%6.2f,%6.2f,%6.2fn” main(){ int a=5,c=8,e=11;

      float b=3.8,d=9.7;f=21.08;

      P(D,a,c,e);

      P(F,b,d,f);

      P(F,a+b,c+d,e+f);}

      二、帶參數(shù)的宏定義

      格式:#define

      宏名(參數(shù)表)字符串

      例:#define s(a,b)a*b

      {……

      area =s(3,2);

      ……}

      對帶參的宏展開后,為area=3*2;

      例: #define M(y)y*y+3*y

      {……

      k=M(5);

      ……}

      對其展開后,為k=5*5+3*5;

      說明:

      ⑴對帶參數(shù)的宏展開只是將宏名后括號內(nèi)的實(shí)參

      字符串代替#define命令行中的形參。

      ⑵宏定義時(shí),在宏名與帶參數(shù)的括號之間不應(yīng)加

      空格,否則將空格以后的字符都作為替代字符

      串的一部分。

      ⑶帶參宏定義,形參不分配內(nèi)存單元,因此不必

      作類型定義。(與函數(shù)的區(qū)別之一)⑷帶參宏與函數(shù)的區(qū)別之二:

      例如: main(){ int i=1;

      while(i<=5)

      printf(“%dt”,SQ(i++));} SQ(int y){ return(y)*(y);} 其結(jié)果為:1

      如:

      #define SQ(y)((y)*(y))main(){ int i =1;

      while(i<=5)

      printf(“%dt”,SQ(i++));} 運(yùn)行結(jié)果: 2 12 30

      例:利用宏定義求兩個(gè)數(shù)中的大數(shù)。

      #define MAX(a,b)(a>b)?a:b main(){int x, y, max;

      scanf(“%d%d”, &x, &y);

      max =MAX(x, y);

      printf(“max=%dn”, max);} 帶參的宏定義和函數(shù)不同:

      1、函數(shù)調(diào)用時(shí),先求實(shí)參表達(dá)式值,后代入。而帶參的宏只是進(jìn)行簡單的字符替換。

      2、函數(shù)調(diào)用是在程序運(yùn)行時(shí)處理的,分配臨時(shí)的內(nèi)存單元。而宏展開則是在編譯時(shí)進(jìn)行的,不分配內(nèi)存單元,不進(jìn)行值的傳遞,也無“返回值”。

      3、對函數(shù)中的實(shí)參和形參都要定義類型,類型應(yīng)一致。而宏不存在類型問題,宏名和參數(shù)無類型,只是一個(gè)符號代表,展開時(shí)代入指定的字符即可。

      4、調(diào)用函數(shù)只可得到一個(gè)返回值,而用宏可以設(shè)法得到幾個(gè)結(jié)果。

      5、使用宏次數(shù)多時(shí),宏展開后使源程序增長,而函數(shù)調(diào)用不使源程序變長。

      6、宏替換不占運(yùn)行時(shí)間,只占編譯時(shí)間。

      而函數(shù)調(diào)用則占用運(yùn)行時(shí)間(分配單元、保留現(xiàn)場、值傳遞、返回)一般用宏代表簡短的表達(dá)式比較合適。

      也可利用宏定義實(shí)現(xiàn)程序的簡化。例9.5:

      #define PR printf #define NL “n” #define D “%d” #define D1 D NL #define D2 D D NL #define D3 D D D NL #define D4 D D D D NL #define S “%s” main(){ int a,b,c,d;

      char string[]=“CHINA”;

      a=1;b=2;c=3;d=4;

      PR(D1,a);

      PR(D2,a,b);

      PR(D3,a,b,c);

      PR(D4,a,b,c,d);

      PR(S, string);}

      §9.2 “文件包含”處理

      “文件包含”處理是指將指定的被包含文件的全部內(nèi)容插到該控制行的位置處,使其成為源文件的一部分參與編譯。因此,被包含的文件應(yīng)該是源文件。通常置于源程序文件的首部,故也稱為“頭文件”。

      C編譯系統(tǒng)提供的頭文件擴(kuò)展名為“.h”,但設(shè)計(jì)者可根據(jù)實(shí)際情況,自行確定包含文件的后綴、名字及其位置。

      一般形式,#include “文件名”

      #include <文件名>

      文件format.h

      #define PR printf #define NL “n” #define D “%d” #define D1 D NL #define D2 D D NL #define D3 D D D NL #define D4 D D D D NL #define S “%s” 文件file1.c #include “format.h” main(){ int a,b,c,d;

      char string[]=“CHINA”;

      a=1;b=2;c=3;d=4;

      PR(D1,a);

      PR(D2,a,b);

      PR(D3,a,b,c);

      PR(D4,a,b,c,d);

      PR(S, string);} 注:被包含的文件應(yīng)是源文件,而不應(yīng)是目標(biāo)文件。

      頭文件除了可以包含函數(shù)原型和宏定義外,也可以包括結(jié)構(gòu)體類型定義和全局變量定義等。說明:

      1、一個(gè)include命令只能指定一個(gè)被包含文件,如果要包含n個(gè)文件,要用n個(gè)include命令。

      2、如果文件1包含文件2,而文件2中要用到文件3的內(nèi)容,則可在文件1中用兩個(gè)include命令分別包含文件2和文件3,而且文件3應(yīng)出現(xiàn)在文件2之前,即在“file1.c”中定義:

      #include “file3.h”

      #include “file2.h”

      3、在一個(gè)被包含文件中又可以包含另一個(gè)被包含文件,即文件包含是可以嵌套的。

      4、被包含文件(file2.h)與其所在的文件(file1.c),在預(yù)編譯后已成為同一個(gè)文件。

      5、在#include 命令中,文件名可以用雙引號或尖括號括起來。

      如: #include

      #include “file2.h” 二者的區(qū)別:

      用尖括號時(shí)稱為標(biāo)準(zhǔn)方式,系統(tǒng)到存放C庫頭文件所在的目錄中尋找要包含的文件。

      用雙引號時(shí),系統(tǒng)先在用戶當(dāng)前目錄中尋找要包含的文件,若找不到,再按標(biāo)準(zhǔn)方式查找。#include “c:tcincludemyfile.h”

      /*正確*/ #include

      /*正確*/ #include

      /*錯誤*/

      用尖括號:帶路徑:按指定路徑去尋找被包含文件,但此時(shí)被包含文件不能以“.h”結(jié)尾,否則錯誤。

      不帶路徑:僅從指定標(biāo)準(zhǔn)目錄下找。

      用引號: 帶路徑:按指定路徑去尋找被包含文件,不再從當(dāng)前目錄和指定目錄下找。

      不帶路徑:先在當(dāng)前目錄下找,找不到再在系統(tǒng)指定的標(biāo)準(zhǔn)目錄下找。

      步驟三 課堂小結(jié)

      本課主要講解了宏定義、“文件包含”處理。對帶參數(shù)的宏的使用,及與函數(shù)的使用的區(qū)別。搞清經(jīng)常使用的頭文件。

      步驟四 布置作業(yè) 上機(jī)作業(yè):(第九章課后練習(xí))9.4 書面作業(yè):(第九章課后練習(xí))9.7、9.8

      第三篇:《c語言程序設(shè)計(jì)新視角》第八章文件小結(jié)

      《c語言程序設(shè)計(jì)新視角》第八章 文件小結(jié) 文件存數(shù)據(jù)時(shí)間長久,二進(jìn)制與文本形式自由。程序操縱它三個(gè)步驟: 打開、讀寫、關(guān)閉不要遺漏。注意路徑與名稱打開不愁; 讀寫有系列函數(shù)功能足夠; 記得關(guān)閉在操作之后。

      第四篇:《c語言程序設(shè)計(jì)新視角》第六章指針小結(jié)

      《c語言程序設(shè)計(jì)新視角》第六章 指針小結(jié) 指針特殊存地址,變量運(yùn)算受限的。指針類型要注意,不一定是整型的。想要存取單元值,先定地址是哪的。指針若要移一下,步長類型確定的。

      第五篇:《c語言程序設(shè)計(jì)新視角》第三章 程序語句小結(jié)

      《c語言程序設(shè)計(jì)新視角》第三章 程序語句 小結(jié) 各種語句格式規(guī)則要對應(yīng);

      三選擇四循環(huán)語句記分明;

      單、雙選擇用if;多路選擇switch靈。初值、條件與增量,循環(huán)要素三并行。

      do while做了再說;while判后再執(zhí)行; for要擺明三要素,耍簡約風(fēng)格數(shù)它精。

      continue和break,跳越不一般,遠(yuǎn)近要分清。

      下載《c語言程序設(shè)計(jì)新視角》第九章編譯預(yù)處理小結(jié)word格式文檔
      下載《c語言程序設(shè)計(jì)新視角》第九章編譯預(yù)處理小結(jié).doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        《c語言程序設(shè)計(jì)新視角》第十章 程序調(diào)試及測試小結(jié)

        《c語言程序設(shè)計(jì)新視角》第十章 程序調(diào)試及測試 小結(jié) 調(diào)試前測試樣例設(shè)計(jì)要費(fèi)思忖, 輸入是什么輸出有哪些,事前要確認(rèn), 正常、異常、邊界情形要想周全, 認(rèn)真仔細(xì)達(dá)到要求才能完......

        《c語言程序設(shè)計(jì)新視角》第七章 復(fù)合的數(shù)據(jù)類型小結(jié)

        《c語言程序設(shè)計(jì)新視角》第七章 復(fù)合的數(shù)據(jù)類型小結(jié) 結(jié)構(gòu)是張表,類型自己定; 變量與數(shù)組,可為結(jié)構(gòu)型; 申請空間后,讀寫任意行。 指針指結(jié)構(gòu),偏移要分清。......

        《c語言程序設(shè)計(jì)新視角》第五章 函數(shù)小結(jié)(樣例5)

        《c語言程序設(shè)計(jì)新視角》第五章函數(shù)小結(jié) 說明、定義、調(diào)用三種面目都是我。 傳信息單方向雙方向、直接間接都工作。 參數(shù)表上輸入來、使用return 出結(jié)果; 一個(gè)數(shù)值直接傳,多值......

        《c語言程序設(shè)計(jì)新視角》第二章程序中的數(shù)據(jù)小結(jié)

        《c語言程序設(shè)計(jì)新視角》第二章程序中的數(shù)據(jù) 小結(jié) 數(shù)據(jù)類型自己選, 大小長度不一般; 數(shù)據(jù)可以混合算, 注意類型會改變; 常量直接拿來用, 遇到變量分單元。......

        【好程序員學(xué)習(xí)筆記】C語言 編譯預(yù)處理命令

        文件包含: 把指定的文件插入到預(yù)處理命令行所在的位置并取代該命令行,即把指定的文件和當(dāng)前的源程序文件連接成一個(gè)源文件。 #include 在文件包含目錄中去查找指定的文件,并將......

        C語言程序設(shè)計(jì)

        1. Problem A: Hello world! Description Xiao_ming有兩個(gè)哥哥,大哥叫Da_min,二哥叫Er_min。三兄弟放學(xué)回家,父母分別跟他們打招呼。 Input 無 Output 請輸出: Hello Da_min, He......

        C 語言程序設(shè)計(jì)

        《C 語言程序設(shè)計(jì)》主要在計(jì)算機(jī)軟件、計(jì)算機(jī)網(wǎng)絡(luò)、計(jì)算機(jī)應(yīng)用、通信技術(shù)、智能電子、電子信息工程、多媒體以及核工程與核技術(shù)等專業(yè)中開設(shè),是電子信息類、機(jī)械類等工科專業(yè)......

        經(jīng)典C語言程序設(shè)計(jì)例題

        經(jīng)典C語言程序設(shè)計(jì)例題 【程序1】 題目:有1、2、3、4個(gè)數(shù)字,能組成多少個(gè)互不相同且無重復(fù)數(shù)字的三位數(shù)?都是多少? 1.程序分析:可填在百位、十位、個(gè)位的數(shù)字都是1、2、3、4。組......