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

正文內(nèi)容

c語(yǔ)言實(shí)驗(yàn)教程(中)清華大學(xué)ppt(參考版)

2024-10-19 16:01本頁(yè)面
  

【正文】 b)。 swap(amp。 void main() { int a=5,b=9。 第九章 指針 a 5 ( a) 參數(shù)傳遞 b 9 x 5 y 9 a 5 b 9 x 9 y 5 ( b) 形參互換 第九章 指針 例 用指針作參數(shù),實(shí)現(xiàn)兩值的交換。 情況如下圖 (a)所示。當(dāng)主函數(shù) main()調(diào)用 swap函數(shù)時(shí),只是將實(shí)參 a、 b的值傳送給 swap的形參 x、 y,相當(dāng)于賦值: x=a。 } 運(yùn)行結(jié)果: 5,9 5,9 第九章 指針 從運(yùn)行結(jié)果看,并沒(méi)有實(shí)現(xiàn)兩個(gè)數(shù)值的交換。 x=y。 } 第九章 指針 void swap(int x,int y) { int temp。 swap(a,b)。 void main() { int a=5,b=9。 指向同一類(lèi)型的兩個(gè)指針,可以比較它們的地址值,使用比較運(yùn)算符: > >= < <= ?。? == 比較結(jié)果為 1(真 )或 0(假 ),可用于條件語(yǔ)句和循環(huán)語(yǔ)句中作條件判斷 第九章 指針 ? 指針做函數(shù)參數(shù) ? 函數(shù)的參數(shù)不僅可以是整型、實(shí)型、字符型等數(shù)據(jù),也可以是指針類(lèi)型 例 用一般變量作參數(shù),不能實(shí)現(xiàn)交換。例如: p+10 指針后移 (增加 )10個(gè)單元 p++ 指針后移 1個(gè)單元 pn 指針前移 (減少 )n個(gè)單元 p 指針前移 1個(gè)單元 第九章 指針 指向類(lèi)型相同的兩個(gè)指針可以相減,其結(jié)果是兩個(gè)指針相隔的單元數(shù)。 p=1000。 pb=pa。 pa=amp。例如若沒(méi)有 pa=amp。a。 /* a現(xiàn)在為 0 */ 第九章 指針 (1)指針可以用某個(gè)變量的地址賦值 例如: int a,*pa。 /* pa現(xiàn)在指向 a */ b=*pa。 pa=amp。 (2)間接訪(fǎng)問(wèn)運(yùn)算符 * *也是單目運(yùn)算符,當(dāng)它作用于指針上時(shí),用來(lái)間接訪(fǎng)問(wèn)該指針?biāo)傅膶?duì)象。 pa=amp。是單目運(yùn)算符,它求出運(yùn)算對(duì)象的地址。 /* pf是指向 float型變量的指針 */ pa 3000 H a a 1000 H 5 1000 H 5 1000 H 第九章 指針 ? 指針的運(yùn)算 (1)取地址運(yùn)算符 amp。 ? 例如: ? int *pi。變量 pa就是指向 a的指針。 int reset() { return (i)。 return(i=j+=++i)。 int last() { return (i=1)。 } } 第八章 函數(shù) next() { return(i++)。 printf(last=%d\t,last())。j++) { printf(i=%d\tj=%d\n,i,j)。 for (j=1。 void main() { int i,j。 } 運(yùn)行結(jié)果: 100CR 12359 12888 12419 20268 2655 64480 1243 21876 3831 12520 第八章 函數(shù) 例 分析下面程序的輸出結(jié)果。i10。 random_init(n)。 scanf(%d,amp。 } void random_init(unsigned seed) { r=seed。 unsigned random() { r=(r*123+59)%65536。i++) printf( %u,random())。 for (i=0。 return r。比如這樣選擇參數(shù): r=(r*123+59)%65536 只要給出一個(gè) r的初值,就能計(jì)算出下一個(gè) r,程序如下: 第八章 函數(shù) include unsigned random() { static unsigned r=100。 產(chǎn)生隨機(jī)數(shù)最常用的方法是線(xiàn)性同余法,這時(shí)一個(gè)隨機(jī)數(shù)可以用前一個(gè)隨機(jī)數(shù)求得: ri = ( multiplier * ri1 + increment ) % modulus 實(shí)際上這不是真正的隨機(jī)數(shù),而是通過(guò) ri1算出 ri。 注意,在定義函數(shù)時(shí)如果未指明存儲(chǔ)類(lèi),則該函數(shù)默認(rèn)為外部的。 第八章 函數(shù) 在定義函數(shù)時(shí),若加上保留字 extern,則表明該函數(shù)是外部的,如: extern int fun2(int x, int y) { ? } 函數(shù) fun2可被其它文件中的函數(shù)所調(diào)用。 內(nèi)部函數(shù)又稱(chēng)靜態(tài)函數(shù),它只能被本文件中的其它函數(shù)調(diào)用。 float fun(float a) { ? /* 可引用 file1中定義的變量 x */ /* 因?yàn)樵诒疚募校?x已作了外部說(shuō)明 */ } 第八章 函數(shù) ? 內(nèi)部函數(shù)與外部函數(shù) ? 定義函數(shù)也需要指明存儲(chǔ)類(lèi),函數(shù)的存儲(chǔ)類(lèi)分內(nèi)部(靜態(tài))的和外部的。 ? /* 這里可以引用局部變量 a,在 f2內(nèi)全局變量 a被隱蔽 */ } 第八章 函數(shù) (2)其它文件要引用本文件中的全局變量,應(yīng)該加外部說(shuō)明,請(qǐng)看下面示意性程序: /* */ int x。 ? /* 這里可引用 a,因?yàn)榍懊嬉褜?duì) a作了外部說(shuō)明 */ } int a。說(shuō)明外部變量時(shí),在變量名前加上外部變量說(shuō)明保留字 extern,請(qǐng)看下面示意性程序: 第八章 函數(shù) (1)定義點(diǎn)之前的函數(shù)引用全局變量,必須加外部說(shuō)明。 (extern) 全局變量默認(rèn)的作用域是從它的定義點(diǎn)開(kāi)始到本源文件的末尾。i++) { ? } } 第八章 函數(shù) ? 變量存放在寄存器中,其處理速度要比存放在內(nèi)存中的自動(dòng)變量快得多。 for (i=0。它的作用域與自動(dòng)變量相同,只有自動(dòng)變量和形參可以說(shuō)明為寄存器類(lèi)。它的作用域是定義它的源文件,并且是從定義點(diǎn)開(kāi)始。i++) printf(%4d,sum(10))。 for (i=0。 return s。 include int sum(int x) { static int s=0。因此,對(duì)于局部靜態(tài)變量,即使不在它的作用域之內(nèi),它的值仍保存在內(nèi)存中;一旦再次進(jìn)入它的作用域(再次調(diào)用定義它的函數(shù)或進(jìn)入定義它的程序塊),變量原有的值仍然有效,這是局部靜態(tài)變量與自動(dòng)變量的區(qū)別。 ? 局部靜態(tài)變量又稱(chēng)內(nèi)部靜態(tài)變量,位于函數(shù)體內(nèi)。 float a,b。 auto float a,b。 ? 自動(dòng)變量在動(dòng)態(tài)存儲(chǔ)區(qū)內(nèi)分配存儲(chǔ)單元,函數(shù)調(diào)用結(jié)束時(shí),系統(tǒng)將釋放這些單元,自動(dòng)變量中的數(shù)據(jù)也就消失了。在定義自動(dòng)變量時(shí),可在定義變量的類(lèi)型標(biāo)識(shí)符前面加上保留字 auto。 f l aot f 1( i nt x) { ... } f l aot f 2( f l oat y ) { ... } a 的有 效范圍 b 的有 效范圍 第八章 函數(shù) ? 存儲(chǔ)類(lèi) 變量的存儲(chǔ)類(lèi)有以下四種:自動(dòng)的、靜態(tài)的、寄存器的和外部的。 第八章 函數(shù) f l oat a。在函數(shù) fl和 f2中可直接引用全局變量 a、 b,但在main中只能直接引用變量 a,不能直接引用變量 b。 } printf(%4d%4d%4d\n,a,b,c)。 printf(%4d%4d%4d\n,a,b,c)。 printf(%4d%4d%4d\n,a,b,c)。 第八章 函數(shù) 例 演示變量作用域。 ? 另外,函數(shù)形參的有效范圍也局部于函數(shù),如 fl中的 x, f2中的 x、 y,它們都是所在函數(shù)的局部量。 ? /* 可調(diào)用 f1(), f2(),引用局部變量 n、 c */ } 第八章 函數(shù) ? 上面程序 main中說(shuō)明變量 n、 c, f1中說(shuō)明 i、 j,f2中也說(shuō)明了 i、 j,這些變量各自在說(shuō)明它們的函數(shù)體內(nèi)有效,其它函數(shù)不能使用它們。 ? /* 可調(diào)用 f1(),引用 f2()的參數(shù) x、 y,局部變量 i、 j */ } void main() { int n。 ? /* 可引用 f1()的參數(shù) x,局部變量 i、 j */ } char f2(char x,char y) { int i。局部變量只在說(shuō)明它的函數(shù)體內(nèi)或程序塊內(nèi)有效 。 ? 存儲(chǔ)類(lèi)是指變量以何種方式存儲(chǔ),不同的存儲(chǔ)方式將影響變量的生存期。 } f0=1,f1=1 fi=fi1+fi2 i≥2 運(yùn)行結(jié)果: n=6CR 8 第八章 函數(shù) ? 作用域與存儲(chǔ)類(lèi) ? 每一個(gè)變量或函數(shù)都具有三個(gè)屬性:一是類(lèi)型,二是作用域,三是存儲(chǔ)類(lèi)。 b=fibonacci(a)。 scanf(%d,amp。 } void main() { int a,b。 用直接遞歸來(lái)實(shí)現(xiàn)如下: include long int fibonacci(int n) { if(n=2) return 1。 return(result)。i=n,i++)。 result=1。下面用遞推方式編寫(xiě) fact函數(shù): long int fact(int n) { long result。 } 運(yùn)行結(jié)果: n=9CR 9!=362880 第八章 函數(shù) 以 3!為例來(lái)說(shuō)明遞歸函數(shù)的執(zhí)行過(guò)程 遞歸級(jí)別 0 f act ( 3) 1 6 2 1 1 2 3 3 * f act ( 2) 2 * f act ( 1) 1 * f act ( 0) 第八章 函數(shù) 用遞歸的方法描述問(wèn)題與實(shí)際問(wèn)題的自然表達(dá)形式較接近,易于理解和設(shè)計(jì) ,但是在函數(shù)被調(diào)用時(shí),進(jìn)、出函數(shù)次數(shù)較多,因而運(yùn)行效率較低,且每次進(jìn)、出函數(shù)都有中間結(jié)果要保存,這樣還要占去一定的存儲(chǔ)空間。 } 第八章 函數(shù) long int fact(int n) { if (n==0) return (1)。n)。 printf(n=)。 include long int fact(int n)。函數(shù)在它本身的函數(shù)體中出現(xiàn)對(duì)它自身的調(diào)用是直接遞歸;函數(shù) A調(diào)用某一個(gè)其它函數(shù),而該函數(shù)又直接或間接地調(diào)用函數(shù) A,是間接遞歸 . ? 用遞歸方式描述問(wèn)題,必須具備兩個(gè)條件: (1)初始定義,至少有一次不用遞歸調(diào)用; (2)每次遞歸調(diào)用,總是向 (1)方向轉(zhuǎn)化 (收斂性 )。 } 運(yùn)行結(jié)果: a=CR Square_root( )= 第八章 函數(shù) 該程序有三個(gè)函數(shù),它們相互獨(dú)立,互不從屬,但調(diào)用是嵌套的 ,其調(diào)用過(guò)程如圖所示 ,程序的執(zhí)行過(guò)程是從①到⑨。 } float abs(float x) { if (x0) x=x。 while(abs(r*rx)=eps) r=(x/r+r)/。 } 第八章 函數(shù) float sq_rt(float x) { float r,eps=1e5。 if (a0) printf(Square_root(%)=%f\n,a,sq_rt(a))。 scanf(%f,amp。 void main() { float a。 計(jì)算的迭代公式為 : rn+1= ( + rn) n=0,1,2,? 21nra第八章 函數(shù) 程序如下: include float sq_rt(float x)。一個(gè)函數(shù)既可以被其它函數(shù)調(diào)用,同時(shí)它又可以調(diào)用其它函數(shù),這就是函數(shù)的嵌套調(diào)用。 } return (ret)。i=q。 } int power(int p, int q) { int i,ret=1。i++) sum=sum+power(i,l)。 for(i=1。 printf(%d\n,sum)。 printf(從 1到 %d的 %d次冪之和為: ,n,k)。 int power(int p,int q)。 } 運(yùn)
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1