freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

計算機本科c語言講稿-編譯預(yù)處理(編輯修改稿)

2025-02-14 20:08 本頁面
 

【文章內(nèi)容簡介】 兩種形式是有區(qū)別的:使用尖括號表示在包含文件目錄中去查找 (包含目錄是由用戶在設(shè)置環(huán)境時設(shè)置的 ), 而不在源文件目錄去查找; 使用雙引號則表示首先在當前的源文件目錄中查找 , 若未找到才到包含目錄中去查找 。 用戶編程時可根據(jù)自己文件所在的目錄來選擇某一種命令形式 。 2. 一個 include命令只能指定一個被包含文件,若有多個文件要包含,則需用多個 include命令。 3. 文件包含允許嵌套 , 即在一個被包含的文件中又可以包含另一個文件 。 include void p() {…….} include void s() {…….} include void main() {…….} 條件編譯 預(yù)處理程序提供了條件編譯的功能??梢园床煌臈l件去編譯不同的程序部分,因而產(chǎn)生不同的目標代碼文件。這對于程序的移植和調(diào)試是很有用的。 條件編譯有三種形式 , 下面分別介紹: 1. 第一種形式: ifdef 標識符 程序段 1 else 程序段 2 endif ifdef 標識符 程序段 endif 2. 第二種形式: ifndef 標識符 程序段 1 else 程序段 2 endif 與第一種形式的區(qū)別是將 “ 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,amp。c)。 if R r=*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, 因此在條件編譯時 , 常量表達式的值為真 , 故計算并輸出圓面積 。 上面介紹的條件編譯當然也可以用條件語句來實現(xiàn) 。 但是用條件語句將會對整個源程序進行編譯 , 生成的目標代碼程序很長 , 而采用條件編譯 , 則根據(jù)條件只編譯其中的程序段 1或程序段 2, 生成的目標程序較短 。 如果條件選擇的程序段很長 , 采用條件編譯的方法是十分必要的 。 本章小結(jié) , 它是在對源程序正式編譯前由預(yù)處理程序完成的 。 程序員在程序中用預(yù)處理命令來調(diào)用這些功能 。 2. 宏定義是用一個標識符來表示一個字符串 ,這個字符串可以是常量 、 變量或表達式 。 在宏展開時用該字符串代換宏名 。 3. 宏定義可以帶有參數(shù) , 宏展開時是以實參代換形參 。 而不是 “ 值傳送 ” 。 4. 為了避免宏代換時發(fā)生錯誤 , 宏定義中的字符串應(yīng)加括號 , 字符串中出現(xiàn)的形式參數(shù)兩邊也應(yīng)加括號 。 , 它可用來把多個源文件連接成一個源文件進行編譯 , 結(jié)果將生成一個目標文件 。 段 , 使生成的目標程序較短 , 從而減少了內(nèi)存的開銷并提高了程序的效率 。 、 閱讀 、 移植和調(diào)試 , 也便于實現(xiàn)模塊化程序設(shè)計 。 再見! 本章練習(xí) 一、選擇題 以下敘述不正確的是 _______ A) 預(yù)處理命令行都必須以 號開始 B) 在程序中凡是以 號開始的語句行都是預(yù)處理命令行 C) C程序在執(zhí)行過程中對預(yù)處理命令行進行處理 D) 以下是正確的宏定義 define IBM_PC 2. 以下敘述中正確的是 _______ A) 在程序的一行上可以出現(xiàn)多個預(yù)處理命令行 B) 使用帶參的宏時,參數(shù)的類型應(yīng)與宏定義時的一致 C) 宏替換不占用運行時間,只占編譯時間 D) 在以下定義中 C R是稱為“宏名”的標識符 define C R 045 3. 請讀程序: define ADD(x) x+x main( ) {int m=1,n=2,k=3。 int sum=ADD(m+n)*k。 printf(“sum=%d”,sum)。} 上面程序的運行結(jié)果是 ____________ A) sum=9 B) sum=10 C) sum=12 D) sum=18 4. 以下程序的運行結(jié)果是 __________ define MIN(x,y) (x)(y)?(x):(y) main( ) {int i=10,j=15,k。 k=10*MIN(i,j)。 printf(“%d\n”,k)。} A) 10
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1