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

正文內(nèi)容

chap6函數(shù)與宏定義(編輯修改稿)

2025-06-20 00:43 本頁面
 

【文章內(nèi)容簡介】 放,以便保留其變量的值,用于下次調(diào)用該函數(shù),則用“ static”說明為 “ 局部靜態(tài)變量 ”。 ? 局部靜態(tài)變量 ? 在靜態(tài)存儲區(qū)分配存儲單元 , 在程序的整個運(yùn)行期間都不釋放 。 ? 在編譯時只賦初值一次 , 以后每次被調(diào)用時不再重新賦值而只保留前次被調(diào)用結(jié)束時的值 。 ? 若未賦初值 , 則在編譯時自動賦初值 0 (數(shù)值型 )或空字符 (字符 型 )。 ? 雖然局部靜態(tài)變量在函數(shù)被調(diào)用結(jié)束后其值仍然存在,但其它函數(shù)是不能引用的。 ?動態(tài)變量 ? 在動態(tài)存儲區(qū)分配存儲單元 , 函數(shù)調(diào)用結(jié)束后即釋放 。 ? 賦初值不是在編譯時而是在函數(shù)被調(diào)用時進(jìn)行的 ,函數(shù)每次被調(diào)用時重新賦值 。 ? 若未賦初值 , 則其值是不確定的 例 打印 1到 5的階乘值。 int fac(int n) { static int f =1。 /? 定義 f 為 int型靜態(tài)變量 ?/ f = f ? n 。 return( f )。 } main( ) { int i。 for (i=1。 i=5。 i++) printf(“%d!=%d\n”, i, fac(i))。 } 3. 全局變量的存儲方式 全局變量存儲在靜態(tài)區(qū) 。 用 extern作聲明可以引用另一個文件中定義的全局變量 。 但用 static定義的全局變量不能被其它文件引用 。 根據(jù)函數(shù)是否能被其它文件所調(diào)用 , 分為: 1. 內(nèi)部函數(shù) 只能被本文件的其它函數(shù)所調(diào)用的函數(shù) 定義方式 如: static int fun(a, b)。 2. 外部函數(shù) 可以被其它文件所使用的函數(shù) 。 定義方式如: extern int fun(a, b)。 如果省略 extern,則隱含該函數(shù)為外部函數(shù)。 內(nèi)部函數(shù)和外部函數(shù) 直接遞歸調(diào)用:在函數(shù)定義的語句中,存在著調(diào)用本函數(shù)的語句。 間接遞歸調(diào)用:在不同的函數(shù)定義中,存在著互相調(diào)用函數(shù)語句的情況。( P136) 遞歸函數(shù)的設(shè)計(jì)和調(diào)用 一個函數(shù)能設(shè)計(jì)成為遞歸函數(shù),在數(shù)學(xué)上必須具備以下兩個條件 : 1)問題的后一部分與原始問題類似 2)問題的后一部分是原始問題的簡化 例 67 例 68 例 67 編寫程序,要求從鍵盤輸入一個正整數(shù) n,計(jì)算n! 。 分析:求 n!可以表達(dá)為: ???????)1)!1(*)1,0(1!nnnnn(即: f(n)=n*f(n1) n1 f(0)=1,f(1)=1 long fac(int n) { long result。 if(n==0||n==1) result=1。 else result=n*fac(n1)。 return result。 } main( ) { int n。 long f。 printf(Please enter value of n:\n)。 scanf(%d,amp。n)。 if(n0) printf(Sorry! You enter a wrong number!\n)。 else { f=fac(n)。 printf(%d!=%ld\n,n,f)。 } } “編譯預(yù)處理 ” 是 C與其它高級語言的一個重要區(qū)別 。 它們主要是: 宏定義 文件包含
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1