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

正文內(nèi)容

安徽工程科技學(xué)院(文件)

2025-03-08 10:22 上一頁面

下一頁面
 

【正文】 ,則按 define命令行中指定的字符串從左到右進(jìn)行置換。 【例 】 define PI define S(r) PI*r*r main( ) {float a, area。 } 運(yùn)行結(jié)果如下: r= area= 賦值語句“ area=S(a)”;經(jīng)宏展開后為 area=*a*a。但是,如果有以下語句: area=S(a+b)。 為了得到這個(gè)結(jié)果,應(yīng)當(dāng)在定義時(shí),在字符串中的形式參數(shù)外面加一個(gè)括弧。如果在語句中有 area=S?(a); 則被展開為 area=(r) ?PI*r*r?(a)。但是帶參的宏定義與函數(shù)是不同的。 ? ( 2)函數(shù)調(diào)用是在程序運(yùn)行時(shí)處理的,為形參分配臨時(shí)的內(nèi)存單元。宏定義時(shí),字符串可以是任何類型的數(shù)據(jù)。當(dāng)然也不必定義 r的類型。V=*PI*R*R*R main( ) { float r,l,s,v。 } 經(jīng)預(yù)編譯宏展開后的程序如下: main( ) { float r,l,s,v。v=*5926*r*r*r。 ? ( 5)使用宏次數(shù)多時(shí),宏展開后源程序長(zhǎng),因?yàn)槊空归_一次都使程序增長(zhǎng),而函數(shù)調(diào)用不使原程序變長(zhǎng)。如: define MAX(x,y) (x)(y)?(x) :(y) main( ) { int a,b,c,d,t。 這個(gè)問題也可用函數(shù)來求: int max(int x,int y) {return(xy?x:y)。 請(qǐng)仔細(xì)分析以上兩種方法。 a=1。 PR(D1,a)。 PR(S,string)。以 D1代表輸出完 1個(gè)整數(shù)后換行, D2代表輸出 2個(gè)整數(shù)后換行, D3代表輸出 3個(gè)整數(shù)后換行, D4代表輸出 4個(gè)整數(shù)后換行。 ? 寫出各種輸入輸出的格式(例如實(shí)型、長(zhǎng)整型、十六進(jìn)制整數(shù)、八進(jìn)制整數(shù)、字符型等),把它們單獨(dú)編成一個(gè)文件,它相當(dāng)一個(gè)“格式庫”,用 include合令把它“包括”到自己所編的程序中,用戶就可以根據(jù)情況各取所需了。 C語言提供了 include命令用來實(shí)現(xiàn)“文件包含”的操作。經(jīng)編譯預(yù)處理時(shí),要對(duì) include命令進(jìn)行“文件包含”處理:將 include命令處,即 ,得到圖 (c)所示的結(jié)果。這樣每個(gè)人就可以不必重復(fù)定義這些符號(hào)常量。 a=1。 PR(D1,a)。 PR(S,string)。當(dāng)然不用“ .h”為后綴,而用“ .c”為后綴或者沒有后綴也是可以的,但用“ .h”作后綴更能表示此文件的性質(zhì)。 說明: ( 1)一個(gè) include命令只能指定一個(gè)被包含文件,如果要包含 n個(gè)文件,要用 n個(gè) include命令。例如,上面的問題也可以這樣處理,見圖 。用雙撇號(hào)(即“ ”形式)時(shí),系統(tǒng)先在用戶當(dāng)前目錄中尋找要包含的文件,若找不到,再按標(biāo)準(zhǔn)方式查找(即再按尖括號(hào)的方式查找)。因此,如果 態(tài)變量,它也在 ,不必用 extern聲明。 條件編譯命令有以下幾種形式: ( 1) ifdef 標(biāo)識(shí)符 程序段 1 else 程序段 2 endif 它的作用是當(dāng)所指定的標(biāo)識(shí)符已經(jīng)被 define命令定義過,則在程序編譯階段只編譯程序段 1,否則編譯程序段 2??梢杂靡韵碌臈l件編譯來處理: ifdef CMPUTER_A define INTEGRE_SIZE 16 else define INTEGER_SIZE 32 endif 即如果 COMPUTER_A在前面已被定義過,則編譯下面的命令行: define INTEGER_SIZE 16 否則,編譯下面的命令行: define INTEGER_SIZE 32 如果在這組條件編譯命令之前曾出現(xiàn)以下命令行: define COMPUTER_A 0 或?qū)?COMPUTER_A定義為任何字符串,甚至是 define COMPUTER_A 則預(yù)編譯后程序中的 INTEGER_SIZE都用 16代替,否則都用 32代替??梢栽谠闯绦蛑胁迦胍韵碌臈l件編譯段: ifdef DEBUG printf(” x=%d,y=%d,z=%d\n,” ,x,y,z)。的確,這是可以的。它的作用是若標(biāo)識(shí)符未被定義過則編譯程序段 1,否則編譯程序段 2。 endif 如果在此之前未對(duì) RUN定義,則輸出 x、 y、z的值。 【例 】 輸入一行字母字符,根據(jù)需要設(shè)置條件編譯,使之能將字母全改為大寫輸出,或全改為小寫字母輸出。 while(c=str[i]!=′\0′) { i++。 } } 運(yùn)行結(jié)果為: C LANGUAGE 現(xiàn)在先定義 LETTER為 1,這樣在對(duì)條件編譯命令進(jìn)行預(yù)處理時(shí),由于 LETTER為真(非零),則對(duì)第一個(gè) if語句進(jìn)行編譯,運(yùn)行時(shí)使小寫字母變大寫。當(dāng)條件編譯段比較多時(shí),目標(biāo)程序長(zhǎng)度可以大大減少。 for(k=xy?x:y。 k=max(x,y)。 scanf(%d ,%d,m,n)。 函數(shù)流程圖如圖 。 for(j=2。} return (flag)。 if(f(x)==1) printf(yes\n)。 for(j=2。 , March 15, 2023 雨中黃葉樹,燈下白頭人。 :56:0902:56:09March 15, 2023 1他鄉(xiāng)生白發(fā),舊國(guó)見青山。 2023年 3月 15日星期三 2時(shí) 56分 9秒 02:56:0915 March 2023 1做前,能夠環(huán)視四周;做時(shí),你只能或者最好沿著以腳為起點(diǎn)的射線向前。 :56:0902:56Mar2315Mar23 1世間成事,不求其絕對(duì)圓滿,留一份不足,可得無限完美。 。 , March 15, 2023 閱讀一切好書如同和過去最杰出的人談話。勝人者有力,自勝者強(qiáng)。 2023年 3月 15日星期三 2時(shí) 56分 9秒 02:56:0915 March 2023 1一個(gè)人即使已登上頂峰,也仍要自強(qiáng)不息。 2023年 3月 15日星期三 上午 2時(shí) 56分 9秒 02:56: 1最具挑戰(zhàn)性的挑戰(zhàn)莫過于提升自我。 :56:0902:56Mar2315Mar23 1越是無能的人,越喜歡挑剔別人的錯(cuò)兒。 2023年 3月 15日星期三 2時(shí) 56分 9秒 02:56:0915 March 2023 1空山新雨后,天氣晚來秋。 :56:0902:56:09March 15, 2023 1意志堅(jiān)強(qiáng)的人能把世界放在手中像泥塊一樣任意揉捏。 , March 15, 2023 很多事情努力了未必有結(jié)果,但是不努力卻什么改變也沒有。 。 :56:0902:56Mar2315Mar23 1故人江海別,幾度隔山川。j++) if(m%j==0) return(0) return (1)。 } 如果將函數(shù) f()改為: int f(int m) { int k,j。 printf(input x :)。j++) if(m%j==0) {flag=0。 int k,j。 } 例 編寫函數(shù)判斷整數(shù) m是否為素?cái)?shù) 。 } main() { int m,n。k) if(x%k==0y%k==0) return(k)。 程 序 舉 例 例 編寫兩個(gè)函數(shù)分別求兩個(gè)整數(shù)的最大公約數(shù)和最小公倍數(shù) 。此時(shí)運(yùn)行情況為 c language 有的讀者可能會(huì)問,不用條件編譯命令而直接用 if語句也能達(dá)到要求,用條件編譯命令有什么好處呢?的確,此問題完全可以不用條件編譯處理,但那樣做目標(biāo)程序長(zhǎng)(因?yàn)樗姓Z句都編譯),運(yùn)行時(shí)間長(zhǎng)(因?yàn)樵诔绦蜻\(yùn)行時(shí)對(duì)if語句進(jìn)行測(cè)試)。 else if(c=′A′ c=′Z′) c=c+ 32。 int i。 ( 3) if 表達(dá)式 程序段 1 else 程序段 2 endif 它的作用是當(dāng)指定的表達(dá)式值為真(非零)時(shí)就編譯程序段 1,否則編譯程序段2。 以上兩種形式用法差不多,根據(jù)需要任選一種,視方便而定。用條件編譯,則不必一一刪改printf語句,只需刪除前面的一條“ define DEBUG”命令即可,這時(shí)所有的用 DEBUG作標(biāo)識(shí)符的條件編譯段都使其中的 printf語句不起作用,即起統(tǒng)一控制的作用,如同一個(gè)“開關(guān)”一樣。測(cè)試完成后只需將這個(gè) define命令行刪去即可。當(dāng)然以上介紹的只是一種簡(jiǎn)單的情況,讀者可以根據(jù)此思路設(shè)計(jì)出其他的條件編譯。這種條件編譯對(duì)于提高 C源程序的通用性是很有好處的。但是有時(shí)希望對(duì)其中一部分內(nèi)容只在滿足一定條件才進(jìn)行編譯,也就是對(duì)一部分內(nèi)容指定編譯的條件,這就是“條件編譯”。如果要包含的是用戶自己編寫的文件(這種文件一般都在當(dāng)前目錄中),一般用雙撇號(hào),若文件不在當(dāng)前目錄中,雙撇號(hào)內(nèi)可給出文件路徑。 (4)include 命令中,文件名可以用雙撇號(hào)或尖括號(hào)括起來,如可以在 include 或 include “ ” 都是合法的。在file2中不必再用 include了(以上是假設(shè) ,而不出現(xiàn)在其他場(chǎng)合)。但是應(yīng)當(dāng)注意,被包含文件修改后,凡包含此文件的所有文件都要全部重新編譯。因此被包含的文件也應(yīng)該是源文件而不應(yīng)該是目標(biāo)文件。 PR(D3,a,b,c)。c=3。 【例 】 可以將例 : ( 1)文件 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 ( 2)文件 include main( ) { int a,b,c,d。 “文件包含”命令是很有用的,它可以節(jié)省程序設(shè)計(jì)人員的重復(fù)勞動(dòng)。圖 (a)為文件,它有一個(gè) include命令,然后還有其他內(nèi)容(以 A表示)。 “文件包含”處理 所謂“文件包含”處理是指一個(gè)源文件可以將另外一個(gè)源文件的全部?jī)?nèi)容包含進(jìn)來。可以看到,程序中寫輸出語句就比較簡(jiǎn)單了,只要根據(jù)需要選擇已定義的輸出格式即可。以 NL代表執(zhí)行一次“換行”操作。 PR(D3,a,b,c)。c=3。 【例 】 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。 ┆ t=max(a+b,x+d)。 ┆ } 賦值語句展開后為 t=(a+b)(c+d)?(a+b):(c+d)。 一般用宏來代表簡(jiǎn)短的表達(dá)式比較合適。 } 運(yùn)行情況如下: ↙ r=,1=,s=,v= ? 請(qǐng)注意,實(shí)參 r的值已知,可以從宏帶回3個(gè)值( l,s,v)。 l=2**r。 CIRCLE(r,l,s,v)。 【例 】 define PI define CIRCLE(R,L,S,V) L=2*PI*R。同樣,對(duì)帶參的宏。 ? ( 3)對(duì)函數(shù)中的實(shí)參和形參都要定義類型,二者的類型要求一致,如不一致,應(yīng)進(jìn)行類型轉(zhuǎn)換。而使用帶參的宏只是進(jìn)行簡(jiǎn)單的字符替換。 有些讀者容易把帶參數(shù)的宏和函數(shù)混淆。 ( 2)在宏定義時(shí),在宏名與帶參數(shù)的括弧之間不應(yīng)加空格,否則將空格以后的字符都作為替代字符串的一部分。 請(qǐng)注意在 a+b外面沒有括弧,顯然這與程序設(shè)計(jì)得的原意不符。例 S( a),在展開時(shí),找到 define命令行中的 S( r),將 S( a)中的實(shí)參 a代替宏定義中的字符串“ PI*r*r”中的形參 r,得到 PI*a*a。 area=S(a)。如果宏定義中的字符串中的字符不是參數(shù)字符(如 a*b中的 *號(hào)),則保留。如: define S(a,b) a*b area=S(3,2)。如例 中的 printf函數(shù)內(nèi)有兩個(gè) L字符,一個(gè)在雙撇號(hào)內(nèi),它不被宏置換,另一個(gè)在雙撇號(hào)外,被宏置換展開。 ( 7)在進(jìn)行宏定義時(shí),可以引用已定義的宏名,可以層層置換。通常,define命令寫在文件
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1