C++語言程序設(shè)計(jì)課后答案_第1頁
C++語言程序設(shè)計(jì)課后答案_第2頁
C++語言程序設(shè)計(jì)課后答案_第3頁
C++語言程序設(shè)計(jì)課后答案_第4頁
C++語言程序設(shè)計(jì)課后答案_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、第二章C+喻單程序設(shè)計(jì)2-10 執(zhí)行完下列語句后, a、 b、 c 三個(gè)變量的值為多少a = 30;b = a+;c = +a;解:a: 32 ; b : 30 ; c: 32 ;2-13寫一條for語句,計(jì)數(shù)條件為 n從100到200,步長為2;然后用 while和dowhile 語句完成同樣的循環(huán)。解:for 循環(huán):for (int n = 100; n = 200; n += 2);while 循環(huán):int x = 100;while (n = 200)n += 2;dowhile循環(huán):int n = 100;don += 2; while(n = 200);2-17 修改下面這個(gè)程序中

2、的錯(cuò)誤,改正后它的運(yùn)行結(jié)果是什么#include void main()int iint j;i = 10; /* 給 i 賦值j = 20; /* 給 j 賦值 */cout i + j = i + j; /* 輸出結(jié)果 */return 0;解:改正:#include int main()int i;int j;i = 10; 09:;ABCDEFGHIJKLMNOP_QRSTUVWXYZFabcdefghijklmnopqrstuvwxyzs2-21 運(yùn)行下面的程序,觀察其輸出,與你的設(shè)想是否相同#include int main()unsigned int x;unsigned int

3、 y = 100;unsigned int z = 50;x= y - z;cout Difference is: x;x = z - y;cout nNow difference is: x endl;return 0;解:程序運(yùn)行輸出:Difference is: 50Now difference is: 46注意,第二行的輸出并非-50,注意x、 y、 z 的數(shù)據(jù)類型。2-22運(yùn)行下面的程序,觀察其輸出,體會(huì) i+與+i的差別。#include int main()int myAge = 39; n;cout You are: yourAge years oldn;myAge+; .n;

4、cout I am: myAge years old.n;cout You are: yourAge years oldn;cout Another year passesn;cout I am: myAge+ years old.n;cout You are: +yourAge years oldn;cout Lets print it again.n;cout I am: myAge years old.n;cout You are: yourAge years oldn;return 0;解:程序運(yùn)行輸出:I am 39 years oldYou are 39 years oldOne

5、year passesI am 40 years oldYou are 40 years oldAnother year passesI am 40 years oldYou are 41 years oldLets print it againI am 41 years oldYou are 41 years old2-28 編寫一個(gè)完整的程序, 實(shí)現(xiàn)功能: 向用戶提問 現(xiàn)在正在下雨嗎 , 提示用戶輸入 Y 或 N。若輸入為Y,顯示現(xiàn)在正在下雨。;若輸入為N,顯示現(xiàn)在沒有下雨。;否則繼續(xù)提問 現(xiàn)在正在下雨嗎 解:源程序:#include #include void main()char fl

6、ag;while(1)cout flag;if ( toupper(flag) = Y)cout 現(xiàn)在正在下雨。;break;if ( toupper(flag) = N)cout 現(xiàn)在沒有下雨。;break;程序運(yùn)行輸出:現(xiàn)在正在下雨嗎(Yes orNo):x現(xiàn)在正在下雨嗎(Yes orNo):l現(xiàn)在正在下雨嗎(Yes orNo):q現(xiàn)在正在下雨嗎(Yes orNo):n現(xiàn)在沒有下雨?;颍含F(xiàn)在正在下雨嗎 (Yes or No):y現(xiàn)在正在下雨。2-29 編寫一個(gè)完整的程序,運(yùn)行時(shí)向用戶提問你考試考了多少分(0100 ) ,接收輸入后判斷其等級(jí),顯示出來。規(guī)則如下:解:#include voi

7、d main()int i,score;cout score;if (score100 | score0)cout 分?jǐn)?shù)值必須在0 到 100 之間 !;elsei = score/10;switch (i)case 10:case 9:cout 你的成績?yōu)閮?yōu)! ;break;case 8:cout 你的成績?yōu)榱迹?;break;case 7:case 6:cout 你的成績?yōu)橹校?;break;default:cout 你的成績?yōu)椴睿?;程序運(yùn)行輸出:你考試考了多少分(0100): 85你的成績?yōu)榱迹?-31 用窮舉法找出 1100 間的質(zhì)數(shù),顯示出來。分別使用 while , do-whi

