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

正文內(nèi)容

c程序設(shè)計(jì)教程:第2章-c程序設(shè)計(jì)基礎(chǔ)(已修改)

2025-10-07 16:34 本頁(yè)面
 

【正文】 第 2章 C++程序設(shè)計(jì)基礎(chǔ) ? 本章首先通過(guò)編制一個(gè) C++的面向過(guò)程的典型結(jié)構(gòu),重點(diǎn)引入對(duì)象的概念并介紹 C++語(yǔ)言基本數(shù)據(jù)類型和表達(dá)式 ,然后通過(guò)使用對(duì)象編程加深對(duì)C++對(duì)象的了解,從而為引入面向?qū)ο缶幊檀蛳禄A(chǔ)。 C++的基本數(shù)據(jù)類型和表達(dá)式 ? 初識(shí) C++ 的函數(shù)和對(duì)象 ? 標(biāo)識(shí)符 ? 變量對(duì)象 ? 基本數(shù)據(jù)類型 初識(shí) C++ 的函數(shù)和對(duì)象 ? 為了能通過(guò)小程序驗(yàn)證本節(jié)內(nèi)容,先介紹一個(gè)簡(jiǎn)單而典型的 C++程序。 /* 功能:將輸入的數(shù)值乘以 2 */ include iostream //包含頭文件 using namespace std。 //使用命名空間 初識(shí) C++ 的函數(shù)和對(duì)象 int main( ) //主程序 { int x(0), y(2)。 //初始化對(duì)象 cout“x=”。 //輸出提示信息 cinx。 //接受輸入數(shù)值 coutx?*?y?=? //輸出信息 x*y // 輸出結(jié)果 endl。 // 換行 return 0。 //主函數(shù) main的返回值 } 1. 主函數(shù) ? 函數(shù)名稱后面的兩個(gè)圓括號(hào)里面放置的內(nèi)容稱為函數(shù)的參數(shù)列表,圓括號(hào)中是否有參數(shù)由編程者決定, main()的表達(dá)方式表示函數(shù)不接受任何參數(shù),即為空的參數(shù)列表 (無(wú)參數(shù) ) 。 ? main函數(shù)后面有一對(duì)花括號(hào) “ { }”,可以把它看做程序體括號(hào),還可以用它括起任何一組語(yǔ)句構(gòu)成一個(gè)復(fù)合句(或稱分程序)。 ? 在一個(gè)程序或函數(shù)中至少應(yīng)有一對(duì)花括號(hào),而且符號(hào) “ {”和 “ }”必須成對(duì)出現(xiàn)。 2. 使用注釋 ? 程序中以 “ //”開始的內(nèi)容是注釋,有效范圍至本行結(jié)束,注釋的內(nèi)容在編譯時(shí)不產(chǎn)生目標(biāo)代碼。 ? 所謂目標(biāo)代碼,就是程序可以執(zhí)行的代碼。 ? 另外一種注釋形式是沿用 C語(yǔ)言的語(yǔ)法,即從“ /*”開始,直到 “ */”結(jié)束,它更適合注釋占多行的情況。 3. 使用輸出和輸入對(duì)象 ? C++將數(shù)據(jù)從一個(gè)對(duì)象流向另一個(gè)對(duì)象的流動(dòng)抽象為 “ 流 ” 。 從流中獲取數(shù)據(jù)的操作稱為提取操作 , 向流中添加數(shù)據(jù)的操作稱為插入操作 。 ? cin用來(lái)處理標(biāo)準(zhǔn)輸入 , 即鍵盤輸入 。 ? cout用來(lái)處理標(biāo)準(zhǔn)輸出 , 即屏幕輸出 。 ? cin 和 cout都能對(duì)數(shù)據(jù)自動(dòng)按照正確的默認(rèn)格式處理 。 3. 使用輸出和輸入對(duì)象 ? 語(yǔ)句 cout x=。 是輸出信息 “ x=”, 用來(lái)提示用戶輸入一個(gè)數(shù)字 。 它就是C++ 的 “ 語(yǔ)句 ” ( statement) , 語(yǔ)句以分號(hào)作為結(jié)束 。 ? 語(yǔ)句是 C++ 程序的最小獨(dú)立單元 。 因?yàn)?cin和 cout都不是C++語(yǔ)言本身定義的一部分 , 而是由 C++的一套面向?qū)ο箢愺w系 (classes hierarchy)提供支持 , 并作為 C++標(biāo)準(zhǔn)程序庫(kù) (standard library)的一員 。 要使用這個(gè)類體系 ,需先在主函數(shù)之前使用 include語(yǔ)句將其包含 , 以便讓程序知道該類體系的定義 。 ? C++標(biāo)準(zhǔn)輸入輸入庫(kù)的頭文件是 iostream, 所以程序中使用語(yǔ)句: include iostream 3. 使用輸出和輸入對(duì)象 ? 符號(hào) “ ”由連按兩次 “ ”鍵產(chǎn)生 , 表示將信息輸出到顯示屏上 。 ? 符號(hào) “ ”表示接受鍵盤輸入 , 語(yǔ)句 “ cinx。 ”將輸入賦給對(duì)象 x。 ? 符號(hào) “ ”和 “ ”形象地表示了數(shù)據(jù)流動(dòng)的方向 。 可以在一條語(yǔ)句中多次使用流的符號(hào) , 也可以分為多個(gè)語(yǔ)句 , 例如可改寫程序中的輸出為如下形式: coutx39。*39。y39。=39。; //以分號(hào)結(jié)束 3. 使用輸出和輸入對(duì)象 coutx*y。 //以分號(hào)結(jié)束 coutendl。 // 與 cout“\n”。功能相同 ? “ coutendl?!迸c “ cout”\n“?!钡墓δ芏际菗Q行 , 即將光標(biāo)位置換到下一行的起點(diǎn) 。 ? 如要輸入 x和 y的值 , 既可分兩行 , 也可使用一行 。例如: 3. 使用輸出和輸入對(duì)象 cinxy。 //使用一行 ? endl可以插在流的中間 , 下面語(yǔ)句將 x和 y分兩行輸出 。 coutxendlyendl。 4. 使用命名空間 ? 過(guò)去一直使用后綴 “ .h”標(biāo)識(shí)頭文件 , 在 【 例 】中沒有使用后綴 , 其原因是新的 C++標(biāo)準(zhǔn)引入了新的標(biāo)準(zhǔn)類庫(kù)的頭文件載入方式 , 即省略 “ .h”。不過(guò) , 這時(shí)必須同時(shí)使用下述語(yǔ)句: using namespace std。 //使用命名空間 命名空間 ? 所謂命名空間 (namespace)是一種將程序庫(kù)名稱封裝起來(lái)的方法 , 它提高了程序的性能和可靠性 。目前無(wú)需深入了解它的含義 , 只要記住 C++標(biāo)準(zhǔn)中的標(biāo)準(zhǔn)類庫(kù)的變量與函數(shù)都屬于命名空間 std即可 。 ? 若要在程序中使用 cin和 cout這兩個(gè) iostream類的對(duì)象 , 不僅要包含 iostream頭文件 , 還得讓命名空間 std內(nèi)的名稱曝光 , 這條語(yǔ)句就是讓命名空間中的名稱曝光 。 讓命名空間 std內(nèi)的名稱曝光 ? C++新標(biāo)準(zhǔn)就是將標(biāo)準(zhǔn)類庫(kù)的頭文件與一般的頭文件 ( 需要使用后綴 “ .h”) 區(qū)分開來(lái) , 當(dāng)然也可以自己定義符合標(biāo)準(zhǔn)庫(kù)的頭文件 , 使用這種頭文件時(shí) , 也需同時(shí)使用命名空間語(yǔ)句 。 ? 由以上分析可見 , 一般的程序都要具有如下兩條語(yǔ)句: include iostream //包含頭文件 using namespace std。 //使用命名空間 5. 對(duì)象的定義及初始化 ? 定義對(duì)象包括為它命名并賦予它數(shù)據(jù)類型 。 每個(gè)對(duì)象都隸屬某個(gè)特定的數(shù)據(jù)類型 。 對(duì)象名稱如果設(shè)計(jì)得好 , 能讓人直接聯(lián)想到該對(duì)象的屬性 。 ? 本程序使用兩個(gè)整數(shù)對(duì)象 x和 y, 一個(gè)設(shè)定為儲(chǔ)存整數(shù) 2,一個(gè)用來(lái)儲(chǔ)存鍵入的值 。 int 是 C++的關(guān)鍵字 , 用來(lái)定義整數(shù)對(duì)象 。 可以在同一行有如下兩條語(yǔ)句: int x = 0; int y =2。 一行有多條語(yǔ)句 , 為了可讀性一般不這樣做 。 ? 也可在一個(gè)語(yǔ)句中定義多個(gè)對(duì)象 , 其間以逗號(hào)隔開 , 即: int x = 0, y =2。 對(duì)象初始化和構(gòu)造函數(shù)語(yǔ)法 ? 一般來(lái)說(shuō) , 即使初值只用來(lái)表示該對(duì)象尚未具有真正意義的值 , 也應(yīng)將每個(gè)對(duì)象初始化 。 本程序使用了一種不同的初始化語(yǔ)法 , 稱為構(gòu)造函數(shù)語(yǔ)法 。 目前先不解釋原因 , 只要記住它們的作用相同即可: int x( 0)。 // 等同于 int x = 0。 int y (2)。 // 等同于 int y=2。 6. 函數(shù)類型和返回值 ? 用 int說(shuō)明的對(duì)象只能接受整數(shù)輸入 , 用 double說(shuō)明則可接受實(shí)數(shù) 。 ? C++要求所有函數(shù)都需要有類型說(shuō)明 , 這里的 int main()指出 main函數(shù)是整數(shù)類型 。 ? 函數(shù)返回值由 return后面的表達(dá)式?jīng)Q定 。 這個(gè)表達(dá)式的值必須與聲明函數(shù)的類型一致 。 例如使用“ return y?!眲t可返回整數(shù) 。 但這個(gè)程序確實(shí)不需要返回值 , 所以使用語(yǔ)句 return 0。 6. 函數(shù)類型和返回值 表示 main函數(shù)結(jié)束 , 返回 “ 0”值 。 ? 如果函數(shù)確實(shí)不需要返回值 , 還可以用 void標(biāo)識(shí) ,一旦使用 void標(biāo)識(shí) , 函數(shù)體內(nèi)就不再需要使用return語(yǔ)句 。 如果再使用 “ return 0?!保?則編譯出錯(cuò) 。 但可使用 “ return; ” 語(yǔ)句 。 本書以后對(duì)無(wú)需返回值的函數(shù)將使用 void的形式且不使用return語(yǔ)句 。 ? 一般對(duì)于函數(shù)而言,如果函數(shù)返回 “ 0”表示正常結(jié)束,如果返回非零值,則表示出錯(cuò)。 7. 程序運(yùn)行結(jié)果 x=68CR 68*2=136 ? 帶下劃線的數(shù)字 “ 68”表示是從鍵盤輸入 。 ? 符號(hào) CR表示按鍵盤上的 “ 回車 (Enter)”鍵 ,用來(lái)通知程序 , 輸入結(jié)束 。 在沒有按回車鍵之前 ,可以反復(fù)修改輸入值 。 一旦按回車鍵 , 就表示確認(rèn)輸入 , 不能再修改 。 這種交互方式稱為命令行交互方式 。 ? 當(dāng)使用這種方式與程序交互時(shí) , 均以回車鍵作為信息結(jié)束符 。 以后除非特殊需要 , 一般不再使用符號(hào) CR。 標(biāo)識(shí)符 ? 標(biāo)識(shí)符 就是一個(gè)字符序列,用來(lái)標(biāo)記常量、變量、數(shù)據(jù)類型、函數(shù)及程序的名字。例如 double 和int等符號(hào)。構(gòu)成標(biāo)識(shí)符必須符合下列語(yǔ)法規(guī)則: ① 以字母或下劃線 “ _”符號(hào)中任一字符打頭; ② 在第 1個(gè)字符之后 , 可以是任意的字母 、 下劃線或數(shù)字組成的字符序列 , 這個(gè)序列可以是空串 。 ? C ++語(yǔ)言中的標(biāo)識(shí)符可以分為 3類:關(guān)鍵字、特定字和一般標(biāo)識(shí)符。 1. 關(guān)鍵字 關(guān)鍵字是用來(lái)說(shuō)明 C++語(yǔ)言中某一固定含義的字。例如 float 是關(guān)鍵字,它用以說(shuō)明浮點(diǎn)類型的對(duì)象(變量)。下面是部分常用關(guān)鍵字: auto const else goto new short this unsigned break continue enum if operator sizeof throw using bool default extern int private struct true virtual case delete false inline protected signed 關(guān)鍵字由小寫字母構(gòu)成 try void catch defined float long public static typedef volatile char do for mutable return switch typeid while class double friend namespace Register template union ? 這些關(guān)鍵字為 C++語(yǔ)言專用符號(hào),不得賦予其他含義, C++語(yǔ)言中的習(xí)慣是用小寫字母, 所有這些關(guān)鍵字也都是由小寫字母構(gòu)成的。詳見附錄。 2. 特定字 ? 特定字是具有特定含義的標(biāo)識(shí)符, 主要有如下幾個(gè): define include undef ifdef ifndef endif line pragma error ? 它們主要用在 C++語(yǔ)言的預(yù)處理程序中, 這些標(biāo)識(shí)符雖然不是關(guān)鍵字,但由于這些字均被賦予特定含義, 所以人們習(xí)慣上把它們看做是關(guān)鍵字。 ? 在程序中不能把這些特定字當(dāng)做一般標(biāo)識(shí)符使用。 3. 一般標(biāo)識(shí)符 ? 一般標(biāo)識(shí)符通常是程序員根據(jù)程序中的需要自己按照標(biāo)識(shí)符規(guī)則定義的標(biāo)識(shí)符。這些標(biāo)識(shí)符程序員可根據(jù)所標(biāo)記的內(nèi)容的含義用英文或漢語(yǔ)拼音來(lái)表示,或根據(jù)習(xí)慣符號(hào)來(lái)表示。下面的字符串為合法的標(biāo)識(shí)符: dw,name,f_1,rec_2,x,y,z11,area,_age ? 下面的字符串都是不合法的標(biāo)識(shí)符: 2a,xy,name*,no# ,a/b 選擇恰當(dāng)?shù)臉?biāo)識(shí)符 ? C++語(yǔ)言是大小寫字母敏感的語(yǔ)言,例如 name 和 Name 就代表不同的標(biāo)識(shí)符。 ? C++規(guī)定標(biāo)識(shí)符長(zhǎng)度不限,在選取時(shí)不僅要保證正確性,還要考慮容易區(qū)分,不易混淆,例如數(shù)字 1和字母 l在一起,就不易辨認(rèn)。 ? 在取名時(shí),應(yīng)使名字有很清楚的含義,例如使用area作為求面積函數(shù)的名字, area的英文含義就是面積,就很容易從名字猜出函數(shù)的功能。 ? 對(duì)一個(gè)可讀性好的程序,必須選擇恰當(dāng)?shù)臉?biāo)識(shí)符,取名應(yīng)統(tǒng)一規(guī)范化,使讀者一目了然。 變量對(duì)象 ? 數(shù)據(jù)是計(jì)算機(jī)程序處理的主要對(duì)象, 在程序中每項(xiàng)數(shù)據(jù)不是常量對(duì)象就是變量對(duì)象。變量對(duì)象就是一般的標(biāo)識(shí)符,用來(lái)存儲(chǔ)各種類型的數(shù)據(jù),以及指向存儲(chǔ)器內(nèi)部單元的指針。 ? 所有的變量對(duì)象在使用之前必須說(shuō)明,說(shuō)明
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1