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

正文內(nèi)容

[工學(xué)]第4章程序控制結(jié)構(gòu)-資料下載頁(yè)

2024-10-16 18:47本頁(yè)面
  

【正文】 void main() { printf(%d\n,x)。 f()。 printf(%d\n,x)。 } 程序運(yùn)行輸出如下: 100 50 50 ( 35)有以下程序: include int b=2; int fun(int *k) {b=*k+b; return(b); } main( ) {int a[10]={1,2,3,4,5,6,7,8}, i; for(i=2; i4; i++){b=fun(amp。a[i])+b;printf(%d,b); } printf(\n); } 程序運(yùn)行后的輸出結(jié)果是( )。 A. 10 12 B. 8 10 C. 10 28 D. 10 16 外部變量說(shuō)明 ?外部變量說(shuō)明 形式: extern 數(shù)據(jù)類型 變量名 。 ?外部變量(即全局變量)是在函數(shù)的外部定義的,它的作用域?yàn)閺淖兞慷x處開(kāi)始,到本程序文件的末尾。如果外部變量不在文件的開(kāi)頭定義,其有效的作用范圍只限于定義處到文件終了。如果在定義點(diǎn)之前的函數(shù)想引用該外部變量,則應(yīng)該在引用之前用關(guān)鍵字 extern對(duì)該變量作“外部變量聲明”,表示該變量是一個(gè)已經(jīng)定義的外部變量。有了此聲明,就可以從“聲明”處起,合法地使用該外部變量。 include extern int x。 void f() { x=50。 printf(%d\n,x)。 } void main() { printf(%d\n,x)。 f()。 printf(%d\n,x)。 } int x=100。 程序運(yùn)行輸出如下: 100 50 50 外部變量與局部變量同名。 include int x=1,y=2。 /*x、 y為全局變量 */ int max(int x,int y) /*x,y為局部變量 */ { int z。 if(xy)z=x。 else z=y。 return(z)。 } void main() { int x=10,z。 /*x、 z為局部變量 */ z=max(x,y)。 printf(%d,z)。 } 程序的運(yùn)行結(jié)果如下: 10 多文件下的全局作用域 /* C程序文件 */ include int x=100。 void f() { x=50。 printf(%d\n,x)。 } /* C程序文件 */ include extern int x。 void f()。 void main() { printf(%d\n,x)。 f()。 printf(%d\n,x)。 } ?根據(jù)變量的作用域分類 ?變量分為局部變量和全局變量?jī)纱箢悺? ?從變量保存的內(nèi)存區(qū)域或生存期長(zhǎng)短分類 ?保存在動(dòng)態(tài)存儲(chǔ)區(qū)的動(dòng)態(tài)變量和保存在靜態(tài)存儲(chǔ)區(qū)的靜態(tài)變量。 167。 動(dòng)態(tài)存儲(chǔ)方式 ? 動(dòng)態(tài)存儲(chǔ)方式的變量有自動(dòng)變量類型和寄存器類型變量?jī)煞N,它們都是局部變量。 ? 自動(dòng)類型變量 ? 所有局部變量,默認(rèn)情況下都是自動(dòng)類型變量。自動(dòng)變量用關(guān)鍵字 auto作存儲(chǔ)類別的聲明。自動(dòng)變量的定義形式如下: ? auto 數(shù)據(jù)類型 變量名; ? 自動(dòng)變量的定義關(guān)鍵字 auto可以省略, auto不寫(xiě)則隱含定為“自動(dòng)存儲(chǔ)類別”,屬于動(dòng)態(tài)存儲(chǔ)方式。 167。 動(dòng)態(tài)存儲(chǔ)方式 ? 寄存器類型變量 ? 為了提高程序執(zhí)行效率, C語(yǔ)言允許將局部變量的值保存在 CPU中的寄存器中,這種變量叫“寄存器變量”,用關(guān)鍵字 register作聲明。 ? 寄存器變量是局部變量,它只適用于 auto型變量和函數(shù)的形式參數(shù)。所以,它只能在函數(shù)內(nèi)部定義,它的作用域和生命期同 auto型變量一樣。 ? 寄存器變量定義的一般形式為: ? register數(shù)據(jù)類型標(biāo)識(shí)符 變量名表 。 include void main( ) { register int i。 /*定義寄存器變量 i*/ int sum=0。 for(i=0。i10000。i++) sum+=i。 printf(%d\n,sum)。 } 167。 ? 靜態(tài)存儲(chǔ)方式的變量有全局變量和靜態(tài)局部變量?jī)煞N。靜態(tài)變量在定義時(shí)如果不指定初值,則靜態(tài)變量分配的所有內(nèi)存空間都被自動(dòng)填 0。 ? 全局變量全部存放在靜態(tài)存儲(chǔ)區(qū) ,都屬于靜態(tài)變量,在程序開(kāi)始執(zhí)行時(shí)給全局變量分配存儲(chǔ)區(qū),程序執(zhí)行完畢才釋放。在程序執(zhí)行過(guò)程中它們占據(jù)固定的存儲(chǔ)單元,而不動(dòng)態(tài)地進(jìn)行分配和釋放。 ? 在程序設(shè)計(jì)中,有時(shí)需要函數(shù)中的局部變量的值在函數(shù)調(diào)用結(jié)束后不消失而保留原值,這時(shí)就應(yīng)該指定局部變量為“靜態(tài)局部變量”, 靜態(tài)局部變量用關(guān)鍵字 static進(jìn)行聲明。形式如下: ? static 數(shù)據(jù)類型 變量名 。 ? 靜態(tài)局部變量也存放在靜態(tài)存儲(chǔ)區(qū),在程序開(kāi)始執(zhí)行時(shí)給靜態(tài)局部變量分配存儲(chǔ)區(qū),程序執(zhí)行完畢才釋放。在程序執(zhí)行過(guò)程中它們占據(jù)固定的存儲(chǔ)單元,而不動(dòng)態(tài)地進(jìn)行分配和釋放。 include f(int a) /*可以省略函數(shù)類型但被默認(rèn)為 int型 */ { auto b=0。 /*int可以省略 b默認(rèn)為 int型 */ static c=3。 /*int可以省略 c默認(rèn)為 int型 */ b=b+1。 c=c+1。 return(a+b+c)。 } void main() { int a=2,i。 for(i=0。i3。i++) printf(%d,f(a))。 } 程序的輸出結(jié)果是: 7 8 9 靜態(tài)局部變量在編譯時(shí)賦初值,即只賦初值一次,而對(duì)自動(dòng)變量賦初值是在函數(shù)調(diào)用時(shí)進(jìn)行,每調(diào)用一次函數(shù)重新給一次初值,相當(dāng)于執(zhí)行一次賦值語(yǔ)句。 include int fac(int n) { static int f = 1。 f=f*n。 return(f) 。 } void main( ) { int i。 for(i= 1。i= 5。i++ ) printf( %d! = %d\n, i, fac(i))。 } 程序的輸出結(jié)果是: 1!=1 2!=2 3!=6 4!= 24 5!= 120 ?當(dāng)函數(shù)的返回值是地址時(shí),該函數(shù)就是指針型函數(shù)。 ?指針型函數(shù)聲明和定義的一般形式: 數(shù)據(jù)類型 *函數(shù)名 () ?在指針型函數(shù)中,返回的地址值可以是變量的地址、數(shù)組的首地址或指針變量,還可以是結(jié)構(gòu)體、共用體等構(gòu)造數(shù)據(jù)類型的地址。 例,查找星期的英文名稱。 include char *week_name(char (*a)[10],int n)。 void main() { char a[][10]={Sun,Mon,Tue,Wedn,Thu,Fri, Sat}。 int x。 printf(輸入數(shù)字 (O 6))。 scanf(%d,amp。x)。 if(x=0 amp。amp。 x=6) printf(星期 %2d 的英文縮寫(xiě)是 %s\n,x,week_name(a,x))。 else printf(input error)。 } char *week_name(char (*a)[10],int n) { return a[n]。 } 程序運(yùn)行結(jié)果如下: 輸入數(shù)字 (06) 5↙ 星期 5的英文縮寫(xiě)是 Fri 指向函數(shù)的指針 ? 保存函數(shù)地址的指針變量稱為指向函數(shù)的指針變量,簡(jiǎn)稱為函數(shù)指針。它的定義形式如下: 數(shù)據(jù)類型( *函數(shù)指針名) (); ?數(shù)據(jù)類型是指針指向的函數(shù)所具有的數(shù)據(jù)類型,即指向的函數(shù)的返回值的類型。例如: int (*pf)()。 求兩個(gè)數(shù)最大值,顯示輸出支持中英文雙語(yǔ)。 include void GetMax(int x,int y,void (*pf)())。/*求 x, y的最大值并輸出 */ void put_(int x)。 /*用中文輸出 */ void put_en(int x)。 /*用英文輸出 */ void main() { int i,x=10,y=20。 puts((中文 :1) )。 puts( select language(English:2) )。 scanf(%d,amp。i)。 switch(i) { case 1: GetMax(x,y,put_)。 break。 case 2: GetMax(x,y,put_en)。 break。 } } void GetMax(int x,int y,void (*pf)()) /*求 x, y的最大值并輸出 */ { if(xy) pf(x)。 else pf(y)。 } void put_(int x) /*用中文輸出 */ { printf(最大值為 :%d\n,x)。 } void put_en(int x) /*用英文輸出 */ { printf(max value is:%d\n,x)。 }
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1