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

正文內容

[計算機軟件及應用]tp-3151c程序設計概述(編輯修改稿)

2024-11-12 23:14 本頁面
 

【文章內容簡介】 算符 ? 在 C語言中,經常使用宏定義,也就是 define來定義常量,例如 : ? define time lO0。 ? 而 C++語言提供了一種更靈活、更安全的方式來定義常量,即用 const修飾符來定義常量。const型的常量相比 define的宏定義要靈活的多,同時提供了更強大的安全性。 const可以創(chuàng)建有類型的常量,例如 : ? const int time = l00。 ? 這樣定義后的 time的值將不能修改。 ? 這里要注意的是,用 const定義的常量必須在聲明的時候初始化它的值,并且一旦初始化完成后,該值將不能再修改。 ? const也可以與指針一起使用,根據 const出現(xiàn)的位置不同,分為幾種情況: ? (1)指向常量的指針,例如 : ? const char* name=stone, //聲明指向常量的指針 ? 這個語句的含義為:聲明一個名為 name的指針變量,它指向一個字符型常量,初始化 name指向字符串stone。使用 const定義之后,不允許改變 name指針所指的常量的值,因此以下語句是錯誤的 : ? name[3]=‘a‘。 ? 但是可以改變 name指針本身的值。例如下列語句是允許的 : ? name=John。 ? 該語句賦給了指針另一個常量,即改變了 name的值。 ? (2)常指針 ? 常指針是指把指針本身,而不是它指向的對象聲明為常量,例如 : ? char* const name=stone。 //常指針 ? ( 注意: const在語句中出現(xiàn)的位置與( 1)中不同) ? 這個語句的含義為:聲明一個名為 name的指針變量,該指針是指向字符型數(shù)據的常指針,用 stone的地址初始化該常指針。 ? 一個常指針一旦創(chuàng)建,則它指向的地址是固定的,也就是說指針本身將不能移動了。但是該地址的存儲內容,也就是常指針所指的數(shù)據可以改變,例如 : ? name[3]=?a39。 //合法 ? name=John。 //出錯 ? 第一個語句改變了常指針所指的數(shù)據,這是允許的 。但第二個語句要改變指針本身,這是不允許的。 ? (3)指向常量的常指針 ? 這樣的指針本身不能改變,它所指向的值也不能改變。要聲明一個指向常量的常指針,二者都要聲明為 const,例如 : ? const char* const name=stone。 //指向常量的常指針 ? 這個語句的含義是 :聲明了一個名為 name的指針變量,它是一個指向字符型常量的常指針,用 stone的地址初始化該指針。根據這個指針的定義,可以判斷出下面二個語句都是錯誤的 : ? name[3]=?a39。 //出錯,不能改變指針所指的值 ? name=John。 //出錯,不能改變指針本身 ? 說明 : ? (1)如果用 const定義一個整型常量,關鍵字 int可以省略。所以下面的兩行定義是等價的 : ? const int time=l00。 ? const time=l00。 ? (2)與 define定義的常量有所不同, const定義的常量可以有自己的數(shù)據類型,這樣 C++的編譯程序可以進行更加嚴格的類型檢查,也使得程序的安全性得到提高。因此建議用 const取代define定義常量。 ? (3)函數(shù)參數(shù)也可以用 const說明,用于保證實參在該函數(shù)內部不被改動。 內聯(lián)函數(shù) ? 內聯(lián)函數(shù)是 C++新增加的機制,只要在函數(shù)說明前加上關鍵字 inline,則該函數(shù)就被聲明為內聯(lián)函數(shù)。當程序中出現(xiàn)對內聯(lián)函數(shù)的調用時, C++編譯器將使用函數(shù)體中的代碼替代函數(shù)調用表達式,這樣可以加快代碼的執(zhí)行,減少調用開銷。下面的程序定義了一個內聯(lián)函數(shù)。 ? 例 13 ? include ? inline int rect(int m) //定義函數(shù) rect為內聯(lián)函數(shù) ? { ? return m*m。 ? } ? void main( ) ? { ? for(int i=1。i=3。i++) ? couti=i area=rect(i)endl。 ? } ? 程序運行結果如下 : ? i=1 area=1 ? i=2 area=4 ? i=3 area=9 ? 說明 : ? (1)內聯(lián)函數(shù)在被調用之前必須進行函數(shù)定義,否則編譯器不知道應該插入什么代碼。內聯(lián)函數(shù)通常在 main函數(shù)前面定義。 ? (2)通常只有較短的函數(shù)才定義為內聯(lián)函數(shù),對于較長的函數(shù),最好作為一般函數(shù)處理。因為若內聯(lián)函數(shù)較長且調用太頻繁時,程序會加長很多。 ? (3)使用內聯(lián)函數(shù)也可以替代宏定義,內聯(lián)函數(shù)具有宏定義的所有優(yōu)點而避免了宏定義的不安全性。 ? (4)內聯(lián)函數(shù)的定義中不允許使用循環(huán)語句和switch語句。 ? 注: 后面將學習到,在 C++的類體內定義的成員函數(shù)都是內聯(lián)函數(shù)。 作用域運算 : : ? C++語言中,提供了一個作用域運算符“ ∷ ”,用來標識某個變量的作用域。通常情況下如果程序中存在兩個同名變量,一個是全局的,另一個是局部的,那么局部變量在其作用域內具有較高的優(yōu)先權。 ? 例 14 ? include ? int temp=5。 //全局變量 temp ? void main( ) ? { ? int temp。 //局部變量 temp ? … ? temp=50。 ? couttemp istempendl。 //輸出的是局部變量 temp的值 ? } ? 程序執(zhí)行結果如下 : ? temp is 50 ? ?在 main( )函數(shù)的輸出語句中的變量 temp是 main( )函數(shù)內定義的局部變量,因此打印的是局部變量 temp的值 50。 ? 如果希望在局部變量的作用域內使用同名的全局變量,可以在該變量前加上作用域運算符“ ∷ ”,此時 ∷ temp代表全局變量 temp。 ? 請看下面的例子。 ? 例 15 ? include ? int exam。 ? void main( ) ? { ? int exam。 ? exam=40。 //局部變量 exam ? ::exam=10。 //全局變量 exam ? coutlocal exam=examendl。 ? coutglobal exam=::examendl。 ? } ? 程序運行結果為 : ? local exam=40 ? global exam=l0 ? 注: 在后面會學習到,作用域運算符 ::在類的定義中,還可以用來標識某個成員屬于哪個類。 函數(shù)的缺省參數(shù) ?函數(shù)的缺省參數(shù),也稱為默認參數(shù)。在C++中,對函數(shù)進行說明時,可以為一個或多個參數(shù)指定缺省的參數(shù)值,當調用此函數(shù)時,如果沒有提供某個參數(shù)的實參值, C++會自動地以缺省值作為其相應參數(shù)的值。 ? 例如函數(shù)原型說明為 : ? int func(int x=3, float y=)。 ? 則 x與 y的缺省參數(shù)值分別為 3與 。 ? 當進行函數(shù)調用時,編譯器按從左向右的順序匹配實參和形參,若程序中沒有指定足夠的實參,則編譯器按順序用函數(shù)原型中的缺省參數(shù)值來補足所缺少的實參。例如以下的函數(shù)調用都是允許的 : ? func(100,)。 //x=100, y= ? func(25)。 //x=25, y= ? func( )。
點擊復制文檔內容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1