8、le , for 循環(huán)語句實(shí) 現(xiàn)。解:源程序:使用 while 循環(huán)語句:#include #include void main()int i,j,k,flag;i = 2;while(i = 100)flag = 1;k = sqrt(i);j = 2;while (j = k)if(i%j = 0)(flag = 0;break;) j+;) if (flag) cout i 是質(zhì)數(shù). endl; i+;)使用dowhile循環(huán)語句:#include #include void main() (int i,j,k,flag;i = 2;doflag = 1;k = sqrt(i);j =

9、2;doif(i%j = 0)flag = 0;break;)j+;while (j = k);if (flag)cout i 是質(zhì)數(shù). endl; i+;while(i = 100);使用for循環(huán)語句:#include #include void main() int i,j,k,flag;for(i = 2; i = 100; i+) flag = 1;k = sqrt(i);for (j = 2; j = k; j+)if(i%j = 0)flag = 0;break;if (flag)cout i 是質(zhì)數(shù) . one;cout two;answer = Divider(one, tw

10、o);if (answer -1)cout Answer: answer;elsecout Error, cant divide by zero!;return 0;程序運(yùn)行輸出:Enter two numbers.Number one:8Number two:2Answer: 43-8 編寫函數(shù)把華氏溫度轉(zhuǎn)換為攝氏溫度, 公式為: C = (F - 32) * 5/9; 在主程序中提示用戶輸 入一個(gè)華氏溫度,轉(zhuǎn)化后輸出相應(yīng)的攝氏溫度。解:源程序見 實(shí)驗(yàn)指導(dǎo)部分實(shí)驗(yàn)三3-10 編寫函數(shù)求兩個(gè)整數(shù)的最大公約數(shù)和最小公倍數(shù)。解:源程序:#include #include int fn1(int i

11、,int j); void PrintNameOf(); ;Document:Document( char *name ) Name = new char strlen( name ) + 1 ;strcpy( Name, name );void Document:PrintNameOf()cout Name endl;class Book : public Documentpublic:Book( char *name, long pagecount );void PrintNameOf();private: long PageCount; ;Book:Book( char *name, l

12、ong pagecount ):Document(name) PageCount = pagecount; void Book:PrintNameOf() cout Name of book: ;Document:PrintNameOf(); void main() Document a(Document1);Book b(Book1,100); (); 程序運(yùn)行輸出:Name of book: Book17-9定義基類 Base,有兩個(gè)共有成員函數(shù)fn1()、fn2(),私有派生出Derived類,如果想在Derived 類的對(duì)象中使用基類函數(shù) fn1() ,應(yīng)怎么辦 解:class Bas

13、e public: int fn1() const return 1; int fn2() const return 2; ;class Derived : private Base public:int fn1() return Base:fn1(); int fn2() return Base:fn2(); ;void main() Derived a; (); 7-10 定義 object 類,有 weight 屬性及相應(yīng)的操作函數(shù),由此派生出 box 類,增加 Height 和 width 屬性及相應(yīng)的操作函數(shù),聲明一個(gè)box 對(duì)象,觀察構(gòu)造函數(shù)與析構(gòu)函數(shù)的調(diào)用順序。解:#includ

14、e class object private: int Weight; public: object() cout 構(gòu)造 object 對(duì)象 endl;Weight = 0;int GetWeight() return Weight;void SetWeight(int n) Weight = n;object() cout 析構(gòu) object 對(duì)象 endl; ;class box : public objectprivate:int Height,Width;public: box() cout 構(gòu)造 box 對(duì)象 endl;Height = Width = 0;int GetHeight

15、() return Height;void SetHeight(int n) Height = n;int GetWidth() return Width;void SetWidth(int n) Width = n;box() cout 析構(gòu) box 對(duì)象 endl; ;void main() box a;程序運(yùn)行輸出:構(gòu)造 object 對(duì)象構(gòu)造box 對(duì)象析構(gòu)box 對(duì)象析構(gòu) object 對(duì)象7-11定義一個(gè)基類 BaseClasg從它派生出類 DerivedClass, BaseClass有成員函數(shù) fn1()、fn2(), DerivedClass也有成員函數(shù) fn1()、fn2(),在主程序中定義一個(gè)DerivedClass的對(duì)象,分別用DerivedClass的對(duì)象以及 BaseClas斷口 DerivedClass的指針來調(diào)用fn1()、fn2(),觀察運(yùn)行結(jié)果。 解:#include class BaseClasspublic:void fn1();void fn2();void BaseClass:fn1()cout 調(diào)用基類的函數(shù)fn1() endl;void BaseClass:fn2()cout 調(diào)用基類的函數(shù)fn2() endl;class DerivedClass : public BaseClasspublic:void f

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論