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

正文內(nèi)容

c語言程序設(shè)計(jì)函數(shù)調(diào)用(參考版)

2025-01-15 17:30本頁面
  

【正文】 程序設(shè)計(jì)題目 。再將 a[ 1]到 a [ 9]中的最小數(shù)與 a[ 1]對(duì)換 。 ? 題 利用選擇排序法,對(duì)數(shù)組 a中的 10個(gè)整數(shù)按從小到大的順序排列,并將排序結(jié)果顯示出來。i++) 程序設(shè)計(jì)舉例 ? printf( ″%d!=%d \n″ , i, fac( i)) 。 ? for( i=1。 ? return( f) 。 ? 例 輸出 1到 5的階乘值。} ? 在文件 main函數(shù)中要調(diào)用 add函數(shù),而 add函數(shù)在 。 ? } ? … . ? /* */ ? (文件 2) ? float add( x, y) ? float x, y。b) 。 ? scanf( ″%f%f″ , amp。 ? 例 ? (文件 1) ? extern float add() 。 ? 格式 extern類型標(biāo)識(shí)符函數(shù)名(形參表) ? C語言規(guī)定,如果在定義函數(shù)時(shí)省略 extern,則隱含為外部函數(shù)。連接時(shí)會(huì)產(chǎn)生出錯(cuò)信息。 ? } ? swap是內(nèi)部函數(shù),只能被 其他函數(shù)調(diào)用。x=y。 ? { ? int t。 ? printf( ″%d , %d\n″ , a, b) 。b) 。 ? extern void swap() ? scanf( ″%d%d″ , amp。通常把只能由同一文件使用的內(nèi)部函數(shù)和外部變量放在一個(gè)文件中,在它們前面加上 static使之局部化,其他文件不能引用。 ? 格式 static類型標(biāo)識(shí)符函數(shù)名(形參表) ? 靜態(tài)函數(shù)的特征只限于本文件中的其他函數(shù)調(diào)用,所以又稱作 “ 內(nèi)部 ” 函數(shù)。函數(shù)的隱含類別為 extern類別,外部函數(shù)可以被其他文件調(diào)用。定義時(shí)被說明成 static類別,靜態(tài)函數(shù)只局限于所在文件,其他文件不能調(diào)用。它們采取的存儲(chǔ)類別如下 : ? 自動(dòng)變量,即動(dòng)態(tài)局部變量(離開函數(shù),值就消失) ? 靜態(tài)局部變量(離開函數(shù),值仍然保留) ? 寄存器變量(離開函數(shù),值就消失) ? (形式參數(shù)可以定義為自動(dòng)變量或寄存器變量) 局部變量 ? 靜態(tài)外部變量(只限本文件引用) ? 外部變量 (即非靜態(tài)的外部變量 ,允許其他文件引用 ) ? ( 2)從變量存在的時(shí)間來區(qū)分,有動(dòng)態(tài)存儲(chǔ)和靜態(tài)存儲(chǔ)兩種類型。(定義外部變量) ? 從不同角度做以下歸納。(自動(dòng)變量,在函數(shù)內(nèi)定義) ? register int d。 ? 存儲(chǔ)類別小結(jié) ? 對(duì)一個(gè)數(shù)據(jù)的定義,需要指定兩種屬性 :數(shù)據(jù)類型和存儲(chǔ)類別,分別用兩個(gè)關(guān)鍵字進(jìn)行定義,如 : ? static int a。 ? } ? 程序文件 f1中的最后一行為對(duì)全局變量 a的定義, main函數(shù)在其作用域之外,所以在 main函數(shù)中對(duì)其進(jìn)行了外部說明,而在文件 f2中的第一行也是對(duì) a進(jìn)行說明。i++) ? y*=a。 ? for( i=1。 ? power( n) ? int n。 ? } ? int a。 ? d=power( m) 。 ? c=a*b。a, amp。 ? printf( ″a , m=?\n″ ) 。 ? extern int a。相當(dāng)于擴(kuò)大全局變量的作用域。當(dāng)未對(duì)全局 ? 變量指定存儲(chǔ)類別時(shí),隱含為 extern類別。 ? ( 4)局部靜態(tài)變量不能定義為寄存器變量,不能寫成 : ? register static a, b, c。 ? ( 2)一個(gè)計(jì)算機(jī)系統(tǒng)中的寄存器的數(shù)目是有限的。當(dāng)一函數(shù)內(nèi)定義的寄存器變量的個(gè)數(shù)超過系統(tǒng)所允許使用的寄存器數(shù)時(shí),系統(tǒng)將自動(dòng)將其作為一般局部變量處理,即仍使用內(nèi)存單元存放其值,并不提高執(zhí)行速度。 ? 在計(jì)算機(jī)中,從內(nèi)存 “ 存取 ” 數(shù)據(jù)要比直接從寄存器中“ 存取 ” 數(shù)據(jù)慢,所以對(duì)一些使用特別頻繁的變量,可通過register將其定義成寄存器變量,使程序直接從寄存器中 “ 存取 ” 數(shù)據(jù),以提高程序的效率。例如,函數(shù)體中的變量說明 : ? register int a, b。 ? ? 為了提高程序的執(zhí)行效率, C語言允許將局部變量的值放在CPU的通用寄存器中,這種變量稱為寄存器變量。 ? 對(duì)于全局變量,不管是否加 static說明,均屬于靜態(tài)存儲(chǔ)變量。 ? ( 2)外部靜態(tài)變量 ? 當(dāng)定義一全局變量時(shí),若將其指定為 static類,則說明該全局變量只在本源程序文件中使用,其他的源程序文件不能引用該全局變量。后一種情況 x是局部靜態(tài)變量,f1()函數(shù)第一次被調(diào)用時(shí), x 為 0,退出時(shí)為 1。而靜態(tài)變量只在編譯階段初始化一次。改為 :static int x=0。 printf( ″x=%d \n″ , x) 。 ? } ? 運(yùn)行結(jié)果 : ? x=1 f1() { int x=0。 ? f1() 。形參不允許說明為靜態(tài)存儲(chǔ)類別。靜態(tài)變量是在編譯時(shí)賦初值,因此在程序執(zhí)行期間,一旦存儲(chǔ)單元中的值改變,就不會(huì)再執(zhí)行賦初值語句。 ? ( 1)局部靜態(tài)變量 ? 在函數(shù)體內(nèi)用 static說明的變量稱為靜態(tài)局部變量。當(dāng)其作用于局部變量時(shí),該變量稱為局部靜態(tài)變量 。是等價(jià)的。 ? auto int b, c=9。 /*定義 b、 c為自動(dòng)變量 */ ? … ? } ? b、 c是自動(dòng)變量, c=9,執(zhí)行完 f函數(shù)后自動(dòng)釋放其所占的存儲(chǔ)單元。 ? int f( a) /*定義函數(shù) */ ? int a。自動(dòng)變量用關(guān)鍵字 auto作存儲(chǔ)類型說明。外部( extern)。靜態(tài)( static)。存儲(chǔ)方法分為兩大類 :靜態(tài)存儲(chǔ)類和動(dòng)態(tài)存儲(chǔ)類。根據(jù)函數(shù)調(diào)用的需要,動(dòng)態(tài)分配和釋放存儲(chǔ)空間。程序運(yùn)行過程中,這種分配和釋放是動(dòng)態(tài)的,如果在一個(gè)程序中兩次調(diào)用同一函數(shù),分配給此函數(shù)中局部變量的存儲(chǔ)空間地址可能是不同的。 ? ③函數(shù)調(diào)用時(shí)的現(xiàn)場(chǎng)保護(hù)和返回地址等。 在調(diào)用函數(shù)時(shí) ,給形參變量分配存儲(chǔ)空間 . ? ②局部變量。在程序執(zhí)行過程中,這種分配和釋放是動(dòng)態(tài)的。在程序執(zhí)行過程中它們占據(jù)固定的存儲(chǔ)單元,而不是動(dòng)態(tài)地分配和釋放。全局變量存放在靜態(tài)存儲(chǔ)區(qū)中。 ? ( 3)動(dòng)態(tài)存儲(chǔ)區(qū)。 ? 供用戶使用的存儲(chǔ)空間可分為三部分 : ? ( 1)程序區(qū) 。 動(dòng)態(tài)存儲(chǔ)方式與靜態(tài)存儲(chǔ)方式 ? ? 是指在程序運(yùn)行期間分配固定的存儲(chǔ)空間的方式。 ? 變量的存儲(chǔ)類別 ? 從變量的作用域(即從空間)角度來分,可以分為全局變量和局部變量。最后 4行是
點(diǎn)擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1