C Primer第五版 4 5節練習

2021-07-05 07:06:00 字數 642 閱讀 1115

練習 4.17:說明前置遞增運算子和後置遞增運算子的區別。

練習4.18:如果第132頁那個輸出vector物件元素的while迴圈使用前置遞增運算子,將得到什麼結果?

練習4.19:假設ptr的型別是指向int的指標、vec的型別是vector、ival的型別是int,說明下面的表示式是何含義?如果表示式不正確,為什麼?應該如何修改?

(a)

.ptr!=0

&&*ptr++

((b)

.ival++

&&ival

(c).

vec[

ival++

]<=

vec[

ival

]

練習4.17

答:前置遞增運算符號和後置遞增運算子的區別

前置遞增運算子首先將運算物件加1(或減1),然後將改變後的物件作為求值結果。

後置遞增運算也會將運算物件加1,但是求值結果是運算物件改變之前那個的副本。

int i = 0, j;

j = ++i;// j =1, i = 1;前置版本得到遞減之後的值

j = i++;// j = 1, i = 2;後置版本得到遞增之後的值

C Primer第五版 2 4 3節練習

練習2.30 對於下面的這些語句,請說明物件被宣告成了頂層const還是底層const?const int v2 0 v2的值不能被改變,所以這是乙個頂層const int v1 v2 int p1 v1,r1 v1 const int p2 v2 p2存放的是v2的位址,不能間接改變v2的值,但p...

C Primer第五版 2 5 3節練習

練習 2.36 關於下面的 請指出乙個變數的型別以及程式結束時它們各自的值。include int main 練習 2.37 賦值是會產生引用的一類典型表示式,引用的型別就是左值的型別。也就是說,如果i是int,則表示式 i x的型別是int 根據這一特點,請指出下面的 中每乙個變數的型別和值。in...

C Primer第五版 3 2 2節練習

練習3.2 編寫一段程式從標準輸入中一次讀入一整行,然後修改該程式使其一次讀入乙個詞。練習3.3 請說明string類的輸入運算子和getline函式分別是如何處理空白字元的。練習 3.4 編寫一段程式讀入兩個字串,比較其是否相等並輸出結果。如果不相等,輸出較大的那個字串。改寫上述程式,比較輸入的兩...