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

正文內(nèi)容

實(shí)用c語言程序設(shè)計(jì)教程4函數(shù)模塊化編程ppt-文庫吧資料

2024-12-13 18:51本頁面
  

【正文】 函數(shù)功能:返回值為對(duì)換位置后的數(shù) ? 在主函數(shù) main的枚舉循環(huán)中,先調(diào)用 prime_number函數(shù)判斷一個(gè)數(shù)是否為素?cái)?shù);再調(diào)用 invert對(duì)換該數(shù),并以其為參數(shù)調(diào)用 prime_number判斷對(duì)換位置后的數(shù)是否為素?cái)?shù),如果是,則輸出該數(shù)。 函數(shù)功能:若 a是素?cái)?shù),返回值為 1,否則返回值為 0 ? 設(shè)計(jì)交換一個(gè)兩位數(shù)的個(gè)位和十位的函數(shù)。處理流程描述如下: ? 設(shè)計(jì)一個(gè)判斷某數(shù)是否為素?cái)?shù)的自定義函數(shù)。 ( 2)需求分析: 用枚舉法解決該問題,逐個(gè)判斷所有的兩位數(shù)是否為絕對(duì)素?cái)?shù),程序輸出所有的絕對(duì)素?cái)?shù)。兩位絕對(duì)素?cái)?shù)是將一個(gè)素?cái)?shù)的個(gè)位和十位交換位置后仍為素?cái)?shù)的自然數(shù)。 } 程序輸出結(jié)果: 9 嵌套調(diào)用舉例: C語言程序設(shè)計(jì) 第 4章 函數(shù)模塊化編程 【 例 47】 利用函數(shù)嵌套,編寫一個(gè)程序,求出所有的兩位絕對(duì)素?cái)?shù)。 return a 。 i0。 } sub1(int n) { int i,a=0。 函數(shù)的嵌套 C語言程序設(shè)計(jì) 第 4章 函數(shù)模塊化編程 include void main( ) { int n=3。 在 C語言的函數(shù)調(diào)用過程中,若函數(shù)直接或間接調(diào)用函數(shù)自身,則這種調(diào)用稱為函數(shù)的 “ 遞歸調(diào)用 ” 。 C語言程序設(shè)計(jì) 第 4章 函數(shù)模塊化編程 函數(shù)的嵌套與遞歸函數(shù) (Recursive Functions) 函數(shù) B { …… …… …… } 函數(shù) A { …… 調(diào)用函數(shù) B; …… } main函數(shù) { …… 調(diào)用函數(shù) A。y a: b: C語言程序設(shè)計(jì) 第 4章 函數(shù)模塊化編程 地址傳遞( Passbyaddress ) : 地址傳遞方式是指形參定義為指針,而實(shí)參是內(nèi)存對(duì)象的地址。y a: b: 7 11 x: y: temp swap: 11 7 x: y: amp。 } 7 11 x: y: 調(diào)用前: 調(diào)用結(jié)束: 11 7 x: y: 調(diào)用: amp。 *a=*b。 } void swap( int *a,int *b ) { int temp。y)。 swap(amp。 printf(x=%d,\ty=%d\n,x,y)。 include void swap(int *,int *)。 局部變量( local variable) : 在函數(shù)中聲明定義的每一個(gè)變量(包括形式參數(shù))僅在聲明它們的函數(shù)中有作用,因此被稱為局部變量( local variable)。函數(shù)未被調(diào)用時(shí),形參變量不分配存儲(chǔ)單元。 } 7 11 x: y: 調(diào)用前: 調(diào)用結(jié)束: 7 11 x: y: 開始調(diào)用: 7 11 a: b: 7 11 x: y: 執(zhí)行 swap: 7 11 x: y: 11 7 a: b: temp 形參 內(nèi)部變量 返回 內(nèi)部變量 實(shí)參 C語言程序設(shè)計(jì) 第 4章 函數(shù)模塊化編程 函數(shù) main 函數(shù) swap a b x y 實(shí)參與形參數(shù)據(jù)傳遞 x y a b 實(shí)參值 形參值 用完釋放 內(nèi)存示意圖 C語言程序設(shè)計(jì) 第 4章 函數(shù)模塊化編程 值傳遞( Callbyvalue) : 實(shí)參向形參復(fù)制數(shù)據(jù)。 swap(x,y)。 printf(x=%d,\ty=%d\n,x,y)。 return。 a=b。 include void swap(int a,int b) { int temp。參數(shù)傳遞有 “ 值傳遞 ” 和 “ 地址傳遞 ” 兩種方式。 ?主調(diào)函數(shù)與被調(diào)函數(shù)之間是 雙向傳遞數(shù)據(jù) 。語句 返回主調(diào)函數(shù) 返回主調(diào)函數(shù) C語言程序設(shè)計(jì) 第 4章 函數(shù)模塊化編程 函數(shù)間的數(shù)據(jù)傳遞方式 數(shù)據(jù)在函數(shù)乊間的傳遞 ?C語言中利用 參數(shù)、返回值和變量 三種方式進(jìn)行函數(shù)之間的數(shù)據(jù)傳遞。 ?函數(shù)調(diào)用的一般方式有三種: ( 1) 函數(shù)表達(dá)式 (c+d*max(a,b))%e ( 2) 函數(shù)語句調(diào)用 printf(%d\n,i)。 C語言程序設(shè)計(jì) 第 4章 函數(shù)模塊化編程 ? 函數(shù)調(diào)用的一般形式為: 函數(shù)名 (實(shí)參表 ) ?函數(shù)調(diào)用時(shí),實(shí)參與形參應(yīng)保持個(gè)數(shù)、次序及類型一致,以確保實(shí)參與形參之間數(shù)據(jù)的正確傳遞。這個(gè)過程就叫函數(shù)調(diào)用與返回。 函數(shù)調(diào)用使程序控制流程轉(zhuǎn)到被調(diào)函數(shù)內(nèi)部。 } } main主函數(shù) 自定義函數(shù) 函數(shù)調(diào)用 C語言程序設(shè)計(jì) 第 4章 函數(shù)模塊化編程 程序執(zhí)行總是從主函數(shù)開始。j++){ k=prime_number(j)。 for(j=min。min,amp。 printf(請(qǐng)輸入搜索數(shù)據(jù)范圍: min,max\n)。 else return 0。j++) if(!(n%j)) {return 0。 for(j=2。 (2)循環(huán)遍歷 1~ 1000, 調(diào)用 prime_ number()函數(shù)判斷每個(gè)數(shù) , 返回值為 1, 則輸出此數(shù) , 否則不輸出 。 } 程序如下 : C語言程序設(shè)計(jì) 第 4章 函數(shù)模塊化編程 函數(shù)的分類(自學(xué)) ?從定義函數(shù)的角度 ?標(biāo)準(zhǔn)函數(shù)(庫函數(shù)):由系統(tǒng)提供 ?用戶自定義函數(shù) ?從函數(shù)形式 ?無參函數(shù) ?有參函數(shù) ?從函數(shù)調(diào)用角度 ?有返回值函數(shù) ?無返回值函數(shù) C語言程序設(shè)計(jì) 第 4章 函數(shù)模塊化編程 (Called)與返回 函數(shù)調(diào)用形式和調(diào)用過程 函數(shù)間的數(shù)據(jù)傳遞方式 函數(shù)的嵌套與遞歸函數(shù) 項(xiàng)目案例 C語言程序設(shè)計(jì) 第 4章 函數(shù)模塊化編程 函數(shù)調(diào)用( call)形式和調(diào)用過程 【 例 44】 用函數(shù)調(diào)用實(shí)現(xiàn)求 1000以內(nèi)的全部素?cái)?shù) 分析: (1)把判斷一個(gè)數(shù)是否為素?cái)?shù)的算法設(shè)計(jì)為一個(gè)函數(shù): int prime_number(int n) 函數(shù)功能 :判斷一個(gè)數(shù)是否為素?cái)?shù) 。 else if(xnum) printf(小了 .請(qǐng)繼續(xù) ...\n)。break。 /*輸入所猜想的數(shù) x*/ if(x==1) exit(1)。i++) /*循環(huán)猜 10次 */ { scanf(%d,amp。 for(i=1。 /*循環(huán)產(chǎn)生不同的隨時(shí)機(jī)數(shù) */ num=1+rand()%100。 printf(如果輸入數(shù)據(jù) 1,則游戲結(jié)束 !請(qǐng)開始 ...\n)。 } } while(1)。} else if(xnum) printf(“大了 , 再猜 ” ) 。 請(qǐng)繼續(xù) ...\n)。i++){ 輸入所猜想的數(shù) x; if(數(shù)據(jù) ==1) exit(0)。 for(i=1。 可以設(shè)置一個(gè)結(jié)束標(biāo)記 , 如輸入 數(shù)據(jù) 1,則游戲結(jié)束 。 而猜一個(gè)數(shù)直到正確也是一個(gè)循環(huán)操作過程 。 M+rand()%(NM+1)產(chǎn)生 [M, N]的隨即數(shù)。 1+rand()%90產(chǎn)生 [1, 90]的隨即數(shù)。 rand()%M可以得到 [0, M1]的隨即數(shù)。 分析:3 產(chǎn)生介于整數(shù) M到 N間的隨機(jī)數(shù)值 。 通??梢岳?time(0)的返回值來當(dāng)做 seed。 srand()用來設(shè)置 rand()產(chǎn)生隨機(jī)數(shù)時(shí)的隨機(jī)數(shù)種子 。 分析:2 設(shè)置隨機(jī)數(shù)種子函數(shù) 。 RAND_MAX的范圍最少是在 0至 32767之間 ( int) , 即雙字節(jié) ( 16位數(shù) ) 。 rand()函數(shù)會(huì)返回一隨機(jī)數(shù)值 , 范圍在 0至 RAND_MAX 間 。否則,告訴用戶該數(shù)是多少,并繼續(xù)下一輪猜數(shù)游戲。 } } C語言程序設(shè)計(jì) 第 4章 函數(shù)模塊化編程 【 例 43】 猜數(shù)游戲。 printf(請(qǐng)輸入字符 :\n)。 else printf(這是可打印字符 %c\n,c)。amp。 c=getchar()。 printf(直接輸入回車符退出程序。 char c。 選擇 while語句實(shí)現(xiàn) 。 3 判斷輸入的每行字符是否符合條件是循環(huán)的條件 。getchar()==10 先判斷 “ c!=10”意味著第一個(gè)輸入字符不是回車 。 判斷鍵盤輸入的一行字符是否只有一個(gè)的表達(dá)式為 : c!=10amp。 空白符指空格 、 水平制表 、 垂直制表、 換頁 、 回車和換行符 。 功能 :判斷字符 c是否為空白符 。 當(dāng) c為可打印字符 ( 0x200x7e) 時(shí) , 返回非零值 , 否則返回零 。 (1) isprint() 和 isspace() 函數(shù)原型 : int isprint(int c)。 關(guān)于庫函數(shù)( Library Functions ) C語言程序設(shè)計(jì) 第 4章 函數(shù)模塊化編程 【 例 42】 判斷鍵盤輸入的字符是否為可打印字符,若從鍵盤輸入的字符多于一個(gè)則退出程序系統(tǒng)。 ?庫函數(shù): 存放在函數(shù)庫中的函數(shù)。庫中存放函數(shù)的名稱和對(duì)應(yīng)的目標(biāo)代碼,以及連接過程中所需的重定位信息。常用的函數(shù)有 calloc、 malloc、 free、 realloc、rand和 srand等。需要的包含文件: 、 。 對(duì)時(shí)間、日期的操作和設(shè)置計(jì)算機(jī)系統(tǒng)狀態(tài)等。 了與字符檢查函數(shù)有關(guān)的常量、宏定義以及相應(yīng)字符轉(zhuǎn)換函數(shù)的類型和參數(shù)描述。相關(guān)的頭文件有:、 、 。 提供了標(biāo)準(zhǔn)輸入輸出函數(shù)所用的常量、結(jié)構(gòu)、宏定義、函數(shù)的類型、參數(shù)的個(gè)數(shù)與類型的描述 數(shù)學(xué)函數(shù) (The mathematical function),包括各種常用的三角函數(shù)、雙曲線函數(shù)、指數(shù)和對(duì)數(shù)函數(shù)等。 …… C語言程序設(shè)計(jì) 第 4章 函數(shù)模塊化編程 VC++ c常用的幾個(gè)頭文件。 _CRTIMP int __cdecl puts(const char *)。 _CRTIMP int __cdecl putc(int, FILE *)。使用某庫函數(shù)時(shí),要在程序中嵌入 (include)該函數(shù)對(duì)應(yīng)的頭文件。 也稱包含文件,文件擴(kuò)展名是 “ .h”。 等價(jià)于 == double sqrt( double x )。 等價(jià)于 == int Area( int length, int width )。 例,下面的函數(shù)原型聲明是合法的。 ? 所有標(biāo)準(zhǔn)庫函數(shù)的函數(shù)原型在頭文件中提供,用 include命令包含頭文件。 函數(shù)原型也稱為函數(shù)聲明,以語句的形式出現(xiàn)。 函數(shù)的原型 (Prototype)或聲明( Declaration)、頭文件和函數(shù)庫 ?函數(shù)必須先定義,后使用。形參名可選,不影響函數(shù)原型。 } 函數(shù)聲明語句 函數(shù)調(diào)用語句 以上源程序存儲(chǔ)在一個(gè)文件 include void main() {…… } int fa torial(int n) { …… return product。 p= factorial(x)。 scanf(%d,amp。 int factorial(int n)。 return product。i=n。 int factorial(int n) /*head*/ { /*body starts here*/ int i,product=1。 不能在函數(shù)體內(nèi)定義其他函數(shù),即 函數(shù)不能嵌套定義 。 return( z )。 …… } 或 int max(int x,y) { …… } 或 int max(x,y) int x,y,z。 return( z )。 { int z。 /*函數(shù)體 */ else return b。執(zhí)行語句用于實(shí)現(xiàn)函數(shù)所需完成的功能。 函數(shù)體是函數(shù)實(shí)現(xiàn)的細(xì)節(jié)。 形參表用逗號(hào)分隔,每個(gè)形參變量
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1