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

正文內(nèi)容

c語言程序設(shè)計(第2版)下ppt(文件)

2025-01-22 08:52 上一頁面

下一頁面
 

【正文】 sum= sum+ array[i]; aver= sum/n; return(aver); } 運(yùn)行結(jié)果如下: the average of class A is The average of class B is 說明: 為了分別求出兩個不同大小的數(shù)組中元素的平均值 , 在定義 average函數(shù)時設(shè)一個整型形參 n, 在調(diào)用 average函數(shù)時 , 從主函數(shù)的實參把需要處理的數(shù)組名傳遞給形參數(shù)組名 array, 把該班人數(shù)傳遞給 n。共比較 9輪。 例題 解題思路 用多維數(shù)組名作為函數(shù)的實參和形參 。 int [3][4]={{1,3,5,7},{2,4,6,8},{15,17,34,12}}; printf( ″max value is %d\n ″, max_value(a) ); } 編寫程序 max_value ( int array[ ][ 4]) { int i,j,k, max; max=array[0][0]; for(i =0;i<3;i++) for(j=0;j<4;j++= if( array[i][j]>max) max= array [i][j]; return( max); } 運(yùn)行結(jié)果如下: Max value is 34 說明: (1)實參數(shù)組 score作為函數(shù)實參調(diào)用 highest_score函數(shù)。這稱為“局部變量”。 … m、 n有效 } (1)主函數(shù)中定義的變量只在主函數(shù)中有效 ,而不因為在主函數(shù)中定義而在整個文件或程序中有效。 (4) 在一個函數(shù)內(nèi)部 ,可以在復(fù)合語句中定義變量 ,這些變量只在本復(fù)合語句中有效 ,這種復(fù)合語句也稱為“分程序”或“程序塊”。 c在此范圍內(nèi)有效 a,b在此范圍內(nèi)有效 … } … } 全局變量 在函數(shù)內(nèi)定義的變量是局部變量 ,而在函數(shù)之外定義的變量稱為外部變量 ,外部變量是全局變量 (也稱全程變量 )。 /* 外部變量 */ float f1(int a) /* 定義函數(shù) f1 */ {int b,c。 … } 有 4個學(xué)生 , 5門課的成績 , 要求輸出其中的最高成績以及它屬于第幾個學(xué)生 、 第幾門課程 。 float score[4][5]={{61,73,87,90},{72,84,66,88,78}, {75,87,81,96},{65,85,64,76,71}}。 float max。i++) for(j=0。 /* 將行的序號賦給全局變量 Row */ Column=j。 ② 使用全局變量過多,會降低程序的清晰性。如果將一個函數(shù)移到另一個文件中,還要將有關(guān)的外部變量及其值一起移過去。從變量值存在的時間角度來分,又可以分為靜態(tài)存儲方式和動態(tài)存儲方式。對數(shù)據(jù)類型,讀者已熟悉(如整型、字符型等)。根據(jù)變量的存儲類別,可以知道變量的作用域和生存期。自動變量用關(guān)鍵字auto作存儲類別的聲明。 例題 解題思路 可以編一個函數(shù)用來進(jìn)行一次累乘,如第 1次調(diào)用時進(jìn)行 1乘 1,第 2次調(diào)用時再乘以 2,第 3次調(diào)用時再乘以 3,依此規(guī)律進(jìn)行下去。 int i; for(i=1;i<=5;i++) printf( ″%d! =%d\n ″,i ,fac(i)); } Int fac( int n) { static int f=1; f=f *n; return(f); } 編寫程序 運(yùn)行結(jié)果如下: 1 ! 2 ! 3 ! 4 ! 5 ! =120 說明: 在第 1次調(diào)用 fac(1)時 , f的值為 1, return語句將 1帶回主函數(shù)輸出 1!的值 。在程序整個運(yùn)行期間都不釋放。 ,則對靜態(tài)局部變量來說,編譯時自動賦初值0(對數(shù)值型變量)或空字符(對字符變量)。這時可以在定義外部變量時加一個static聲明。 } 3. registe聲明寄存器變量 (register變量 ) 變量的值是存放在內(nèi)存中的。為提高執(zhí)行效率,C語言允許將局部變量的值放在 CPU中的寄存器中,需要用時直接從寄存器取出參加運(yùn)算,不必再到內(nèi)存中去存取。在此作用域內(nèi),全局變量可以為程序中各個函數(shù)所引用。 / *外部變量聲明 */ extern A,B。 z=xy?x:y。 本程序的作用是給定b的值 , 輸入a和m , 求a b和 am的值 。 ),另一種是不需要建立存儲空間的(如: extern a;)。對“ int a。 一般為了敘述方便,把 建立存儲空間的聲明稱定義 ,而 把不需要建立存儲空間的聲明稱為聲明 。聲明 A是一 個已定義的外部變量 */ … } int A。靜態(tài)存儲是程序整個運(yùn)行時間都存在,而動態(tài)存儲則是在調(diào)用函數(shù)時臨時分配單元。從作用域角度看 ,凡有 static聲明的,其作用域都是局限的,或者是局限于本函數(shù)內(nèi),或者局限于本文件內(nèi)。即 static 類型標(biāo)識符 函數(shù)名 (形參表 ) 例如 : static int fun ( int a , int b ) 外部函數(shù) (1) 定義函數(shù)時 ,如果在函數(shù)首部的最左端加關(guān)鍵字extern,則表示此函數(shù)是外部函數(shù),可供其他文件調(diào)用。 用外部函數(shù)實現(xiàn) 。/ *以上 3行聲明在本函數(shù)中將要調(diào)用的在其他文件中定義的 3個函數(shù) */ char c。 detele_string(str,c)。 for(i=j=0。 str[i]=39。 例: include void main() { int f(int a,int b)。 } int f(int a,int b) /* 函數(shù)定義 */ { int c。 return(c)。 這是一個古典的數(shù)學(xué)問題 , 是一個用遞歸方法解題的典型例子 。 現(xiàn)在利用計算機(jī)來模擬移動盤的過程 。 -1個盤從B座借助于A座移到C座上。 scanf(“%d”,amp。A39。C39。 else { hanoi(n1,one,three,two)。 } 運(yùn)行情況如下: input the number of diskes:3↙ The steps to noving 3 diskes: A-->C A-->B C-->B A-->C B-->A B-->C A-->C 本章小結(jié) C語言中,函數(shù)是用來完成某一個特定功能的。 “定義”和“聲明”不是一回事。 7. 用數(shù)組名作函數(shù)實參,向形參傳遞的是數(shù)組首元素的地址 8. 變量的 作用域是指變量有效的范圍 。 。凡是 在函數(shù)內(nèi)或復(fù)合語句中定義的變量都是局部變量 , 在函數(shù)外定義的變量都是全局變量 , 9. 變量的生存期指的是變量存在的時間。 本章小結(jié) 6. 在調(diào)用一個函數(shù)的過程中,又調(diào)用另外一個函數(shù),稱為函數(shù)的嵌套調(diào)用。函數(shù)是 C程序中的基本單位。 hanoi(n1,two,one,three)。 } void hanoi(int n,char one,char two,char three) /* 定義 hanoi函數(shù) ,將n個盤從 one座借助 two座,移到three座 */ { void move(char x,char y)。B39。 printf(The step to moveing %d diskes:\n,m)。 /* 對 hanoi函數(shù)的聲明 */ int m。 Hanoi( 漢諾塔 ) 問題 : 由上面的分析可知:將n個盤子從A座移到C座可以分解為以下 3個步驟: -1個盤借助C座先移到B座上。 有一個老和尚想把這64個盤子從A柱移到C柱 , 但規(guī)定每次只能移動一個盤 , 且在任何時候 3個柱上的盤子都是大盤在下 , 小盤在上 。 p=f(i,++i)。 else if(a==b) c=0。 p=f(i,++i)。 } file4.c(文件4) include void print_string(char str[]) { printf(%s\n,str)。\039。 } 編寫程序 file2.c(文件2) include void enter_string(char str[80]) / * 定義外部函數(shù) enterstring*/ { gets(str)。 scanf(%c,amp。 extern void detele_string(char str[],char ch)。如果在定義函數(shù)時省略 extern,則隱含為外部函數(shù)。 如果一個函數(shù)只能被本文件中其他函數(shù)所調(diào)用 ,它稱為內(nèi)部函數(shù)。對局部變量來說 ,它使變量由動態(tài)存儲方式改變?yōu)殪o態(tài)存儲方式。它們采用的存儲類別如下: ? 局部變量包括: 自動變量、 靜態(tài)局部變量、寄存器變量。例如: void main() {extern A。而對“ extern a。 后者稱為“ 引用性聲明 ” (referencing declaration)。 { int i,y=1; for(i=1;i<=n;i++) y *= A; return(y); } 關(guān)于變量的聲明和定義: 對變量而言,聲明與定義的關(guān)系稍微復(fù)雜一些。 } ( 2) 在多文件的程序中聲明外部變量 include int A。 } int A=13,B=8。用 extern來聲明外部變量,以擴(kuò)展外部變量的作用城。這種變量叫做 寄存器變量 ,用關(guān)鍵字 register作聲明。 經(jīng)過運(yùn)算器進(jìn)行運(yùn)算,如果需要存數(shù),再從運(yùn)算器將數(shù)據(jù)送到內(nèi)存存放。 extern int A。 4. 雖然靜態(tài)局部變量在函數(shù)調(diào)用結(jié)束后仍然存在,但其他函數(shù)不能引用它。 2. 對靜態(tài)局部變量是在編譯時賦初值的,即只賦初值一次,在程序運(yùn)行時它已有初值。 在第 2次調(diào)用 fac函數(shù) (即 fac(2))時 , f的初值是 1, n是 2, 因此 f的新值為 2, 在主主函數(shù)輸出 2!的值 2。可以用static來指定變量不釋放,保留原值。用關(guān)鍵字 static進(jìn)行聲明。函數(shù)中的形參和在函數(shù)中定義的變量 (包括在復(fù)合語句中定義的變量 ),都屬此類,在調(diào)用該函數(shù)時系統(tǒng)會給它們分配存儲空間,在函數(shù)調(diào)用結(jié)束時就自動釋放這些存儲空間。存儲方式分為兩大類:靜態(tài)存儲類和動態(tài)存儲類。動態(tài)存儲方式則是在程序運(yùn)行期間根據(jù)需要進(jìn)行動態(tài)的分配存儲空間的方式。一般要求把C程序中的函數(shù)做成一個封閉體,除了可以通過“實參 ——形參”的渠道與外界發(fā)生聯(lián)系外,沒有其他渠道。因此,要限制使用全局變量。 } 運(yùn)行結(jié)果如下: The highest score is Student 2 Course No. is 4 說明: 由于全局變量在整個文件范圍內(nèi)都有效 , 因此在 highest_score函數(shù)中將行序號 i和列序號 j 賦給全局變量 Row和Column, 在函數(shù)調(diào)用結(jié)束后 , 函數(shù)中的局部變量被釋放了 , 但全局變量保存下來 , 可以在 main函數(shù)中輸出它們的值 。j++) if(array[i][
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1