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

正文內(nèi)容

c語言程序設(shè)計一體化案例教程中ppt(完整版)

2025-04-27 00:26上一頁面

下一頁面
  

【正文】 /* 省略形參名 */? 注意正確區(qū)分函數(shù)定義、函數(shù)調(diào)用和函數(shù)原型。return 1。/* 去掉低位 */else return 0。int main(void){ int i。但應(yīng)注意,實參值賦給形參后,形參值在函數(shù)中的變化對實參值無任何影響。⑶執(zhí)行 sum 函數(shù)體。y)。? 函數(shù)嵌套調(diào)用: 函數(shù)調(diào)用自身或其他函數(shù) 。? 若實參與形參的類型不同但兼容,則自動將實參的類型轉(zhuǎn)換成對應(yīng)形參的類型。? 在無返回值的函數(shù)體中,若要提前結(jié)束函數(shù)的執(zhí)行,則也要用 return 語句。}? return 語句的格式:return 表達式 。scanf(%d,amp。? 用標識符,應(yīng)見名知意。? 定義性聲明:即函數(shù)定義。C 語言程序的基本結(jié)構(gòu)? C 語言程序的基本結(jié)構(gòu):? 一個 main 函數(shù)+若干 ( 可以為零 ) 個其他函數(shù)。return 100*a0+10*a10+a100。/* 各位排序 */if(a100a0) t=a100,a100=a0,a0=t。n=max min。return n。if(n=100 amp。Check(n) 。案例 命題檢驗 ( 續(xù) 1)? 功能分解: main 函數(shù)分解成數(shù)據(jù)輸入和命題驗證兩大功能,分別由 Input 函數(shù)和 Check 函數(shù)完成。若子問題還不夠簡 單,則繼續(xù)按功能分解,直到所有子問題都能解決為止。? 功能集成: 解決該復(fù)雜問題的函 數(shù)即可通過調(diào)用一系列解決子問題的函數(shù)來實現(xiàn)。? Input 函數(shù)的原型:int Input()。return 0。amp。}案例 命題檢驗 ( 續(xù) 3)? Check 函數(shù)的功能分解: 驗證命題要反復(fù)做 “ 重排求差 ”操作,涉及:? 求一個三位數(shù)的數(shù)字重排后的最大數(shù):復(fù)雜操作,可定義 Max 函數(shù)來完成,其原型為:int Max(int n)。printf(%d %d=%d \ n,max,min,n)。if(a10a0) t=a10,a10=a0,a0=t。}案例 命題檢驗 ( 續(xù) 7)? 經(jīng)過以上自頂向下的功能分解和功能集成,編程基本完成。? main 函數(shù)是 C 語言程序執(zhí)行的起點,由系統(tǒng)調(diào)用。? 原型聲明:概括說明了函數(shù)的全部調(diào)用特征,包括函數(shù)的名字、返回值類型、形參的個數(shù)和類型。? 用于存放函數(shù)調(diào)用時 所接受的 實際數(shù)據(jù)? 有參函數(shù): 參數(shù)表包含至少1個參數(shù),參數(shù)之間用逗號分隔。score)。先算表達式的值,再轉(zhuǎn)成函數(shù)返回值類型的值返回。格式:return。例如,庫函數(shù)調(diào)用 sqrt(3) ,應(yīng)將整型 3 自動轉(zhuǎn)換成 double 類型。函數(shù)調(diào)用 ( 續(xù) )? 問題描述: 下列程序中, sum 函數(shù)用于計算兩個整數(shù)的和。s= sum(x,y)。遇 return 語句,結(jié)束 sum 函數(shù)調(diào)用:①返回 sum 函數(shù)調(diào)用處,系統(tǒng)分配臨時變量,用于接收返回值。原因是,實參為表達式,形參不可能給實參表達式賦值。for(i=1001。return 1。}? 函數(shù)原型聲明 ( 函數(shù)原型 ) : 函數(shù)的引用性說明,是函數(shù)聲明的另一種形式。 函數(shù)的原型? 何時必須函數(shù)原型: 函數(shù)調(diào)用先于其定義性說明。函數(shù)原型的主要用途 標識符的作用域? 作用域: 標識符能被使用的程序區(qū)域。塊作用域 ( 局部作用域 )? 不同塊作用域可重疊: x 、 y 的作用域與 a 、 b 的作用域重疊。? 塊作用域與文件作用域重疊: 重疊區(qū)域若有標識符重名,則塊作用域內(nèi)的 “ 本地 ” 標識符優(yōu)先。 }? 外部函數(shù)的引用性說明: 在一個程序文件中調(diào)用另一個程序文件中定義的外部函數(shù)前,應(yīng)先對被調(diào)用的外部函數(shù)做原型聲明 ,以擴展其作用域 。 }? 也可省略:float f(int,float)。? 動態(tài)變量的生存期: 僅在變量的作用域內(nèi)。? 變量的存儲種類分為:? 自動變量 ( auto)? 寄存器變量 ( register)? 靜態(tài)變量 ( static)? 外部變量 ( extern)? 變量的存儲種類在變量說明時指定自動變量? 自動變量: 在說明時用 auto 指定存儲種類的局部變量。主要用于控制循環(huán)次數(shù)的臨時變量等。 /* 與全局變量的定義相同 */或extern int x=0。return x+=i。? 引用性說明外部變量 x , 擴展其作用域至 f 函數(shù)? 引用性說明外部變量 x , 擴展其作用域至 main 函數(shù)? 定義性說明全局變量 x靜態(tài)變量? 靜態(tài)變量: 用 static 指定存儲種類的變量,存放在靜態(tài)存儲區(qū)。return ++count。fact*=i。? 程序輸出結(jié)果:f 函數(shù)已被調(diào)用 1 次f 函數(shù)已被調(diào)用 2 次1!=12!=23!=6靜態(tài)全局變量? 文件 的內(nèi)容為:includestatic int i=2。void f(void){ i+=10。? 若程序由多個文件組成時,則在說明全局變量時,有無 static 作用不同。多數(shù)計算機為一個字節(jié)。變量 c 的地址和值地址的概念 ( 續(xù) )指針的概念? 指針的引入: 變量的地址僅能指示和定位內(nèi)存單元的開始位置,而無法確定多少個連續(xù)內(nèi)存單元組成一個存儲單元。在 PC 機中用 4 個字節(jié)來存放地址值,即不同類型的指針變量所分配的存儲單元大小相同。j。作用是取其操作數(shù)所指變量。swap(amp。? 指針參數(shù)的值傳遞: 實參 amp。? 問題分析與程序?qū)崿F(xiàn): 因一個函數(shù)最多只能返回一個值 ,故當它需要 “ 返回 ” 多個值時,應(yīng)另辟蹊徑。x)。}return total。 includeint input( /* 功能:輸入 10 個整數(shù),求它們的最大值、最小值和總和 */int*pmax, /* 指向存放最大值的變量 */int*pmin /* 指向存放最小值的變量 */) /* 返回值: 10 個整數(shù)的和 */{ int i,x,total。total+=x。printf(10 個整數(shù)的和 =% d, 最大值 =% d, 最小值 =% d \ n,total,max,min)。count 。? 程序運行結(jié)果:101? 注意: 若函數(shù)返回指針,則應(yīng)保證該指針所指變量的生存期足夠長,以確保合法操作對該指針。? 再求 2! :轉(zhuǎn)換成 2*1! 。return 0。如上圖右邊所示。如求 n! 時, n 為 1 是遞歸結(jié)束條件。scanf(%d,amp。? 程序?qū)崿F(xiàn):案例 求輸入成績的最高分 includevoid Input(int *max){ int x。Input(amp。用函數(shù) :move(char x,char y)。A39。 }案例 漢諾塔問題 ( 續(xù) 2)/* 把 A 柱上的 n 個盤子借助于 B 柱移到 C 柱上 */void hanoi(int n,char A,char B,char C){ if(n==1) move(A,C)。 包含文件? 文件包含: 一個源文件可將另一個源文件的全部內(nèi)容包含進來。return 0。若要包含多個文件,則要用多個包含命令。 在編譯預(yù)處理時,將該命令后所有出現(xiàn) PI 處均用 f 替換。案例 無參宏的定義和使用說明? 宏替換時,只對宏名作字符串替換,不作任何計算,也不作語法檢查。)。? 格式: define 宏名 ( 參數(shù)表 ) 字符串參數(shù)表的參數(shù)之間用逗號分隔,參數(shù)僅用標識符表示,不能指定參數(shù)類型。? 舉例:宏調(diào)用經(jīng)宏擴展后為:float b=2**。有參宏與函數(shù)頗為相似,但兩者有本質(zhì)區(qū)別? 有參宏定義只給出形參,不能指明形參類型;函數(shù)定義必須指定每個形參的類型。主要用于設(shè)計通用程序、調(diào)試程序、包含文件。? 格式:defined( 標識符 )或defined 標識符若 “ 標識符 ” 是已定義宏名,且未用 undef 終止,則結(jié)果為非 0 ,否則為 0 。includeconst float pi=。? 更多語言版可通過擴充條件編譯命令實現(xiàn)。? 解決辦法:⑴同一頭文件在源程序文件中保證只包含一次。 }endif? 文件 改為: includeif !defined(_MY3_H)define _MY3_Hfloat area(float r){ return pi*r*r。? 頭文件和實現(xiàn)文件都是文本文件。? if !defined(_CIRCLE_H)define _CIRCLE_Hfloat area(float r)。printf( 半徑為 % g 的圓的面積 =% g \ n,r,area(r))。? 編譯預(yù)處理后,使所有文件都在同一個臨時文件中,導致全局標識符的重名和干擾問題。? 不便于用循環(huán)處理。 一維數(shù)組一維數(shù)組的定義? 定義格式:[ 存儲種類 ] 數(shù)據(jù)類型 數(shù)組名 [ 常量表達式 ]。/* 共 117 個字符元素 */? 注意: 不能用變量說明數(shù)組的大小。j5。輕則導致邏輯錯誤,重則導致運行錯誤。? 計算:sizeof(x)/sizeof(x[0])sizeof(x) : 數(shù)組 x 占用內(nèi)存的字節(jié)數(shù)sizeof(x[0]) : 元素 x[0] 占用內(nèi)存的字節(jié)數(shù)? 初始化部分元素: 應(yīng)從第 0 個元素開始,依次列舉部分元素的值,未列舉初值的元素取默認值 0 。 /* 不允許: 因數(shù)組名是常量指針 */for(j=0。for(i=0。案例 最大值、最小值和平均值? 程序?qū)崿F(xiàn): includeint main(void){ int i,score[10],max,min,ave。if(score[i]max) max=score[i]。每個功能很適合用一個函數(shù)實現(xiàn)。score[i])。for(i=0。}案例 最大值、最小值和平均值 ( 續(xù) 4)? 故無法用 sizeof(s)/sizeof(s[0])計算數(shù)組 s 的元素個數(shù)。? 使用第二種方法的完整程序參見教材。i++) scanf(%d,amp。Input( )。? 第一種方法:定義全局數(shù)組 score 保存 10 名學生的成績,使 Input 函數(shù)可以直接訪問。ave+=score[i]。scanf(%d,amp。i++) /* 輸入 10 名學生的成績 */scanf(%d,amp。j++) b[j]=a[j]。數(shù)組的大小 10 不可省,第 0 個元素的初值 0 也不可省。? 數(shù)組編程應(yīng)注意下標越界: 因檢查下標越界既復(fù)雜又費時,即使發(fā)現(xiàn)仍需程序員解決,故 C 語言不做檢查,希望程序員把關(guān)。a[ j 2 ]=3。int d[ n ]。? 例如: 在塊作用域有下列說明int a[5]。? 數(shù)組: 同類數(shù)據(jù)的有序集合。 但操作復(fù)雜,需記編譯、鏈接選項。}? 頭文件 是 Circle 模塊的接口,對于 Circle 模塊的實現(xiàn)和使用至關(guān)重要。多文件程序 舉例 ( 續(xù) 1)? includeconst float pi=。? 便于模塊分別編譯,提高整個程序的編譯速度。? 多文件組織程序: 一個程序放在一個以上的文件中。⑵定義頭文件時,使用條件編譯,以保證同一頭文件不論被包含多少次,只有第一次的包含命令起作用。? 文件 的內(nèi)容:includefloat circum(float r){ return 2*pi*r。 }int main(void){if LAN==0 /* 漢語簡體 */printf( 圓周長= % f \ n,circum(10))。? 例如: if !defined(_MY_H)define _MY_Hendif等價于: ifndef _MY_Hdefine _MY_Hendif條件編譯用于調(diào)試程序? 程序調(diào)試時常要輸出調(diào)試信息,而調(diào)試結(jié)束后不輸出,則可將輸出調(diào)試信息的語句用條件編譯括起來。? 現(xiàn)代條件編譯命令: 根據(jù)表達式的值來確定是否要編譯程序段。宏調(diào)用時,僅做替換,不作計算;函數(shù)調(diào)用時,先求各個實參的值,后執(zhí)行函數(shù)調(diào)用。? 宏調(diào)用中的實參可以是表達式,但應(yīng)避免出錯。? 舉例: define PI define CIRCUM(r) 2*PI*rfloat b= CIRCUM() 。此分號多余。執(zhí)行后, x 的值為 23 ,而不是 64 。includedefine PI define R define CIRCUM 2*PI*Rdefine PROMPT 圓周長= int main(void){ printf(%s%f \ n,PROMPT,CIRCUM)。? 用包含文件的內(nèi)容替換 include 命令行時,是在一個臨時文件中進行的,并不改變原文件的內(nèi)容。 }int main(void){ printf(%d \ n,max(2,3))。? 文件包含命令: 有兩種格式 include 文件名 include 文件名 ? 按編譯系統(tǒng)規(guī)定的路徑( include 目錄或其子目錄 ) 查找包含文件。/* 將 A 柱上的最后一個盤子
點擊復(fù)制文檔內(nèi)容
教學課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1