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

正文內(nèi)容

c程序設(shè)計(jì)語(yǔ)言ppt課件-閱讀頁(yè)

2025-05-27 05:36本頁(yè)面
  

【正文】 { – 函數(shù)體 ? } 變量的生命周期 ? 函數(shù)可以定義變量, main函數(shù)也可以定義變量 ? 變量的存活是在定義該變量的函數(shù)中 ? watch可以觀察變量的生命周期 (類(lèi)型名 變量標(biāo)記符) ? (類(lèi)型名 變量標(biāo)記符)的例子 ? fun(int a, float b, char c) ? 也可以使用: /*但是不推薦 */ ? fun( a, b, c) ? int a。 ? char c。 ? } 形參 ? 在 area函數(shù)定義處,使用的 length,width作為輸入?yún)?shù),這些參數(shù)稱(chēng)為形參 ? 定義:函數(shù)定義中作為參數(shù)出現(xiàn)的變量 ? 形參的生命周期與在函數(shù)中定義的其他變量一樣,局限在該函數(shù)中 ? 注意:形參是有順序的 實(shí)參 ? 調(diào)用 area時(shí) ,可以: ? area(3,4); 或者 ? area(x,y)。 ? 作為函數(shù)的輸入?yún)?shù),稱(chēng)為實(shí)參 ? 注意:實(shí)參是有順序的 實(shí)參 形參 ? 傳遞過(guò)程由計(jì)算機(jī)完成 ? 按照實(shí)參的順序,賦值給形參 ? 在函數(shù)內(nèi)實(shí)參不出現(xiàn) ? 實(shí)參傳遞給形參后,實(shí)參不參加動(dòng)作,所以函數(shù)不改變實(shí)參 實(shí)參 形參 ? int fun(a) { – a=4。 ? } ? main(){ – a=3。 ? } 參數(shù)個(gè)數(shù)可變的 ? 將來(lái)將指針時(shí)講 實(shí)參形參不對(duì)應(yīng) (int) ? int fun(int b, int c) ? { ? } ? main() ? { – fun(1,2,3); /*實(shí)參大于形參是允許的 */ ? } 實(shí)參形參不對(duì)應(yīng) (int) int fun(int b, int c) { } main() { fun(1); /*形參大于實(shí)參是允許的 */ } 形參可以不使用 int fun(int b, int c) {/*b,c 沒(méi)有使用過(guò) */ } main() { fun(1,2,3) } 返回 ? return 保留字 ? 返回值的類(lèi)型與函數(shù)定義的類(lèi)型一致 ? 格式: ? return 表達(dá)式; 或者 ? return (表達(dá)式 ); ? 可以出現(xiàn)在函數(shù)體的任何地方 return 例子 ? int fun(int a) ? { – if ( a1 ) ? return 0。 ? } return 功能 ? 從函數(shù)退出,返回調(diào)用處 ? 可以返回一個(gè)值,作為函數(shù)的結(jié)果 ? main也是函數(shù) ? main里的 return終止運(yùn)行 可以不返回 ? int fun() ? { ? } ? main() ? { – int c=fun(23)。 ? 不帶值的返回 ? fun() { – return 。 /*a為隨機(jī)數(shù) */ ? } void ? 表示空 ? 保留字 ? 主要用在函數(shù)的返回類(lèi)型上 ? void fun() ? { – return 。 ? fun(1)。 } 關(guān)于函數(shù)名稱(chēng) ? 一般不作為變量使用 ? 如 main, 很少使用為一個(gè)變量 ? 容易混淆 ? main() ? { – int main。 ? 表達(dá)式中使用 – a=fun(1,2)*.510。 ? 獨(dú)立語(yǔ)句 /* Void類(lèi)型的函數(shù)只能使用 */ – fun(1,2)。 –printf(―%f\n‖,fun(1,2)。 } 函數(shù)申明書(shū)寫(xiě)位置 ? 可以寫(xiě)在調(diào)用函數(shù)的變量申明處,也可以寫(xiě)在函數(shù)外, eg. ? float fun()。 ? } 申明位置的影響 ? :寫(xiě)在函數(shù)內(nèi),則只在 main函數(shù)內(nèi)能夠使用 fun ? 后者,在整個(gè)程序的其他函數(shù)也都能夠使用 fun函數(shù) 函數(shù)申明書(shū)寫(xiě)格式 ? 類(lèi)型 函數(shù)名(類(lèi)型 1,類(lèi)型 2… ) 。 ? eg. float fun(int,int)。 /*注意加分號(hào) */ ? 全是 int類(lèi)型可以不寫(xiě),但是最好寫(xiě)。 f3()。 ... ? } } TURBOC跟蹤 ? F7為進(jìn)入函數(shù)體內(nèi)進(jìn)行跟蹤 作業(yè) ? 寫(xiě)兩個(gè)函數(shù):最小公倍數(shù) lcm與最大公因子gcd, 并使用 main函數(shù)調(diào)用這兩個(gè)函數(shù) 函數(shù)的遞歸 ? 函數(shù)嵌套的特殊形式,自己調(diào)用自己 ? 求階乘 ? 0!=1 ? n!=n*(n1)! ? 程序例子 遞歸程序設(shè)計(jì)注意事項(xiàng) ? 要有出口 ? 能夠達(dá)到出口 作業(yè) ? 寫(xiě)斐波那契數(shù)列 ? f(n)=f(n2)+f(n1) n1 ? f(0)=0, f(1)=1 局部變量 節(jié)約內(nèi)存 局部變量使用的內(nèi)存區(qū)域可以靈活調(diào)度 不保留值 臨時(shí)變量 塊中的局部變量 復(fù)合語(yǔ)句的 {后、語(yǔ)句前定義的局部變量 生命周期:進(jìn)入塊為出生,退出塊為消亡 只在塊內(nèi)有效 全局變量 在整個(gè)程序都有效的變量,在程序執(zhí)行過(guò)程中保留他的值。 全局變量可以用來(lái)向函數(shù)傳遞信息,或者作為函數(shù)的一種返回信息。 int days[]={31,28,31,30,31,30,31,31,30}。 無(wú)初始化的變量值:全局變量與靜態(tài)變量為 0,其他不確定 函數(shù)的作用域 C語(yǔ)言內(nèi)的函數(shù)都是平等的,不能在函數(shù)內(nèi)定義其他函數(shù) static int fun()為內(nèi)部函數(shù),作用域?yàn)樵撐募?,只有該文件?nèi)其他函數(shù)才可以調(diào)用。 define STR1 “jkhljbhjghjgfhgfhklgjdfkf\ ghjkefgldf” 反斜杠可以換行書(shū)寫(xiě) 宏定義函數(shù) define MAX(a,b) ((a)(b)?(a):(b)) 求 a, b的最大值 注意加() max(p+q,r+s) 有()與沒(méi)有()就不相同了 宏定義通常全大寫(xiě) 文件包含 ? include /*系統(tǒng) 定義的 include目錄下 */ ? include ―‖ /*當(dāng)前 目錄 */ ? 將文件包含進(jìn)來(lái) ? 嵌套包含 ? 嵌套包含最多 8層 ? .h文件稱(chēng)為頭文件 標(biāo)準(zhǔn)頭文件 ? 編譯環(huán)境自己帶的頭文件 ? TURBO C的頭文件(附錄 B) ? 其他軟件包的頭文件與 LiB( 連接庫(kù)) 條件編譯 ? ifdef macro_name ? 代碼塊 1 ? else ? 代碼塊 2 ? endif ? 若宏 macro_name已經(jīng)被定義,則執(zhí)行代碼1,否則執(zhí)行代碼 2 ifndef ? ifndef macro_name ? 代碼塊 1 ? else ? 代碼塊 2 ? endif ? 若宏 macro_name沒(méi)有被定義,則執(zhí)行代碼1,否則執(zhí)行代碼 2 if else ? if 常量表達(dá)式 ? 代碼塊 ? endif ? if 常量表達(dá)式 ? 代碼塊 1 ? else ? 代碼塊 2 ? endif elif endif ? if 常量表達(dá)式 1 ? 代碼塊 1 ? elif 常量表達(dá)式 2 ? 代碼塊 2 ? else ? 代碼塊 3 ? endif undef ? 取消 define的宏定義 ? undef Pi C語(yǔ)言程序格式 ? 頭文件 /源文件 ? 頭文件是記錄各種類(lèi)型申明、函數(shù)申明的文件,可以被源文件 include ? 看其他人的程序,首先看頭文件 ? 可能出現(xiàn)有頭文件而沒(méi)有源文件的情況(只給庫(kù) lib) 頭文件 ? 習(xí)慣上一個(gè)源文件對(duì)應(yīng)一個(gè)頭文件 ? 頭文件中不放函數(shù)的實(shí)現(xiàn)過(guò)程部分 ? 頭文件表示一個(gè)源文件作為黑盒子時(shí),外部能夠觀察使用的功能 TURBO C的工程文件 ? Project的組成 ? 選擇 project ? 清除 project 作業(yè) ? 完成以下宏定義 ? max(a,b,c) ? 進(jìn)行各種測(cè)試證明程序的準(zhǔn)確性 作業(yè) 2 ? 將上次作業(yè):求最小公倍數(shù)、最大公約數(shù)分為 3個(gè)文件: , , ? 設(shè)計(jì)程序?qū)崿F(xiàn)之 數(shù)組與指針 ? 基本類(lèi)型的組合,構(gòu)成“構(gòu)造類(lèi)型” ? 數(shù)組是最基本的構(gòu)造類(lèi)型 ? 數(shù)組是一組有共同名稱(chēng)的同類(lèi)型變量的有序組合。 ? 字符串是以‘ \0’結(jié)束的字符的數(shù)組 數(shù)組 ? 一些數(shù)字的有序序列 ? 內(nèi)容:數(shù)字 ? 有序:有編號(hào) ? 序列:有個(gè)數(shù) ? 例如:全班同學(xué)的身高 一維數(shù)組的定義 ? Type array_name[SiZE]。 ? double b[10]。 /*20個(gè)元素的整數(shù)數(shù)組 */ 數(shù)組的下標(biāo) ? C語(yǔ)言中數(shù)組的下標(biāo)都是從 0開(kāi)始的 ? char p[10]。 ? 必須每個(gè)同學(xué)有 0~ 99的編號(hào) ? height[33]是第 34個(gè)同學(xué)的身高值 ? 對(duì)數(shù)組的下標(biāo)操作,頻繁使用是 for循環(huán) ? for ( j=0。j++ ) – height[j]=。 數(shù)組初始化 ? Type array_name={ value_list } 。 ? 有初始化,可以忽略數(shù)組的長(zhǎng)度標(biāo)記 ? int a[8]={1,2,3,4,5,6,7,8}。 ? 后面的 18個(gè)自動(dòng)初始化為 0 ? C語(yǔ)言規(guī)定:只有靜態(tài)數(shù)組與全局?jǐn)?shù)組能夠初始化,局部變量不允許賦初值 利用數(shù)組計(jì)算 fibonacci數(shù) ? int i,j。 ? for ( i=2。++i) – fibonacci[i]=fibonacci[i1]+ fibonacci[i2]。a[0])。 作業(yè) ? 定義一個(gè)數(shù)組,由用戶順序輸入數(shù)值,存儲(chǔ)在數(shù)組中 ,并將該數(shù)組排序?yàn)樵鲂驍?shù)組。 ? M為行數(shù), N為列數(shù) ? 對(duì)其中元素對(duì)訪問(wèn): ? array_name[i][j]。表示 3行 2列的二維數(shù)組 ? 高維數(shù)組 ? int a[7][8][9][5][3]。 字符數(shù)組與字符串 ? 字符數(shù)組是存儲(chǔ)字符的數(shù)組,字符串是特殊的字符數(shù)組,以‘ \0’結(jié)束的字符數(shù)組 ? char a[10]。 ? 等同于 ? char a[]={‘ h’ ,‘ e’ ,‘ l’ ,‘ o’ ,‘ \0’ }。 ? 第一個(gè)定義了字符串的數(shù)目,第二個(gè)是每個(gè)字符串的最大長(zhǎng)度 可執(zhí)行文件的成分 文件頭 代碼段:二進(jìn)制代碼 數(shù)據(jù)段:程序使用的變量 重定位信息 符號(hào)表 調(diào)試信息 可執(zhí)行文件的運(yùn)行 ? 讀可執(zhí)行文件頭,獲得代碼 /數(shù)據(jù)段大小 ? 在內(nèi)存中建立相應(yīng)的大小存放兩個(gè)段 ? 代碼 copy入內(nèi)存 ? 將參數(shù)傳遞給程序 ? 初始化寄存器 ? 運(yùn)行代碼段的 main函數(shù) 代碼段 ? 高級(jí)語(yǔ)句 匯編語(yǔ)言 機(jī)器語(yǔ)言 ? 代碼段就是機(jī)器語(yǔ)言的組合 數(shù)據(jù)段 ? 兩個(gè)組成部分:靜態(tài)數(shù)據(jù)、動(dòng)態(tài)數(shù)據(jù) ? 數(shù)據(jù)段存儲(chǔ)各個(gè)變量,常量 內(nèi)存 memory ? 計(jì)算機(jī)的基本組成部件,用來(lái)存儲(chǔ)程序的代碼與數(shù)據(jù) ? 內(nèi)存大?。?1 3 6 128兆) ? 速度( 70、 60、 50、 6ns) 內(nèi)存的編址 ? 內(nèi)存是連續(xù)的存儲(chǔ)空間。 ? 內(nèi)存編址是連續(xù)的 ? 內(nèi)存編址基本單位為 2個(gè)字節(jié) ? 32位計(jì)算機(jī)為 4字節(jié) 000000020004變量?jī)?nèi)存 例子: int i=3,j=6,k=9。一般分配的空間都是連續(xù)的。 int j=6。 計(jì)算機(jī)對(duì)變量分配存儲(chǔ)空間的大小與變量類(lèi)型有關(guān)。 直接訪問(wèn)方式:內(nèi)存中對(duì) i的存取是通過(guò) i的地址來(lái)完成的。 修改 3010的內(nèi)容為地址的內(nèi)存內(nèi)容 2022202220223010369變量i變量j變量k2022 i_pointer地址的獲得 ? 地址到底是怎么表示的呢? – 用整數(shù)來(lái)表示 ? 已知一個(gè)變量,如何獲得它的地址? – 引入新的運(yùn)算符 amp。 ? printf(―%d\n‖,amp。 /* 打印 i的地址 */ 指針 ? 地址如何存儲(chǔ)呢? amp。i。 – i_pointer=amp。 指針的含義 ? type *pointer_name。 /* ip是個(gè)指向整數(shù)類(lèi)型的指針 */ ? float *fp。 – flaot *pointer。 ? 指針變量的賦值 ? eg: int i,j。 – pointer_1=i。 i2022j2022pointer_23014pointer_13010i2022j2022pointer_23014pointer_13010給變量賦值的方法 兩種賦值方法 直接找變量地址 找 i_pointer( 指向變量 i) 變量的地址稱(chēng)為該變量的指針 指針變量:存放地址
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1