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

正文內(nèi)容

函數(shù)是c程序的基本模塊可將一些功能相對(duì)獨(dú)立的或經(jīng)常(更新版)

2025-07-03 07:55上一頁面

下一頁面
  

【正文】 件進(jìn)行編譯生成目標(biāo)文件 .obj,編譯后臨時(shí)文件撤銷。注意,宏定義時(shí)形參通常要用括號(hào)括起來,否則容易導(dǎo)致邏輯錯(cuò)誤。 一個(gè)被包含的頭文件中還可以有 include指令,即 include指令可以嵌套 ,但是,如果同一個(gè)頭文件在同一個(gè)源程序文件中被 重復(fù)包含 ,就會(huì)出現(xiàn) 標(biāo)識(shí)符重復(fù)定義的錯(cuò)誤 。形式如下: ifdef DEBUG cout″a=″a′\t′″x=″xendl。 條件編譯指令包括: if、 else、 ifdef、 ifndef、endif、 undef等。避免重復(fù)包含可以用 條件編譯指令 。 帶參宏定義形式上象定義函數(shù),但它與函數(shù)的本質(zhì)不同,宏定義仍然只是產(chǎn)生字符串替代,不存在分配內(nèi)存和參數(shù)傳遞。 圖 。對(duì)于具有外部存儲(chǔ)類型的標(biāo)識(shí)符,可以在其他任何一個(gè)源程序文件中經(jīng)聲明后引用,因此用戶完全可以將一些具有外部存儲(chǔ)類型的標(biāo)識(shí)符的聲明放在一個(gè)頭文件中。 C++的系統(tǒng)庫函數(shù) C++提供了一個(gè)很大的常用函數(shù)庫,該函數(shù)庫本身并不是C++語言的組成部分,所有庫中的函數(shù)用戶都可以自己定義,但直接使用庫函數(shù)能給編程帶來很大方便。 為了協(xié)調(diào)好效率和可讀性之間的矛盾 , C++提供了另一種方法,即定義 內(nèi)聯(lián)函數(shù) ,方法是在定義函數(shù)時(shí)用修飾詞 inline。這是因?yàn)樵诤瘮?shù)調(diào)用時(shí), 參數(shù)自左向右逐個(gè)匹配 ,當(dāng)實(shí)參和形參個(gè)數(shù)不一致時(shí)只有這樣才不會(huì)產(chǎn)生二義性。 loops)。} 一般情況下,函數(shù)調(diào)用時(shí)的實(shí)參個(gè)數(shù)應(yīng)與形參相同,但為了更方便地使用函數(shù), C++也允許定義具有缺省參數(shù)的函數(shù),這種函數(shù)調(diào)用時(shí)實(shí)參個(gè)數(shù)可以與形參不相同。函數(shù)重載的好處在于,可以用相同的函數(shù)名來定義一組功能相同或類似的函數(shù),程序的可讀性增強(qiáng)。 coutsetw(6)fib(i)。本例的遞歸調(diào)用過程參見圖 。 backward(247) return。 backward(n)。 分析: 在遞歸過程的遞推步驟中用求余運(yùn)算將整數(shù)的各個(gè)位分離,并打印出來。 hanoi(n,39。 程序如下: include void move(char source,char target){ coutsourcetargetendl。 打印出搬動(dòng)的步驟 。 cout2。 cout1。 return y。 } 只要設(shè)計(jì)主函數(shù)調(diào)用階乘函數(shù),即可實(shí)現(xiàn)計(jì)算階乘。 遞歸的思想可以簡單地描述為 “ 自己調(diào)用自己 ” 。圖 段中變量的作用域與可見性。 具有局部生命期的標(biāo)識(shí)符必定具有局部作用域;但反之不然 , 靜態(tài)局部變量具有局部作用域 , 但卻具有靜態(tài)生命期 。 ( 1) 靜態(tài)生命期 靜態(tài)生命期 指的是標(biāo)識(shí)符從程序開始運(yùn)行時(shí)存在 , 即具有存儲(chǔ)空間 , 到程序運(yùn)行結(jié)束時(shí)消亡 ,即釋放存儲(chǔ)空間 。 } 運(yùn)行結(jié)果: n=3 2 靜態(tài)存儲(chǔ)類型 靜態(tài)存儲(chǔ)類型包括靜態(tài)全局變量和靜態(tài)函數(shù)。假定程序包含兩個(gè)源程序文件 ,程序結(jié)構(gòu)如下: /* ,由 main()組成 */ include void fun2()。外部存儲(chǔ)類型和靜態(tài)存儲(chǔ)類型確定了變量和函數(shù)在多文件程序中的聯(lián)絡(luò)關(guān)系。 for(i=0。 //自動(dòng)變量 t++。i5。return t。 局部靜態(tài)變量的 作用域 為 塊域 , 但 生命期 為 整個(gè)文件 。 具體說 , 區(qū)分 局部變量和靜態(tài)局部變量 , 全局變量和靜態(tài)全局變量 。 定義在所有函數(shù)之外的標(biāo)識(shí)符 , 具有文件作用域 , 作用域?yàn)閺亩x處到整個(gè)源文件結(jié)束 。 //修改全局變量 cout n39。 n=i+j。 int n=100。 //交換 swap()中的 a,b的值 cout交換后:形參 a=a39。 } void swap(int a,int b){ //a,b作用域?yàn)?swap() cout調(diào)用中 …endl。 cinab。 b=t。 //具有函數(shù)域 cout輸入兩整數(shù): endl。 下面分別介紹 : 參和函數(shù)體中定義的局部變量 , 作用域都在該函數(shù)內(nèi) ,也稱作 函數(shù)域 。 fun1(x, y)。 coutmain()中的 t=tendl。 局部變量在定義時(shí)可加修飾詞 auto, 但通常省略 。 void func(){ n*=2。 ( 4)堆區(qū)( Heap area):存放與指針相關(guān)的動(dòng)態(tài)數(shù)據(jù)。i++。amp。 判斷整數(shù)是否回文數(shù)用函數(shù)實(shí)現(xiàn) , 其思想是將該數(shù)各位拆開后反向組成新的整數(shù) , 如果該整數(shù)與原數(shù)相等則為回文數(shù) 。 } } void menu_print() { cout”系統(tǒng)功能:” endl。 cinchoice。 下面是一個(gè)使用結(jié)構(gòu)化程序設(shè)計(jì)思想開發(fā)的企業(yè)管理報(bào)表程序的框架 。,39。b39。 } void main(){ float a,b,c,area。如果不能構(gòu)成三角形,給出提示信息。 coutpower (c39。 return pow。,39。 } void main(){ int n=3。 } 函數(shù)的參數(shù)傳遞及傳值調(diào)用 調(diào)用power(39。,39。 include include float power(float x,int n){ //求 x的 n次冪 float pow=1。傳遞過程是, 先計(jì)算實(shí)參表達(dá)式的值,再將該值傳遞給對(duì)應(yīng)的形參變量 。 函數(shù)的調(diào)用 main( )函數(shù) 調(diào)用max(, ) 函數(shù)max(, ) return 主程序后續(xù)語句 【 例 4. 1】 輸入兩個(gè)實(shí)數(shù) , 輸出其中較大的數(shù) 。 } 定義函數(shù)時(shí)可能會(huì)涉及若干個(gè)變量,究竟哪些變量應(yīng)當(dāng)作為函數(shù)的參數(shù)?哪些應(yīng)當(dāng)定義在函數(shù)體內(nèi)?這有一個(gè)原則:作為一個(gè)相對(duì)獨(dú)立的模塊, 函數(shù)在使用時(shí)完全可以被看成 “ 黑匣子 ” ,除了輸入輸出外,其他部分可不必關(guān)心 。 組成 C++程序的若干函數(shù)中 , 有一個(gè)稱為 main()( Winmain()) 函數(shù) , 是程序執(zhí)行的入口 , 它可以調(diào)用其他函數(shù) 。使用時(shí)只要考慮其功能和使用接口即可。 要掌握函數(shù)的使用,必須理解函數(shù)調(diào)用時(shí)的內(nèi)部實(shí)現(xiàn)機(jī)制,以及與此相關(guān)的內(nèi)存分配機(jī)制、變量生命期和作用域。這些 庫函數(shù)都按功能分類,集中說明在不同的頭文件中 。 C++中不允許函數(shù)的嵌套定義,即在一個(gè)函數(shù)中定義另一個(gè)函數(shù)。} void main(){ float x,y。某些特殊情況下也允許參數(shù)不對(duì)應(yīng),這將在函數(shù)高級(jí)議題中討論。 } void main(){ int n=3。,39。a39。a39。,39。 char c=39。 coutpower (n39。根據(jù)返回值情況輸出相應(yīng)結(jié)果。 area=TriangleArea(a,b,c)。)39。 對(duì)于沒有返回值的函數(shù) , 功能只是完成一定操作 , 應(yīng)將返回值類型定義為 void , 函數(shù)體內(nèi)可以沒有return語句 , 當(dāng)需要在程序指定位置退出時(shí) , 可以在該處放置一個(gè): return ; 結(jié)束 函數(shù)原型說明 函數(shù)原型是一條以分號(hào)結(jié)束的語句 , 實(shí)際上就是所定義函數(shù)的函數(shù)頭 , 形如: 《 函數(shù)返回值類型 》 函數(shù)名 (《 形參表 》 ) 語法上對(duì)程序文件中函數(shù)的排列次序是沒有固定要求的 ,只要滿足 先定義后使用 即可 。 void account_report()。 break。 cout”3 市場報(bào)表” endl。m39。palindrome(m*m*m)) coutsetw(10)msetw(20)m*m setw(20)m*m*endl。ji。 變量的存儲(chǔ)機(jī)制與 C++的內(nèi)存布局 全局變量 在所有函數(shù)之外定義的變量稱為 全局變量 。 func()。 include void fun(){ auto int t=5。 當(dāng)任何一個(gè)函數(shù)調(diào)用發(fā)生時(shí) , 系統(tǒng)都要作以下工作: ( 1) 建立??臻g; ( 6) 恢復(fù)現(xiàn)場:取主調(diào)函數(shù)運(yùn)行狀態(tài)及返回地址 , 釋放??臻g; ( 7) 繼續(xù)主調(diào)函數(shù)后續(xù)語句 。 } void fun2(float y) { int x。 復(fù)合語句是一個(gè)塊 。\t39。b=bendl。 b=bendl。b=bendl。 } 局部變量具有局部作用域使得程序在不同塊中可以使用同名變量。\t39。i39。\t39。 如 cin和cout是在頭文件 件作用域的標(biāo)識(shí)符 , 它們的作用域也延伸到嵌入 。 自動(dòng)變量保存在棧中 , 且是在程序運(yùn)行過程中獲得和釋放空間 , 未初始化時(shí)值為隨機(jī)數(shù) 。 ( 演示 ) include st(){ static int t=100。i5。 coutendl。 for(i=0。\t39。 在一個(gè)文件中定義的全局變量和函數(shù)都缺省為外部的,即其作用域可以延伸到程序的其他文件中。 //全局變量定義 void main(){ n=1。靜態(tài)全局變量在編譯時(shí)分配存儲(chǔ)空間,如果定義時(shí)不指定初值,則編譯系統(tǒng)將其初始化為全 0。 函數(shù)駐留在代碼區(qū) , 也具有靜態(tài)生命期 。關(guān)于 new運(yùn)算和delete運(yùn)算將在指針一章中介紹。 float x。前者稱 直接遞歸 ,后者稱 間接遞歸 。\t39。 y=4*fac(3)。 y=3*fac(2)。每次調(diào)用發(fā)生時(shí)都首先判斷遞歸終止條件。 n1個(gè)盤子 A柱 ?B柱 , 第 n個(gè)盤子 A柱 ?C柱 , n1個(gè)盤子 B柱 ?C柱 。//將 n1個(gè)盤子搬到中間柱 move(source,target)。B39。 else backward(n/10)。 backward(24)。 求余總是取當(dāng)前整數(shù)的最右一位,所以先輸出余數(shù)后遞歸可實(shí)現(xiàn)倒序輸出。 else return fib(n1)+fib(n2)。因此是否選擇使用遞歸算法取決于所解決的問題及應(yīng)用的場合。 } Double sum(double a,double b){ return a+b。如果給出實(shí)參,將實(shí)參傳遞給形參進(jìn)行調(diào)用,如果不給出實(shí)參,則按缺省值進(jìn)行調(diào)用。 delay()。 //函數(shù)原型中給出缺省值。ch=′9′?1:0。例如文件 臺(tái)輸入輸出和文件輸入輸出相關(guān)對(duì)象和成員函數(shù), 中定義了大量數(shù)學(xué)函數(shù), 作相關(guān)的函數(shù)。程序經(jīng)過建立、編譯、連接,成為一個(gè)完整的可執(zhí)行程序。例如,如果使用指令 define PI 則程序中可以使用標(biāo)識(shí)符 PI,編譯預(yù)處理后產(chǎn)生一個(gè)中間文件,文件中所有 PI被替換為 。 這種方式適用于嵌入 C++提供的頭文件 , 因?yàn)檫@些頭文件一般都存在 C++系統(tǒng)目錄的include子目錄下 。 其中程序段可以是程序也可以是編譯預(yù)處理指令。
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1