按照這本書的順序,不懂得查別的資料了,不理解的好多
目錄練習(xí) 3.1
說明下列文字常量的區(qū)別
(a) ‘a(chǎn)’, L’a’, “a”, L"a"
(b) 10, 10u, 10L, 10uL, 012, 0xC
? 3.14, 3.14f, 3.14L
練習(xí) 3.2
下列語句哪些是非法的
(a) “Who goes with F\144rgus?\014”
(b) 3.14e1L
? “two” L"some"
(d) 1024f
(e) 3.14UL
(f) “multiple line
comment”
練習(xí) 3.3
下列定義哪些是非法的 請改正之
(a) int car = 1024, auto = 2048;
(b) int ival = ival;
( c) int ival( int() );
(d) double salary = wage = 9999.99;
(e) cin >>int input_value;
練習(xí) 3.4
區(qū)分左值與右值 并給出它們的例子
練習(xí) 3.5
說明下列 student 和 name 兩個實(shí)例的區(qū)別
(a) extern string name;
string name( “exercise 3.5a” );
(b) extern vector students;
vector students;
練習(xí) 3.6
下列名字哪些是非法的 請改正之
(a) int double = 3.14159; (b) vector< int >_;
? string namespace; (d) string catch-22;
(e) char 1_or_2 = ‘1’; (f) float Float = 3.14f;
練習(xí) 3.7
下面的全局對象定義和局部對象定義有什么區(qū)別(如果你認(rèn)為有區(qū)別的話)
string global_class;
int global_int;
int main() {
int local_int;
string local_class;
// …
}
枚舉類型最常見也最有意義的用處之一就是用來描述狀態(tài)量.
不能做到的是打印枚舉成員的實(shí)際枚舉名.
不能使用枚舉成員進(jìn)行迭代.
可以定義枚舉類型的對象 它可以參與表達(dá)式運(yùn)算 也可以被作為參數(shù)傳遞給函數(shù).
枚舉類型的對象能夠被初始化 但是只能被一個相同枚舉類型的對象或枚舉成員集中的某個值初始化或賦值.
這個講的明白:https://www.runoob.com/w3cnote/cpp-enum-intro.html
枚舉變量的值只能取枚舉常量表中所列的值,就是整型數(shù)的一個子集。
枚舉變量占用內(nèi)存的大小與整型數(shù)相同。
以下定義:
//定義枚舉類型之后,就可以定義該枚舉類型的變量,如:
//color_set1 color1, color2;
//默認(rèn)狀態(tài)下,這個整數(shù)就是所列舉元素的序號,序號從0開始
enum color_set1 {RED, BLUE, WHITE, BLACK} color1, color2;
enum color_set2 {GREEN, RED, YELLOW, WHITE} color3, color4;
練習(xí) 3.22
下面哪些數(shù)組定義是非法的 為什么
96 第三章 C++數(shù)據(jù)類型
int get_size();
int buf_size = 1024;
(a) int ia[ buf_size ]; (d) int ia[ 2 * 7 - 14 ];
(b) int ia[ get_size() ]; (e) char st[ 11 ] = “fundamental”;
? int ia[ 4 * 7 - 14 ];
練習(xí) 3.23
下面代碼試圖用數(shù)組中每個元素的索引值來初始化該元素 其中包含了一些索引錯誤
請把它們指出來
int main() {
const int array_size = 10;
int ia[ array_size ];
for ( int ix = 1; ix<= array_size; ++ix )
ia[ ix ] = ix;
// …
}
-多維數(shù)組-數(shù)組與指針
ia
&ia[0]
const int rowSize = 4;
const int colSize = 3;
int ia[ rowSize ][ colSize ];
遍歷數(shù)組的方式
定義模板函數(shù):
#includetemplatevoid print( elemType *pbegin, elemType *pend )
{ while ( pbegin != pend ) { cout<< *pbegin<< ' ';
++pbegin;
}
}
現(xiàn)在我們可以給通用的函數(shù) print()傳遞一對指向**任意類型**數(shù)組的指針 只要該類型的輸
出操作符已經(jīng)被定義即可 例如
int main()
{ int ia[9] = {0, 1, 1, 2, 3, 5, 8, 13, 21 };
double da[4] = {3.14, 6.28, 12.56, 25.12 };
string sa[3] = {"piglet", "eeyore", "pooh" };
print( ia, ia+9 );
print( da, da+4 );
print( sa, sa+3 );
}
3.10 vector 容器類型#include< vector >
可以用 size()查詢 vector 的大小 也可以用 empty()測試它是否為空
vector 可以被另一個 vector 初始化 或被賦給另一個 vector
使用 vector 有兩種不同的形式 即所謂的數(shù)組習(xí)慣和 STL 習(xí)慣
數(shù)組習(xí)慣
vector< int >ivec( 10 );
vector< int >ivec( 10, -1 );//定義了 ivec 它包含十個 int 型的元素 每個元素都被初始化為-1
STL 習(xí)慣
====================================
vector< string >text;//定義一個空 vector
// 插入元素
string word;
while ( cin >>word ) { text.push_back( word );
// ...
}
====================================
text[ i ] //訪問元素
====================================
//使用 vector 操作集中的 begin()和 end()所返回的迭代器 iterator對
for ( vector::iterator it = text.begin();
it != text.end(); ++it )
cout<< *it<< ' ';
練習(xí) 3.24 下列 vector 定義中 哪些是錯誤的 int ia[ 7 ] = { 0, 1, 1, 2, 3, 5, 8 };
(a) vector< vector< int >>ivec; (b) vector< int >ivec = { 0, 1, 1,
2, 3, 5, 8 }; ? vector< int >ivec( ia, ia+7 ); (d) vector< stringsvec = ivec; (e) vector< string >svec( 10, string( “null” ));
3.11復(fù)數(shù)類型練習(xí) 3.25
已知下面的函數(shù)聲明
bool is_equal( const int*ia, int ia_size,
const vector &ivec );
請實(shí)現(xiàn)下列行為 如果兩個容器大小不同 則比較相同大小部分的元素 一旦某個元素
不相等 則返回 false 如果所有元素都相等 則返回 true 請用 iterator 迭代訪問 vector 可
以以本節(jié)中的例子為模型 并且寫一個 main()函數(shù)來測試 is_equal()函數(shù)
#include< complex >
3.12 typedef 機(jī)制它并沒有引入一種新的類型 而只是為現(xiàn)有類型引入了一個助記符號
3.13 volatile 限定修飾符#include
3.14pair 類型 3.14 類練習(xí) 3.26 在 String 類的構(gòu)造函數(shù)和賦值操作符的實(shí)現(xiàn)中 有大量的重復(fù)代碼 請使用 2.3 節(jié)中展 示的模型 把這些公共代碼抽取成獨(dú)立的私有成員函數(shù) 用它們重新實(shí)現(xiàn)構(gòu)造函數(shù)和賦值操 作符 并重新運(yùn)行程序以確保其正確
練習(xí) 3.27 修改程序
使其也能夠記下輔音字母 b d f s 和 t 的個數(shù)
練習(xí) 3.28 實(shí)現(xiàn)能夠返回 String 中某個字符出現(xiàn)次數(shù)的成員函數(shù) 聲明如下
class String { public:
// … int count( char ch ) const;
// … };
練習(xí) 3.29 實(shí)現(xiàn)一個成員操作符函數(shù) 它能把一個 String 與另一個連接起來
并返回一個新的 String 聲明如下 class String { public: // … String
operator+( const 2String &rhs ) const; // … };
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