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

正文內(nèi)容

c語言課件--資料下載頁

2025-08-04 23:42本頁面
  

【正文】 實參與形參都是數(shù)組名, 是 地址傳遞 8 實參數(shù)組與形參數(shù)組類型相同,個數(shù) 可以不同 函數(shù)間的 數(shù)據(jù)傳遞 (三種傳遞方式 ): 返回值、參數(shù)、全局變量。 共 90 頁 第 71 頁 1 函數(shù)可以作 運算分量 ,作其他函數(shù)的 參數(shù) ,可構(gòu)成 語句 2 函數(shù)調(diào)用可以 嵌套 3 函數(shù)中的 return語句 可以帶回一個返回值 有關(guān)變量 從變量的作用域: 局部變量 全局變量 從變量值保留的期限: 靜態(tài)存儲變量 動態(tài)存儲變量 從變量在硬件上的位置: CPU寄存器 內(nèi)存中靜態(tài)區(qū) 內(nèi)存中動態(tài)區(qū) 有關(guān)函數(shù)的調(diào)用 共 90 頁 第 72 頁 存儲特性 特點 生存期 作用域 未初始化時值 自動變量 定義它的函數(shù) (局部變量) 隨機數(shù) 外部變量 整個程序中多個文件中的多個函數(shù)(全程變量 ) 0 靜 態(tài) 局部 全局 整個程序 定義它的函數(shù)(靜態(tài)局部) 定義它的文件(靜態(tài)全程) 0 0 寄存器變量 定義它的函數(shù) 隨機數(shù) 共 90 頁 第 73 頁 : …… int plus(int x,int y) { int z。 z=x+y。 return z。 } …… 例:現(xiàn)已定義函數(shù) plus求兩個數(shù)的和,包含在文件 ,在 件中要調(diào)用此函數(shù),請將下列程序補充完整,使程序正確。 : include _____A______ main() { int a=4,b=5,c。 _____B___ plus(int ,int)。 c=plus(a,b)。 printf(“a+b=%d”\n”,c)。 } [答案 ] A: “” B: extern 共 90 頁 第 74 頁 [例 ] 下面程序由兩個文件組成,請分析運行結(jié)果。 /* 文件一 */ include include int x=10,y=10。 extern void sub() 。 void add() { int y=5。 y=10+x。 x*=2。 printf(add:y=%d。 ,y)。 } main() { x+=5。 add()。 sub()。 printf(main:x=%d。 main:y=%d\n,x,y)。 } /* 文件二 */ include “” extern int x。 void sub() { int y=5。 x=y。 printf(“sub:y=%d?!?y)。 } 運行結(jié)果: 共 90 頁 第 75 頁 C的源程序 預(yù)處理 編譯 目標程序 ( *.C) _______________ (*.OBJ) 編譯系統(tǒng)中有 : 預(yù)處理程序 編譯程序 ?宏替換 define N 20 ?文件包含 include ?條件編譯 if( ... ) ? C中的預(yù)處理命令 分類 編譯預(yù)處理 共 90 頁 第 76 頁 宏定義有兩種類型 : 字符串替換和帶參數(shù)的宏替換 ( 1) 字符串宏替換 ? 功能: 在預(yù)處理時 ,將程序中宏定義之后出現(xiàn)的所有的宏名 ,用宏替換體代替。 宏替換名 宏替換體 例如: define PI ? 格式: define 宏名 宏定義字符串 C的編譯程序調(diào)用預(yù)處理程序檢查有否 宏名 ,若有,用 宏替換體 將其替換,完成之后,將替換后的源程序交給編譯程序。 共 90 頁 第 77 頁 ? 用途 : 提高程序的可讀性,便于修改、調(diào)試。 符號常量,如 PI、 數(shù)組的長度 為程序書寫帶來方便(將程序中多次出現(xiàn)相同內(nèi)容寫成宏) define N 10 /* 編譯之前用 10替換所有的 N */ ……. int a[N] ? 說明 : ? 通常放在程序開頭 ,不加分號 ? 是代替 ,不是賦值 (不作語法檢查 ) ? 可將多個語句或表達式定義為一個宏替換 ? 為區(qū)別變量和關(guān)鍵字 ,習(xí)慣用大寫 共 90 頁 第 78 頁 define R define PI define L *PI*R define S PI*R*R ? 雙引號中的不替換 ? 有效范圍 ,從定義開始到程序結(jié)尾 例: define PI main( ) { printf (“PI=%f\n”,PI)。 } 結(jié)果: PI= main( ) { printf(“PI=%s\n”,”PI”)。 } ? 可以嵌套 ,后定義的宏可以包含先定義的宏名 結(jié)果 : PI=PI 共 90 頁 第 79 頁 (2) 帶參數(shù)的宏定義 帶參數(shù)的宏不僅能進行字符串代替,而且還能進行參數(shù)代換。 ? 格式: define 宏名(參數(shù)表) 表達式 ? 功能 : 帶參數(shù)的宏將一個 帶形參 的表達式定義為一個帶參數(shù)的宏名,預(yù)處理程序?qū)Τ绦蛑兴?帶實參 表的宏名進行 宏展開 替換, 用表達式代替宏名,用參數(shù)表中的實參代替表達式中對應(yīng)的形參 。 例: define S( a, b) a*b 程序中 S(3, 2) 3*2 共 90 頁 第 80 頁 ? 用途: 用帶參數(shù)的宏可以代表一些簡短的表達式,提高程序執(zhí)行的效率。 * 對常用的格式輸入輸出函數(shù) printf可以進行宏定義,使程序簡化 *宏名與參數(shù)的圓括號之間不能有空格 s (a,b) ? ? 說明: * 宏定義命令要求在一行內(nèi)寫完,如換行,用“ \”表示下一行繼續(xù)。 * 對于宏定義的形參要根據(jù)需要加上圓括號,以免 發(fā)生運算錯誤 共 90 頁 第 81 頁 [例 1] 使用有參宏替換求圓的面積。 define PI define S(r) PI*r*r main() { float a=,area。 area=S(a)。 printf(“r=%f\narea=%f\n”,a,area)。 } 宏展開替換后: area=**。 共 90 頁 第 82 頁 [例 2] 求下列語句的循環(huán)次數(shù)。 include “” define N 2 define M N+1 define NUM (M+1)*M/2 main() { int i,n=0。 for(i=1。i=NUM。i++) {n++。 printf(“%d”,n)。 } } 8 共 90 頁 第 83 頁 函數(shù)要求形參,實參有類型(相同) 宏的形參,實參不要求類型,僅是符號 函數(shù)需事先計算實參表達式的值,再代入形參 宏展開中不求表達式的值,僅替換 , 沒有值傳遞 函數(shù)是在運行時處理 宏是在編譯之前進行 ?帶參數(shù)的宏與函數(shù)的區(qū)別 函數(shù)調(diào)用影響運行時間,源程序無變化 宏展開影響編譯時間,通常使源程序加長 函數(shù)調(diào)用有一個返回值 宏可以有多個結(jié)果 共 90 頁 第 84 頁 文件包含是指一個程序文件將另一個指定文件的全部內(nèi)容包含進來。 ? 格式 : include 文件名 或 : include “文件名 ” ? 功能 : 用指定文件的全部內(nèi)容代換該預(yù)處理行 ,C程序通過 include預(yù)處理 ,把一個指定的文件的內(nèi)容嵌入。 (注: 只能包含 ASCII文本文件。 ) 與 “ ” 的區(qū)別 : 在系統(tǒng)指定目錄下搜索文件 “ ” 在用戶當(dāng)前目錄下找指定文件 ,如用戶當(dāng)前目錄下沒有找到 ,再到系統(tǒng)指定目錄下查找。 ? 說明 共 90 頁 第 85 頁 ? 只包含源文件 ,不包含可執(zhí)行文件和目標文件。 ? 可以嵌套 例如 : , ,必須將 include include ? 一個 include只能包含一個文件 共 90 頁 第 86 頁 ?用途 ? 將符號常量 , 帶參數(shù)的宏及構(gòu)造類型的變量等定義在一個獨立的文件中 ,為其他文件共享。 ? 程序員可將工作中積累的有價值的符號 ,帶參數(shù)的宏定義 ,或一些外部變量 ,通用的子程序定義成一個文件 ,需要時 ,包含進源程序。 ? 使用 C中的庫函數(shù) ,需將所在的頭文件包含進源程序。 共 90 頁 第 87 頁 3. 條件編譯 條件編譯命令的形式 常用的形式: 形式一: ifdef 宏名 程序段 1; else 程序段 2; endif 功能: 如果之前定義過宏名,直接選擇程序段 1進行編譯,否則選擇程序段 2進行編譯。 將源程序中的一部分語句生成目標代碼,廣泛用于商業(yè)軟件,可以為一個軟件提供多個版本,不同的用戶使用不同的版本。 共 90 頁 第 88 頁 形式二: ifndef 宏名 程序段 1; else 程序段 2; endif 其中, ifndef語句的功能與 ifdef相反,如果宏名 未定義則編譯程序段 1,否則編譯程序 2。 或者: ifndef 宏名 程序段; endif 共 90 頁 第 89 頁 形式三: if 常數(shù)表達式 程序段 1; else 程序段 2; endif 功能:首先計算 “ 常數(shù)表達式 ” 的值 , 如果為真 ( 非零 ) ,就編譯 “ 程序段 1”, 否則編譯 “ 程序段 2”。 如果沒有 else部分 , 則當(dāng) “ 常數(shù)表達式 ” 的值為 0時 , 直接跳過 endif。 或者: if 常數(shù)表達式 程序段; endif 共 90 頁 第 90 頁 例:閱讀程序。 include main() { if NULL printf(NULL is nonzero value!\n)。 else printf(NULL is zero value!\n)。 endif } 運行結(jié)果: NULL is zero value!
點擊復(fù)制文檔內(nèi)容
化學(xué)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1