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

正文內容

[計算機軟件及應用]c語言程序設計第5章-資料下載頁

2024-10-16 23:11本頁面
  

【正文】 printf(%d,%d\n,x,y)。 } 【 例五 】 求程序運行結果 如果第二行不加上 extern呢? 【 結果 】 5, 25 【 結果 】 12, 2 58 int a。 fun(int i) { a+=2*i。 return a。 } main() { int a=10。 clrscr( )。 printf(%d,%d\n,fun(a),a)。 } 【 例六 】 求程序運行結果 【 結果 】 20, 10 59 七、編譯預處理 ? 編譯預處理: P127 ◆ 宏定義 ◆ 文件包含 ◆ 條件編譯 【 編譯 】 C編譯系統(tǒng)對源程序進行:詞法和語法分析,代碼生成,優(yōu)化 → .OBJ文件 【 編譯預處理 】 編譯前對源程序進行一些預加工(改善程序設計環(huán)境 /模塊化設計) ? 編譯預處理命令均以 開頭,未尾不加分號 ? 可出現(xiàn)在程序的任何位臵,其作用范圍:出現(xiàn)點至所在源程序未尾。 60 八、編譯預處理 宏定義 格式 define 宏名 宏體 宏名和宏體均為字符串,前者必須符合標識符命名規(guī)則。預處理時在程序中用宏體替換宏名。 注意:可以用 undef 宏名 終止該宏名的作用范圍。 61 八、編譯預處理 ① 定義符號常量 【 例一 】 define M 3 define N (M+1) define NN N*N/2 main() { clrscr()。 printf(NN=%d,NN)。 printf(5*NN=%d\n,5*NN)。 } 結果: NN=8, 5*NN=40 【 討論 】 如果第二行改為: define N M+1 結果: NN=6, 5*NN=18 62 八、編譯預處理 ② 帶參數(shù)的宏定義 格式 define 宏名(參數(shù)表) 宏體 【 例二 】 define PI define s(r) PI*r*r main() { float a=1,sum。 sum=s(a)。 printf(r=%.0f,s=%f\n,a,sum)。 } 結果: r=1,s= 63 八、編譯預處理 ② 帶參數(shù)的宏定義 【 例三 】 define PT define s(A) PT*A*A main() { int a=1,b=2。 printf(%\n,s(a+b))。 } 結果: 【 討論 】 注意 s(a+b)不是函數(shù),它不做任何計算(如果是函數(shù),則 s(a+b)為 s(3),結果) s(a+b)= 1+ 2 1+ 2= 64 八、編譯預處理 ② 帶參數(shù)的宏定義 【 例四 】 選擇正確答案 include define SUM(y) 1+y main( ) { int x=2。 printf(%d\n,SUM(5)*x)。 } A) 10 B) 11 C) 12 D) 15 結果: B 65 文件包含 P134 ? include 標準方式 只按標準方式 (系統(tǒng)存放 C庫函數(shù)頭文件所在目錄 )查找所要包含的文件 對 TC,默認只在 \tc\include目錄下查找 ? include ― ― 先在源文件所在目錄找指定頭文件,若無再按標準方式找(更保險) 66 條件編譯 ? 根據(jù)條件決定是否編譯某一組語句。常用形式: ① 如果標識符被定義過 * 如果標識符未被定義過 ifdef 標識符 ifndef 標識符 程序段 1 程序段 1 /*編譯此程序段 */ else else /*else部分可省略 */ 程序段 2 程序段 2 /*反之,編譯此程序段 */ endif endif *此處指標識符用 define等命令定義過 。 67 條件編譯 ② if 表達式 /*如果表達式為真 */ 程序段 1 /*編譯程序段 1*/ else 程序段 2 /否則 *編譯程序段 2*/ endif 如果用: if 表達式 程序段 1 else 程序段 2 亦可實現(xiàn)以上功能,但程序段 1, 2均要編譯。如果它們比較大,生成的 exe文件就很大。 68 條件編譯 【 例一 】 define DEBUG 0 main() { int a=10,b=20,c。 clrscr()。 c=a/b。 ifdef DEBUG printf(a=%d,b=%d\n,a,b)。 endif printf(c=%d\n,c)。 } 結果: a=10,b=20 c=0 【 討論 】 如果 define DEBUG呢 ? 結果不變 如果沒有 define行呢? 只輸出c=0 69 課堂提問: 如何判斷一個變量是局部變量還是全局變量? 定義一個變量時,如果沒有規(guī)定存儲類型,其默認的存儲類型是什么? 如果程序中有這樣一個語句 static int x。 出現(xiàn)在程序的不同位臵其含義是否相同?其初值是多少? 70 課堂提問: 以下程序運行時出錯提示為: undefined symbol ?x‘ in function main 如何改正? 程序: main( ) { x=2。 printf(―%d\n‖,x)。 } int x。 法 1:將 int x。放到主函數(shù)之內 法 2:將 int x。放到主函數(shù)之上 法 3:在主函數(shù)之內加一語句 extern x ?;?extern int x。 法 4:在主函數(shù)之上加一語句 extern x ?;?extern int x。 71 課堂提問: 以下程序運行結果是 。 fun3(int x) { static int a=3。 a+=x。 return a。 } main( ) { int k=2,m=1,n。 n=fun3(k)。 n=fun3(m)。 printf(%d\n,n)。 } 6 72 課堂提問: 以下程序運行結果是 。 define SQR(x) x*x main( ) { int a=10, k=2, m=1。 a/=SQR(k+m)。 printf(%d\n, a)。 } 2 73 課堂提問: 以下程序運行結果 ? main() { int x。 x=fun5(4)。 printf(%d\n, x)。 } 9 fun5(int n) { int s。 if((n==1)||(n==2)) s=2。 else s=n+fun5(n1)。 return s。 } 74 第五章作業(yè) 一、求以下程序的運行結果。 要求: 先用變量跟蹤法分析結果,再上機驗證結果是否正確。 main( ) { int i=5。 printf(%d\n,sub(i))。 } sub(int n) { int a。 if (n==1) return 1。 a=n+sub(n1)。 return a。 } main( ) { int a=2, i, k。 for(i=0。 i2。 i++) k=f(a++)。 printf(%d\n, k)。 } f(int b) { static int y=3。 return (b+y++)。 } 75 第五章作業(yè) 二、求以下程序的運行結果。 要求: 先用變量跟蹤法分析結果,再上機驗證結果是否正確。 define SQR(x) x*x main() { int a=10, k=2, m=1。 a/=SQR(k+m)。 printf(%d\n, a)。 } define max(a,b) ((a)(b)?(a):(b)) main() { int a=1,b=2,c=3,d=4,y。 y=max(a,max(b,max(c,d)))。 printf(y=%d\n,y)。 } 76 第四章 作業(yè) 一、編程顯示以下圖形。
點擊復制文檔內容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1