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

正文內(nèi)容

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

2025-04-05 04:48 本頁面
 

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