2.1 簡述c++的主要特點。
1) c++是c的超集,保持與c的相容。
2) 保持了c的簡潔、高效和接近組合語言等特點,並對c的功能作了不少擴充。用c++編寫的程式比c更安全,可讀性更好,**結構更為合理。
3) 程式質量高。
4) 增加了物件導向機制。
2.2
#include usingnamespace
std;
intmain()
if (d ==min)
cout
<< "
the lowest common denominator is
"<< d
}
2.3 有效
2.4 沒有函式宣告;
函式定義沒有寫返回值型別。
2.5 (1)等價,函式宣告可以省略引數的名字。
(2)不等價,第二個的函式定義不能省略引數的名字。
2.6-2.10 cdaab
2.11-2.15 acbdc
2.16-2.17 dc
2.18
2.19
10 10
2.20
2.21 舉例說明可以使用const替代#define以消除#define的不安全性。
#include usingnamespace
std;
intmain()
上面這個程式,初看應該輸出 t2 is 0
但是實際上,得出t2 is 2
如果把#define換成const, 則可以輸出想要的結果。
2.22 用動態分配空間的方法,計算fibonacci數列的前20項,並儲存到動態分配的空間中。
#include usingnamespace
std;
intmain()
return0;
}
2.23 過載sroot函式,輸出乙個數的二次方根。
#include usingnamespace
std;
double sroot(int
num)
double sroot(long
num)
double sroot (double
num)
intmain()
2.24
解決百錢問題。將一元人民幣換成1、
2、5分的硬幣,有多少種換法?
#include usingnamespace
std;
intmain()
for(int k = 0; k <= 20; k++)
if ((i + 2*j + 5*k) > 100
) }}
}cout
<< num
}
2.25
輸入兩個整數,按由小到大的順序輸出。要求使用變數的引用。
#include usingnamespace
std;
void swap(int &a, int &b)
intmain()
cout
<< a << ","
<< b
}
2.26
用二分法求解
f(x)=0
的根。
#include usingnamespace
std;
double fun(double
x)int
main()
do
while ((fun(a) * fun(b)) >= 0
);
if(fun(b) == 0
)
if(a >b)
while(1
)
if(fun(a) * fun((a + b)/2) < 0
)
if(fun(b) * fun((a + b)/2) < 0
)
}return0;
}
第二章習題
一 linux對於硬體的要求是什麼?是否一定要有很高的配置才能安裝linux?答 不是一定要有很高的配置才能安裝linux 因為linux系統是非常穩定和高效的,對電腦硬體配置要求很低,這正是linux系統的優勢所在,不同的linux系統版本要求略有不同,但是大體上在同乙個配置等級內,而且當下主流的...
第二章習題
一 名詞解釋 引用 所謂引用,就是給物件起乙個別名,使用該別名可以訪問該物件。換句話說,是使新物件和原物件共用 乙個位址。內聯函式 內聯函式是使用inline 關鍵字宣告乙個函式。過載函式 過載函式通常用來對具有相似行為而資料型別不同的操作提供 個通用的名稱。二 填空題 1 一般情況下,用c 語言編...
c primer第二章習題
習題2.1 int,long和short型別之間有什麼差別?答 short,int和long型別都表示整型值,儲存空間的大小不同.一般,short型別為半個機器字長,int型別為乙個機器字長,而long型別為乙個或兩個機器字長 在32位機器中int型別和long型別通常字長是相同的 用sizeof可...