全國計算機二級考試C教程.ppt
《全國計算機二級考試C教程.ppt》由會員分享,可在線閱讀,更多相關《全國計算機二級考試C教程.ppt(8頁珍藏版)》請在裝配圖網(wǎng)上搜索。
編譯預處理 所謂編譯預處理是指 在對源程序進行編譯之前 先對源程序中的編譯預處理命令進行處理 然后再將處理的結果 和源程序一起進行編譯 以得到目標代碼 在 語言中 宏 分為無參數(shù)的宏 簡稱無參宏 和有參數(shù)的宏 簡稱有參宏 兩種 無參宏定義 1 無參宏定義的一般格式 define標識符語言符號字符串其中 define 為宏定義命令 標識符 為所定義的宏名 通常用大寫字母表示 以便于與變量區(qū)別 語言符號字符串 可以是常數(shù) 表達式 格式串等 2 使用宏定義的優(yōu)點 1 可提高源程序的可維護性 2 可提高源程序的可移植性 3 減少源程序中重復書寫字符串的工作量 輸入圓的半徑 求圓的周長 面積和球的體積 要求使用無參宏定義圓周率 程序功能 輸入圓的半徑 求圓的周長 面積和球的體積 definePI3 1415926 PI是宏名 3 1415926用來替換宏名的常數(shù) main floatradius length area volume cout radius length 2 PI radius 引用無參宏求周長 area PI radius radius 引用無參宏求面積 volume PI radius radius radius 3 4 引用無參宏求體積 cout length length area area volume volume n 3 說明 1 宏名一般用大寫字母表示 以示與變量區(qū)別 但這并非是規(guī)定 2 宏定義不是語句 所以不能在行尾加分號 否則 宏展開時 會將分號作為字符串的1個字符 用于替換宏名 3 在宏展開時 預處理程序僅以按宏定義簡單替換宏名 而不作任何檢查 如果有錯誤 只能由編譯程序在編譯宏展開后的源程序時發(fā)現(xiàn) 4 在進行宏定義時 可以引用已定義的宏名 有參宏定義 1 帶參宏定義的一般格式 define宏名 形參表 語言符號字符串2 帶參宏的調用和宏展開 1 調用格式 宏名 實參表 2 宏展開 用宏調用提供的實參字符串 直接置換宏定義命令行中 相應形參字符串 非形參字符保持不變 3 說明 1 定義有參宏時 宏名與左圓括號之間不能留有空格 否則 編譯系統(tǒng)將空格以后的所有字符均作為替代字符串 而將該宏視為無參宏 2 有參宏的展開 只是將實參作為字符串 簡單地置換形參字符串 而不做任何語法檢查 在定義有參宏時 在所有形參外和整個字符串外 均加一對圓括號 文件包含 1 文件包含的概念文件包含是指 一個源文件可以將另一個源文件的全部內容包含進來 2 文件包含處理命令的格式 include 包含文件名 或 include兩種格式的區(qū)別僅在于 1 使用雙引號 系統(tǒng)首先到當前目錄下查找被包含文件 如果沒找到 再到系統(tǒng)指定的 包含文件目錄 由用戶在配置環(huán)境時設置 去查找 2 使用尖括號 直接到系統(tǒng)指定的 包含文件目錄 去查找 一般地說 使用雙引號比較保險 3 文件包含的優(yōu)點一個大程序 通常分為多個模塊 并由多個程序員分別編程 有了文件包含處理功能 就可以將多個模塊共用的數(shù)據(jù) 如符號常量和數(shù)據(jù)結構 或函數(shù) 集中到一個單獨的文件中 這樣 凡是要使用其中數(shù)據(jù)或調用其中函數(shù)的程序員 只要使用文件包含處理功能 將所需文件包含進來即可 不必再重復定義它們 從而減少重復勞動 4 說明 1 編譯預處理時 預處理程序將查找指定的被包含文件 并將其復制到 include命令出現(xiàn)的位置上 2 常用在文件頭部的被包含文件 稱為 標題文件 或 頭部文件 常以 h head 作為后綴 簡稱頭文件 在頭文件中 除可包含宏定義外 還可包含外部變量定義 結構類型定義等 3 一條包含命令 只能指定一個被包含文件 如果要包含n個文件 則要用n條包含命令 4 文件包含可以嵌套 即被包含文件中又包含另一個文件- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權。
- 關 鍵 詞:
- 全國計算機 二級 考試 教程
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學習交流,未經(jīng)上傳用戶書面授權,請勿作他用。
鏈接地址:http://m.kudomayuko.com/p-5210150.html