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

正文內(nèi)容

c語(yǔ)言程序習(xí)題解析(已修改)

2025-04-05 04:48 本頁(yè)面
 

【正文】 第一章C++語(yǔ)言概述 2第3章 控制結(jié)構(gòu) 15第4章 數(shù)組 40第5章 函數(shù) 52第六章 指針 61第七章 結(jié)構(gòu)體 77第八章?? 類(lèi)與對(duì)象 97第九章 繼承與派生類(lèi) 113第十章 多態(tài)性 125第十一章 C++的IO系統(tǒng) 142第一章C++語(yǔ)言概述1.C++語(yǔ)言的特點(diǎn) (1)C++語(yǔ)言支持?jǐn)?shù)據(jù)封裝 封裝是指把對(duì)象屬性和操作結(jié)合在一起,構(gòu)成獨(dú)立的單元,它的內(nèi)部信息對(duì)外界是隱蔽的,不允許外界直接存取對(duì)象的屬性,只能通過(guò)有限的接口與對(duì)象發(fā)生聯(lián)系。類(lèi)是數(shù)據(jù)封裝的工具,對(duì)象是封裝的實(shí)現(xiàn)。 (2)C++類(lèi)中包含私有、公有和保護(hù)成員 類(lèi)的訪問(wèn)控制機(jī)制體現(xiàn)在類(lèi)的成員中可以有公有成員、私有成員和保護(hù)成員。對(duì)于外界而言,只需要知道對(duì)象所表現(xiàn)的外部行為,而不必了解內(nèi)部實(shí)現(xiàn)細(xì)節(jié)。封裝體現(xiàn)了面向?qū)ο蠓椒ǖ摹靶畔㈦[蔽和局部化原則”。 (3)C++語(yǔ)言中通過(guò)發(fā)送消息來(lái)處理對(duì)象 消息指對(duì)象之間在交互通訊中所傳送的信息。消息由三部分構(gòu)成:消息名、接收消息的對(duì)象標(biāo)識(shí)和參數(shù)。一個(gè)對(duì)象向另一個(gè)對(duì)象發(fā)送消息請(qǐng)求某項(xiàng)服務(wù),接收消息的對(duì)象響應(yīng)該消息,進(jìn)行所要求的服務(wù),并把操作的結(jié)果返回給請(qǐng)求服務(wù)的對(duì)象。 (4)C++語(yǔ)言中允許友元破壞封裝性 (5)C++語(yǔ)言允許函數(shù)名和運(yùn)算符重載 (6)C++語(yǔ)言支持繼承性 繼承指子類(lèi)(派生類(lèi))可以自動(dòng)擁有父類(lèi)(基類(lèi))的全部屬性和服務(wù)。父類(lèi)和子類(lèi)是一般與特殊的關(guān)系。在定義一個(gè)子類(lèi)時(shí),可以把父類(lèi)所定義的內(nèi)容做為自己的內(nèi)容,并加入若干新的內(nèi)容 (7)C++語(yǔ)言支持動(dòng)態(tài)聯(lián)編 多態(tài)性是指在基類(lèi)中定義的屬性和服務(wù)被子類(lèi)繼承后,可以具有不同的數(shù)據(jù)類(lèi)型和表現(xiàn)出不同的行為。當(dāng)一個(gè)對(duì)象接收到一個(gè)請(qǐng)求進(jìn)行某項(xiàng)服務(wù)的消息時(shí),將根據(jù)對(duì)象所屬的類(lèi),動(dòng)態(tài)地選用該類(lèi)中定義的操作。2.C++程序的組成 注釋部分(兩種風(fēng)格)、編譯預(yù)處理部分(宏定義,文件包含和條件編譯、)、程序正文部分(類(lèi)型定義、常變量定義、函數(shù)定義)。最終,程序源代碼由ASCII碼組成類(lèi)似單詞或詞組的單元(詞法單元),可以用任意的文本編輯器編輯,源代碼中的空白(空格、Tab、回車(chē)換行)用來(lái)表示詞法單元的開(kāi)始和結(jié)束,除這一功能外其余空白將被忽略,但如果是字符串內(nèi)部的空白(不含回車(chē)換行,或者說(shuō)字符串內(nèi)不能直接回車(chē)換行,需要使用轉(zhuǎn)義符)將作為字符串的一部分輸出,不會(huì)忽略。 注釋?zhuān)? 1)一對(duì)符號(hào)“/ *”與“* /”之間的內(nèi)容稱(chēng)為注釋。它可以占多行,是從C語(yǔ)言中繼承來(lái)的一種注釋形式。 2)一行中符號(hào)“//”之后的內(nèi)容也稱(chēng)為注釋。它只能占一行,是C++語(yǔ)言特有的一種注釋形式。 編譯預(yù)處理命令: C++的編譯預(yù)處理命令以“”開(kāi)頭。C++提供了三類(lèi)編譯預(yù)處理命令:宏定義、文件包含和條件編譯。 程序主體:用函數(shù)組織過(guò)程,每個(gè)相對(duì)獨(dú)立的過(guò)程都要組織成一個(gè)函數(shù);不同的程序由不同的函數(shù)按層次結(jié)構(gòu)組織而成。一個(gè)C++程序至少且僅包含一個(gè)main()函數(shù),也可以包含一個(gè)main()函數(shù)和若干個(gè)其他函數(shù)。其他函數(shù)可以是系統(tǒng)提供的庫(kù)函數(shù)(例如printf()和scanf()函數(shù)),也可以是用戶(hù)根據(jù)需要自己編制設(shè)計(jì)的函數(shù)3.函數(shù)????C++的程序由若干個(gè)文件組成,(c?plus?plus)。每個(gè)文件又是由函數(shù)組成,函數(shù)之間可以調(diào)用。在這些函數(shù)中只有一個(gè)函數(shù)是主函數(shù)main()。程序執(zhí)行時(shí),操作系統(tǒng)先調(diào)用主函數(shù),主函數(shù)再依次調(diào)用其它函數(shù)完成設(shè)計(jì)任務(wù)。 4.程序的編輯、編譯、連接和運(yùn)行 (1)編輯 編輯是將編寫(xiě)好的C++源程序輸入到計(jì)算機(jī)中,生成磁盤(pán)文件的過(guò)程。 (2)編譯和連接過(guò)程 編譯器的功能是將程序的源代碼轉(zhuǎn)換成為機(jī)器代碼的形式,稱(chēng)為目標(biāo)代碼,然后,再將目標(biāo)代碼進(jìn)行連接,生成可執(zhí)行文件。 編譯過(guò)程又可分為三個(gè)子過(guò)程。 (1)預(yù)處理過(guò)程:對(duì)源程序編譯時(shí),先進(jìn)行預(yù)處理,如果源程序中有預(yù)處理命令,則先執(zhí)行這些預(yù)處理命令,執(zhí)行后再進(jìn)行下面的編譯過(guò)程。 (2)編譯過(guò)程:編譯過(guò)程主要是進(jìn)行詞法分析和語(yǔ)法分析的過(guò)程,又稱(chēng)源程序分析。 1)詞法分析。2)語(yǔ)法分析。3)符號(hào)表。4)錯(cuò)誤處理程序。5)生成目標(biāo)代碼。 連接過(guò)程:這是編譯的最后一個(gè)過(guò)程,將用戶(hù)程序生成的多個(gè)目標(biāo)代碼文件和系統(tǒng)提供的庫(kù)文件中的某些代碼連接在一起由連接器生成一個(gè)可執(zhí)行文件。 (3)運(yùn)行 一個(gè)C++的源程序經(jīng)過(guò)編譯和連接后生成了可執(zhí)行文件。運(yùn)行可執(zhí)行文件可在編譯系統(tǒng)下選擇相關(guān)菜單項(xiàng)來(lái)實(shí)現(xiàn),也可以采用其他方法。 典型例題分析與解答例題1:顯示“I am a student”字符串,并通過(guò)簡(jiǎn)單的程序了解和熟悉運(yùn)用VC++開(kāi)發(fā)環(huán)境進(jìn)行編寫(xiě)、編譯、調(diào)試、顯示結(jié)果的過(guò)程。解答:該程序非常簡(jiǎn)單,如下代碼所示,運(yùn)用了cout輸出流對(duì)象代表標(biāo)準(zhǔn)輸出顯示器,代表后邊的字符串向顯示器輸出的方向。include void main(){cout”I am a student”endl。 }編輯過(guò)程: ①編輯 ?編輯是將C++源程序輸入計(jì)算機(jī)的過(guò)程。在Visual?C++,點(diǎn)擊File菜單,選擇New菜單項(xiàng),即可出現(xiàn)New對(duì)話框,如圖11所示。在彈出窗口中的Files標(biāo)簽頁(yè)下,選擇C++?Source?File。在選項(xiàng)卡右面的文件編輯框里輸入文件名如“Exa”,在目錄編輯框里輸入文件路徑,如“d:\test”。點(diǎn)擊確認(rèn)按鈕。 ②編譯 ????,由于沒(méi)有得到系統(tǒng)分配的絕對(duì)地址,還不能直接運(yùn)行。選擇編譯菜單下的編譯?,計(jì)算機(jī)將完成對(duì)當(dāng)前源程序的編譯。按提示建立默認(rèn)工程空間。編譯無(wú)錯(cuò)時(shí)。 ??? ③連接 ?。如圖14所示選擇編譯菜單下的構(gòu)件?。連接無(wú)錯(cuò)時(shí)。 ?④運(yùn)行 ????,屏幕輸出運(yùn)行結(jié)果。選擇編譯菜單下的執(zhí)行?。 例題2:輸入一名學(xué)生的成績(jī),判斷該成績(jī)的等級(jí)。 如=60的,顯示“合格”,60的顯示“不合格”。程序:include //輸入輸出流對(duì)象的頭文件void main(){ int score。 //聲明成績(jī)變量,用來(lái)保存分?jǐn)?shù) cout”輸入成績(jī):”。 //提示用戶(hù)的信息 cinscore。 //從鍵盤(pán)上輸入分?jǐn)?shù)傳遞給score if( score=60) //判斷該條件是否真或假 cout”合格”endl。 //當(dāng)score=60是真的時(shí)候,運(yùn)行該語(yǔ)句 else cout”不合格”endl。 //當(dāng)score=60是假的時(shí)候,運(yùn)行該語(yǔ)句}分析:(1)? 首先該題目要求輸入一個(gè)分?jǐn)?shù),則事先聲明一個(gè)整型變量score。(2)? 其次從鍵盤(pán)上輸入該分?jǐn)?shù),應(yīng)有輸入語(yǔ)句cin,并由上面定義的變量來(lái)保存分?jǐn)?shù)。(3)? 然后根據(jù)分?jǐn)?shù)來(lái)判斷等級(jí),有兩種情況應(yīng)該用if語(yǔ)句。(4)? 輸出的信息是根據(jù)不同條件顯示字符串,用到cout輸出流對(duì)象。(5)? 用到標(biāo)準(zhǔn)輸入輸出流對(duì)象,所以在程序前加相應(yīng)頭文件。?例題3:面向?qū)ο蟮模? )是一種信息隱蔽技術(shù),目的在于將對(duì)象的使用者與設(shè)計(jì)者分開(kāi)。不允許使用者直接存取對(duì)象的屬性,只能通過(guò)有限的接口與對(duì)象發(fā)生聯(lián)系。A.多態(tài)性 B.封裝性 C.繼承性 D.重用性答案B分析:封裝性是指把對(duì)象屬性和操作結(jié)合在一起,構(gòu)成獨(dú)立的單元,其內(nèi)部信息對(duì)外界是隱蔽的,不允許外界直接存取對(duì)象的屬性,只能通過(guò)有限的接口與對(duì)象發(fā)生聯(lián)系。若不清楚多態(tài)性的定義,誤選答案A。多態(tài)性是指當(dāng)一個(gè)對(duì)象接收到一個(gè)請(qǐng)求進(jìn)行某項(xiàng)服務(wù)的消息時(shí),將根據(jù)對(duì)象所屬的類(lèi),動(dòng)態(tài)地選用該類(lèi)中定義的操作。若不清楚繼承性的定義,誤選答案C。繼承是指派生類(lèi)可以自動(dòng)擁有基類(lèi)的全部屬性和服務(wù)。若不清楚重用性的定義,誤選答案D。重用性是多態(tài)性的一種表現(xiàn)形式。?例題4:C++源文件的擴(kuò)展名為( )。 A.cpp B.c C.txt D.exe答案A 分析:C++源程序的擴(kuò)展名為cpp。C程序的擴(kuò)展名為c。文本文件的擴(kuò)展名為txt。源程序編譯后可執(zhí)行文件的擴(kuò)展名為exe。若不清楚C++源程序擴(kuò)展名和C源程序擴(kuò)展名的區(qū)別,誤選答案B。C++兼容C,當(dāng)文件名保存為c時(shí),調(diào)用C編譯器;當(dāng)文件名保存為cpp時(shí)調(diào)用C++編譯器。若不清楚C++源程序擴(kuò)展名和文本文件擴(kuò)展名的區(qū)別,誤選答案C。C++源程序可以在文本編輯器里編輯,但一定注意將其擴(kuò)展名保存cpp,不能為txt。若不清楚C++源程序和C++可執(zhí)行文件的擴(kuò)展名的區(qū)別,誤選答案D。C++源程序經(jīng)過(guò)編譯、連接后得到可執(zhí)行文件的擴(kuò)展名為exe。?例題5:C++的合法注釋是( )。 A./*This is a C program/*  B.// This is a C program C. “This is a C program” D.//This is a C program//答案:B分析:?jiǎn)涡凶⑨尦2捎谩?/”,多行注釋采用“/*”和“*/”。單行注釋也可采用“/*”和“*/”,但答案A書(shū)寫(xiě)格式錯(cuò)誤,不能選答案A。注釋和字符串的區(qū)別,雙引號(hào)內(nèi)的字符為字符串。不能選答案C。單行注釋不需要結(jié)束符“//”,如果有,只能作為注釋的一部分存在。也不能選答案D。?例題6:下面標(biāo)識(shí)符中正確的是( )。 A._abc B.3ab C. int D.+ab答案:A 分析:C++的標(biāo)識(shí)符由字母、下劃線和數(shù)字組成,而且第一個(gè)字符不能為數(shù)字。答案B第一個(gè)字符為數(shù)字不能選B。標(biāo)識(shí)符不能為關(guān)鍵字,不能選答案C。答案D第一個(gè)字符不是字母或下劃線,也不能選。例題7:分析下列該程序的錯(cuò)誤。輸入數(shù)據(jù)格式為:2,5(回車(chē))。 main() { int sum=0。 int a,b。 coutinput a,b:。 cinab。 sum=a+b。 coutsumendl。 } 本程序把輸入的兩個(gè)數(shù)據(jù)進(jìn)行累加并輸出結(jié)果。輸入數(shù)據(jù)格式為:2 5。 include // 編譯預(yù)處理命令,以“”開(kāi)頭。把系統(tǒng)已經(jīng)定義好的輸入 //輸出功能包含到本程序中。 void main() // 程序的主函數(shù) { // 主函數(shù)開(kāi)始 int sum=0。 // 定義一個(gè)變量sum存放累加結(jié)果,并且賦初值為0 int a,b。 // 定義兩個(gè)變量,保存輸入值 coutinput a,b:。 // 提示輸入 cinab。 // 使用基本輸入設(shè)備cin輸入兩個(gè)變量值 sum=a+b。 // 進(jìn)行累加,結(jié)果保存到sum變量 coutsumendl。 // 使用基本輸出設(shè)備cout輸出累加結(jié)果sum }分析: (1)沒(méi)有使用編譯預(yù)處理命令:include。(hhead),設(shè)置了C++的I/O環(huán)境。cin、cout為基本輸入、輸出設(shè)備。 (2)沒(méi)有main()函數(shù)的返回類(lèi)型,系統(tǒng)提示警告。main()函數(shù)的返回類(lèi)型常標(biāo)注為void。 (3)輸入數(shù)據(jù)時(shí)沒(méi)有使用空格分隔。輸入運(yùn)算符“”要求輸入的多個(gè)數(shù)據(jù)用空格分隔。?? 教材習(xí)題分析與解答1.參照例題,編寫(xiě)一個(gè)能輸出以下信息的程序。 How are you. Fine,thank you. 程序: include Void main() { Cout”How are you.”endl。 //輸出字符串并換行。 Cout”Fine,thank you.”endl。 }2.參照例題,編寫(xiě)一個(gè)求兩個(gè)數(shù)745之和的程序。 程序: include void main() { int sum=0。 sum=78+45。 //求和 cout78+45= sumendl。 } ?3.參照例題,編寫(xiě)一個(gè)求三個(gè)數(shù)1216之和的程序。 include void main() { int a,b,c,sum。 //定義變量 coutinput three number:\n。 cinabc。 //從鍵盤(pán)輸入三個(gè)數(shù)給變量a和b、c sum=a+b+c。 //求和 coutsum is sum。 } ?4.上機(jī)運(yùn)行本章的三個(gè)例題,熟悉所用系統(tǒng)的上機(jī)方法與步驟。 略 5.上機(jī)運(yùn)行本章習(xí)題2和3。 略? 補(bǔ)充習(xí)題( )不是C++所包含的要素。 A.重載 B.對(duì)象 C.類(lèi) D.繼承,( )是合法的。 A.goto B.Student C. 123 D.k-ld++語(yǔ)言中,( )的陳述是正確的。 A.能使用關(guān)鍵字并區(qū)分大小寫(xiě) B.能使用關(guān)鍵字并不區(qū)分大小寫(xiě) C. 不能使用關(guān)鍵字并區(qū)分大小寫(xiě) D.不能使用關(guān)鍵字并不區(qū)分大小寫(xiě) ++語(yǔ)言中語(yǔ)句的結(jié)束符是( )。 A. , B. ; C. 。 D. 、( )是錯(cuò)誤的。 A.類(lèi)是抽象數(shù)據(jù)類(lèi)型的實(shí)現(xiàn) B.類(lèi)是具有共同行為的若干對(duì)象的統(tǒng)一描述體 C. 類(lèi)是創(chuàng)建對(duì)象的模板 D.類(lèi)就是C語(yǔ)言中的結(jié)構(gòu)類(lèi)型 Hello,C++!。,改正錯(cuò)誤信息,分析輸出結(jié)果。 include void main() { int x,y。 coutinput x:endl。 cinx。 y=x*x。 cout
點(diǎn)擊復(fù)制文檔內(nèi)容
電大資料相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1