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

正文內容

計算機可視化編程(參考版)

2024-08-12 14:03本頁面
  

【正文】 i++) . . . . . . 宏定義的取消: undef 宏名 帶參數(shù)的宏定義: 條件編譯指令的三種形式: ? if … [else] …endif ? ifdef … [else] …endif ? ifndef … [else] …endif 。 for(int i=0。對程序員而言,采用宏定義增加了程序的可讀性,并有利于以后程序的修改。 ? C++使用 define宏定義指令定義一個宏,其一般形式為: define 宏名 宏體 宏名是一個用戶自命名的、具有特定含義的標識符,宏體是由任意字符組成的字符序列。 define宏定義指令 ? 宏 是一個表示特定內容的標識符, 宏定義 就是定義一個代表一個字符串或一段代碼串的宏,被代表的內容稱為宏體。 系統(tǒng)函數(shù)按其功能被分成幾大類 , 對應每類函數(shù)有一個頭文件 , 其中給出了這一類函數(shù)的原型聲明 , 所以 , 我們只需在程序中使用include指令包含相應的頭文件 , 而不必在程序中直接進行函數(shù)的聲明 。 include包含指令有以下兩種使用形式: ? include 文件名 ? include 文件名 第一種形式 , 嵌入的源文件用尖括號括起來 ,告訴編譯預處理程序在編譯器自帶的或外部庫的頭文件中搜索要嵌入的文件 , 它們一般是系統(tǒng)提供的公共頭文件 , 存放在系統(tǒng)目錄中的 Include子目錄下; 第二種形式 , 嵌入的源文件用雙引號括起來 , 這種形式的 include指令告訴編譯預處理指令先在當前子目錄搜索要嵌入的文件 , 如果沒有找到文件 , 再去搜索編譯器自帶的或外部庫的頭文件 。 編譯預處理指令擴展了 C++編程環(huán)境的范圍 , 改善了程序的組織和管理 。 // 釋放 new所分配的內存 } 編譯預處理指令 編譯預處理 是指在對源程序正式進行編譯之前 , 編譯預處理程序根據(jù)源程序中的編譯預處理指令對源程序進行預先的處理 。 cout*piendl。 pi = new int。 使用舉 例 例 new和 delete的使用。 // 區(qū)別: pi = new int[555] 內存空間的釋放 ? 運算符 delete用于釋放 new運算符所分配的內存空間,其一般使用形式為: delete p 。 ? 為一個整型數(shù)組 (動態(tài)數(shù)組 )分配內存空間: int* pa=new int[100]。 ? 為一個單精度變量 (其指針為 px)分配內存空間: float* px=new float。 type是數(shù)據(jù)類型,表示要為哪種數(shù)據(jù)類型的變量分配空間; size表示要為多少個變量分配空間,可以省略 size(缺省值為 1); p是一個 type類型的指針變量,指向所分配的存儲單元。在 C++中最常用的方法是利用 new和 delete運算符進行動態(tài)內存的分配和釋放,使用這種方法能夠檢測內存漏洞。動態(tài)內存分配是在一些被稱為 堆 的內存塊中為變量分配內存空間。 有時程序只能在運行時才能確定需要多少內存空間來存儲數(shù)據(jù),這時程序員就需要采用 動態(tài)內存分配 的方法設計程序。 // 輸出局部變量 } 程序輸出: 123, 456, 789, 456 動態(tài)內存分配 對于程序中一般聲明的變量,其所占內存空間不需要程序員管理,編譯器在編譯階段就自動將管理這些空間的代碼加入到目標文件中。 // 輸出全局變量 coutamount39。 // 訪問全局變量 cout::amount39。,39。,39。 // 全局變量 void main() { int amount=456。在 C++中可通過使用作用域限定符 ::來標識同名的全局變量。 // 定義性聲明,可省略 extern . . . . . . 例 外部變量的使用出現(xiàn)在定義性聲明之前需要先進行變量的引用性聲明。 void fun() { coutb。 例 外部變量的聲明 : . . . . . . extern int b。 ? extern修飾符主要用于外部變量的引用性聲明,外部變量的定義性聲明可以不加 extern修飾符。定義性聲明表示變量需要分配內存;引用性聲明表示要引用的變量已在程序源文件中其它地方進行過定義性聲明。 // 變量 a存儲在棧中 static float b, c 。 ? 當聲明變量時未指定存儲類型,則內部變量的存儲類型隱含為 auto類型,外部變量的存儲類型隱含為 extern類型。 // b和 c為靜態(tài)存儲類型 ? auto和 register用于聲明內部變量, auto變量存儲在棧中, register變量存儲寄存器中。在聲明變量時可以指定變量的存儲類型,其一般形式為: 存儲類型 數(shù)據(jù)類型 變量名列表 ; 存儲類型決定內存分配方式: 例如: auto int a 。 ? 對于非動態(tài)分配內存的變量,決定變量采用哪種內存分配方式,是由聲明變量時指定的 存儲類型和變量聲明語句的位置所決定的。動態(tài)分配是一種完全由程序本身控制內存的使用的分配方式。一般方式聲明的局部變量就是 自動分配 方式的變量。 自動分配 是指在棧中為變量臨時分配內存空間。全局變量就是 靜態(tài)分配 方式的變量。 ? 系統(tǒng)為每個程序開辟一個固定的靜態(tài)存儲區(qū), 靜態(tài)分配 是指在這個固定區(qū)域為變量分配內存空間。 存儲類型 ? 程序運行時,系統(tǒng)為不同存儲屬性的變量分配不同類型的內存空間,決定了變量的作用域和生存期。 // 變量 x和 y在調用函數(shù)時失去作用域 } } 第一個聲明的局部變量 x在語句塊內雖然存在 ,但卻是不可見 (不可用 )的 , 因為它被語句塊內同名的局部變量 x所屏蔽了 。 // 變量 “ x=1”失去作用域 cout“x=”x?\n?。 例 局部變量的 生存期和作用域 void Myfun() { int x=1。 ? 變量的生存期與作用域是密切相關的,一般變量只有在生存后才能可見(在作用域內)。 ? 變量的 生存期 是從時間的角度考慮問題,是指在程序執(zhí)行的過程中一個變量從創(chuàng)建到被撤消的一段動態(tài)時間。 // 全局變量 x的作用域開始于此 , // 結束于整個程序源文件 void Myfun() { . . . . . . } . . . . . . 注意: ? 在同一作用域內聲明的變量不能同名; ? 不同作用域聲明的變量可以同名。 // 局部變量 k的作用域開始于此 . . . . . . } // 局部變量 y、 k和形參 x的作用域結束 例 具有全局作用域的全局變量。 // 局部變量 y的作用域開始于此 { int z=x+y。 例 局部變量(包括塊內聲明的變量)和函數(shù)的形參具有局部作用域。其作用域在函數(shù)結束時結束。 ? 作用域有三種: 局部作用域、全局作用域和文件作用域 。 ? 存儲類型說明 了變量在內存中存儲的方式 , 它決定了變量的作用域和生存期 。 } 程序運行結果: a=40, b=20 問題: 如果形參使用簡單變量, 輸出結果如何? 變量的作用域與存儲類型 ? 變量的 作用域 是指變量的可以被引用的區(qū)域 ,變量的 生存期 是指變量的生命周期 , 變量的作用域與生存期是密切相關的 。 x=y。 x, intamp。 couta=a, b=bendl。 // 函數(shù)聲明 main() { int a=20, b=40。, intamp。 例 引用作為參數(shù)。 采用引用傳遞方式 , 只需在函數(shù)定義時使用引用作為形參 , 在函數(shù)調用時直接使用一般變量作為實參 。 } 運行結果: i=11, r=11 i=88, r=88 引用作為函數(shù)參數(shù) 引用作為一般變量使用幾乎沒有什么意義 ,它的最大用處莫過于將其作為 函數(shù)參數(shù) 。 // 同時執(zhí)行 r=88 couti=i, r=r39。\n39。 // r是變量 i的引用型變量 r++。 int amp。 當 r變化時 , i也隨之變化 , 反之亦然 。OtherInt = ActualInt; // 聲明變量 ActualInt的引用 OtherInt 一旦為一個變量聲明一個 引用 , 那么對這個引用的所有操作實際上都是對被引用變量的操作 , 它們代表同一個變量并且占用相同的內存單元 。 聲明一個引用一般采用如下格式: 數(shù)據(jù)類型 amp。 聲明一個引用時需要在其名稱前加符號“ amp。 return temp。 inline int sum(int x , int y) { int temp。 當然 , 這樣將會加大代碼占用內存的空間開銷 , 因此 , 內聯(lián)函數(shù)一般適用于代碼較短的函數(shù) 。 定義一個內聯(lián)函數(shù)只需在函數(shù)頭前加入關鍵字 inline。 若把函數(shù)體直接嵌入函數(shù)調用處 ,則可消除附加的現(xiàn)場處理的時間開銷 , 提高程序的運行效率 。因此,在調用函數(shù)時,如果省略某個實參,則該實參右邊的所有實參都必須省略。 例如,下面聲明一個帶缺省值參數(shù)的函數(shù) : void MyFun(int val=10); 而如果函數(shù)調用省略實參 , 則把缺省值 10傳遞給形參 , 如下所示: MyFun(); // 等同于 MyFun(10) 2. 含有多個函數(shù)參數(shù)的 默認值: 如果函數(shù)有多個形參 , 則聲明和定義函數(shù)時 ,必須將帶缺省值的形參放在參數(shù)表的右部 , 即在帶缺省值的形參的右邊不能有未指定缺省值的形參 。 函數(shù)參數(shù)的 默認值 1. 什么是函數(shù)參數(shù)的默認值(缺省值): C++允許在函數(shù)聲明或函數(shù)定義時為形參指定一個 默認值 。 coutsum=sum endl。 main() { int sum, a=20, b=40。 return temp。 : int YourFun(int x , int y) // 默認為外部函數(shù) { int temp。 ? 調用外部函數(shù)前必須先進行 外部函數(shù)聲明 。 ? 列出參數(shù)類型和參數(shù)名: void swap(int* px, int* py) 函數(shù)的存儲類型 ? 與變量類似 , 函數(shù)也具有存儲類型 。 } 運行結果 : a=40, b=20 3. 函數(shù)聲明 ? C++允許函數(shù)調用在前 , 函數(shù)定義在后 , 但此時要求在調用函數(shù)前必須先進行函數(shù)聲明 , 以便告訴編譯程序被調用函數(shù)的類型和參數(shù)類型 。 // “*px”表示 px所指單元的內容 *px=*py。 // 地址作為函數(shù)實參 couta=a, b=bendl。a, amp。 // 函數(shù)聲明 main( ) { int a=20, b=40。 例 例 實參與形參按地址傳遞 , 以指針作為函數(shù)參數(shù) 。 } 程序的輸出結果為 : before swap: a=20 b=40 x=20 y=40 after swap: x=40 y=20 a=20 b=40 按地址傳遞參數(shù) 如果希望通過被調函數(shù)改變主調函數(shù)中實參的值 , 可以采用 “ 按地址傳遞 ” 或 “ 引用傳遞 ” 兩種方
點擊復制文檔內容
醫(yī)療健康相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1