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

正文內(nèi)容

第7章用函數(shù)實現(xiàn)模塊化程序設(shè)計convertor-資料下載頁

2025-07-07 15:50本頁面
  

【正文】 nt a=2,i。 for(i=0。i3。i++) printf(“%d\n”,f(a))。 return 0。}int f(int a){ auto int b=0。 static c=3。 b=b+1。 c=c+1。 return(a+b+c)。}bc第二次調(diào)用期間0451 考察靜態(tài)局部變量的值。include int main(){ int f(int)。 int a=2,i。 for(i=0。i3。i++) printf(“%d\n”,f(a))。 return 0。}int f(int a){ auto int b=0。 static c=3。 b=b+1。 c=c+1。 return(a+b+c)。}bc第二次調(diào)用結(jié)束158 考察靜態(tài)局部變量的值。include int main(){ int f(int)。 int a=2,i。 for(i=0。i3。i++) printf(“%d\n”,f(a))。 return 0。}int f(int a){ auto int b=0。 static c=3。 b=b+1。 c=c+1。 return(a+b+c)。}bc第三次調(diào)用開始05 考察靜態(tài)局部變量的值。include int main(){ int f(int)。 int a=2,i。 for(i=0。i3。i++) printf(“%d\n”,f(a))。 return 0。}int f(int a){ auto int b=0。 static c=3。 b=b+1。 c=c+1。 return(a+b+c)。}bc第三次調(diào)用期間0561 考察靜態(tài)局部變量的值。include int main(){ int f(int)。 int a=2,i。 for(i=0。i3。i++) printf(“%d\n”,f(a))。 return 0。}int f(int a){ auto int b=0。 static c=3。 b=b+1。 c=c+1。 return(a+b+c)。}bc第三次調(diào)用結(jié)束169 考察靜態(tài)局部變量的值。include int main(){ int f(int)。 int a=2,i。 for(i=0。i3。i++) printf(“%d\n”,f(a))。 return 0。}int f(int a){ auto int b=0。 static c=3。 b=b+1。 c=c+1。 return(a+b+c)。}c整個程序結(jié)束6 考察靜態(tài)局部變量的值。include int main(){ int f(int)。 int a=2,i。 for(i=0。i3。i++) printf(“%d\n”,f(a))。 return 0。}int f(int a){ auto int b=0。 static c=3。 b=b+1。 c=c+1。 return(a+b+c)。}在編譯時賦初值在函數(shù)調(diào)用時賦初值 考察靜態(tài)局部變量的值。include int main(){ int f(int)。 int a=2,i。 for(i=0。i3。i++) printf(“%d\n”,f(a))。 return 0。}int f(int a){ auto int b=0。 static c=3。 b=b+1。 c=c+1。 return(a+b+c)。}若不賦初值,是0若不賦初值,不確定 考察靜態(tài)局部變量的值。include int main(){ int f(int)。 int a=2,i。 for(i=0。i3。i++) printf(“%d\n”,f(a))。 return 0。}int f(int a){ auto int b=0。 static c=3。 b=b+1。 c=c+1。 return(a+b+c)。}僅在本函數(shù)內(nèi)有效 輸出1到5的階乘值。解題思路:可以編一個函數(shù)用來進行連乘,如第1次調(diào)用時進行1乘1,第2次調(diào)用時再乘以2,第3次調(diào)用時再乘以3,依此規(guī)律進行下去。include int main(){ int fac(int n)。 int i。 for(i=1。i=5。i++) printf(“%d!=%d\n”,i,fac(i))。 return 0。}int fac(int n){ static int f=1。 f=f*n。 return(f)。 }若非必要,不要多用靜態(tài)局部變量3. 寄存器變量(register變量)一般情況下,變量(包括靜態(tài)存儲方式和動態(tài)存儲方式)的值是存放在內(nèi)存中的寄存器變量允許將局部變量的值放在CPU中的寄存器中現(xiàn)在的計算機能夠識別使用頻繁的變量,從而自動地將這些變量放在寄存器中,而不需要程序設(shè)計者指定 全局變量的存儲類別全局變量都是存放在靜態(tài)存儲區(qū)中的。因此它們的生存期是固定的,存在于程序的整個運行過程一般來說,外部變量是在函數(shù)的外部定義的全局變量,它的作用域是從變量的定義處開始,到本程序文件的末尾。在此作用域內(nèi),全局變量可以為程序中各個函數(shù)所引用。1. 在一個文件內(nèi)擴展外部變量的作用域外部變量有效的作用范圍只限于定義處到本文件結(jié)束。 如果用關(guān)鍵字extern對某變量作“外部變量聲明”,則可以從“聲明”處起,合法地使用該外部變量 調(diào)用函數(shù),求3個整數(shù)中的大者。解題思路:用extern聲明外部變量,擴展外部變量在程序文件中的作用域。include int main(){ int max( )。 extern int A,B,C。 scanf(“%d %d %d”,amp。A,amp。B,amp。C)。 printf(max is %d\n,max())。 return 0。}int A ,B ,C。int max( ) { int m。 m=AB?A:B。 if (Cm) m=C。 return(m)。 }2. 將外部變量的作用域擴展到其他文件如果一個程序包含兩個文件,在兩個文件中都要用到同一個外部變量Num,不能分別在兩個文件中各自定義一個外部變量Num應在任一個文件中定義外部變量Num,而在另一文件中用extern對Num作“外部變量聲明”在編譯和連接時,系統(tǒng)會由此知道Num有“外部鏈接”,可以從別處找到已定義的外部變量Num,并將在另一文件中定義的外部變量num的作用域擴展到本文件 給定b的值,輸入a和m,求a*b和am的值。解題思路:分別編寫兩個文件模塊,其中文件file1包含主函數(shù),另一個文件file2包含求am的函數(shù)。在file1文件中定義外部變量A,在file2中用extern聲明外部變量A,把A的作用域擴展到file2文件。:include int A。 int main() { int power(int)。 int b=3,c,d,m。 scanf(%d,%d,amp。A,amp。m)。 c=A*b。 printf(%d*%d=%d\n,A,b,c)。 d=power(m)。 printf(%d**%d=%d\n,A,m,d)。 return 0。}:extern A。 int power(int n){ int i,y=1。 for(i=1。i=n。i++) y*=A。 return(y)。}編譯和運行包括多個文件的程序,可參考《C程序設(shè)計學習輔導》一書的“C語言上機指南”部分有時在程序設(shè)計中希望某些外部變量只限于被本文件引用。這時可以在定義外部變量時加一個static聲明。static int A。int main ( ){ ……}extern A。void fun (int n){ …… A=A*n。 ……}只能用于本文件本文件仍然不能用說明: 不要誤認為對外部變量加static聲明后才采取靜態(tài)存儲方式,而不加static的是采取動態(tài)存儲聲明局部變量的存儲類型和聲明全局變量的存儲類型的含義是不同的對于局部變量來說,聲明存儲類型的作用是指定變量存儲的區(qū)域以及由此產(chǎn)生的生存期的問題,而對于全局變量來說,聲明存儲類型的作用是變量作用域的擴展問題用static 聲明一個變量的作用是:(1) 對局部變量用static聲明,把它分配在靜態(tài)存儲區(qū),該變量在整個程序執(zhí)行期間不釋放,其所分配的空間始終存在。(2) 對全局變量用static聲明,則該變量的作用域只限于本文件模塊(即被聲明的文件中)。注意:用auto、register、static聲明變量時,是在定義變量的基礎(chǔ)上加上這些關(guān)鍵字,而不能單獨使用。下面用法不對:int a。 static a。 編譯時會被認為“重新定義”。 存儲類別小結(jié)對一個數(shù)據(jù)的定義,需要指定兩種屬性:數(shù)據(jù)類型和存儲類別,分別使用兩個關(guān)鍵字例如: static int a。  auto char c。  register int d。 可以用extern聲明已定義的外部變量例如: extern b。靜態(tài)局部整型變量或靜態(tài)外部整型變量自動變量,在函數(shù)內(nèi)定義寄存器變量,在函數(shù)內(nèi)定義將已定義的外部變量b的作用域擴展至此(1)從作用域角度分,有局部變量和全局變量。它們采用的存儲類別如下:按作用域角度分局部變量全局變量自動變量靜態(tài)局部變量寄存器變量靜態(tài)外部變量外部變量形式參數(shù)可以定義為自動變量或寄存器變量(2)從變量存在的時間區(qū)分,有動態(tài)存儲和靜態(tài)存儲兩種類型。靜態(tài)存儲是程序整個運行時間都存在,而動態(tài)存儲則是在調(diào)用函數(shù)時臨時分配單元按生存期分動態(tài)存儲靜態(tài)存儲自動變量寄存器變量靜態(tài)局部變量外部變量形式參數(shù)靜態(tài)外部變量(3)從變量值存放的位置來區(qū)分,可分為:按變量值存放的位置分內(nèi)存中靜態(tài)存儲區(qū)內(nèi)存中動態(tài)存儲區(qū)靜態(tài)局部變量靜態(tài)外部變量自動變量和形式參數(shù)寄存器變量外部變量CPU中的寄存器(4) 關(guān)于作用域和生存期的概念對一個變量的屬性可以從兩個方面分析:作用域:如果一個變量在某個文件或函數(shù)范圍內(nèi)是有效的,就稱該范圍為該變量的作用域生存期:如果一個變量值在某一時刻是存在的,則認為這一時刻屬于該變量的生存期作用域是從空間的角度,生存期是從時間的角度二者有聯(lián)系但不是同一回事int a。int main( ){ …f2( )?!璮1( )?!?}void f1( ){ auto int b。 … f2( )。 … }void f2( ){ static int c。 …… }a的作用域b的作用域c的作用域a生存期b生存期c生存期mainf2f1mainf2f1main程序執(zhí)行過程變量存儲類別函 數(shù) 內(nèi)函 數(shù) 外作用域存在性作用域存在性自動變量和寄存器變量∨∨╳╳靜態(tài)局部變量∨∨╳∨靜態(tài)外部變量∨∨∨(只限本文件)∨外部變量∨∨∨∨各種類型變量的作用域和存在性的情況(5) static對局部變量和全局變量的作用不同局部變量使變量由動態(tài)存儲方式改變?yōu)殪o態(tài)存儲方式全局變量使變量局部化(局部于本文件),但仍為靜態(tài)存儲方式從作用域角度看,凡有static聲明的,其作用域都是局限的,或者是局限于本函數(shù)內(nèi)(靜態(tài)局部變量),或者局限于本文件內(nèi)(靜態(tài)外部變量) 關(guān)于變量的聲明和定義一般為了敘述方便,把建立存儲空間的變量聲明稱定義,而把不需要建立存儲空間的聲明稱為聲明在函數(shù)中出現(xiàn)的對變量
點擊復制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1