C Primer第五版 3 2 2節練習

2021-07-05 05:34:09 字數 1933 閱讀 8522

練習3.2:編寫一段程式從標準輸入中一次讀入一整行,然後修改該程式使其一次讀入乙個詞。

練習3.3:請說明string類的輸入運算子和getline函式分別是如何處理空白字元的。

練習 3.4:編寫一段程式讀入兩個字串,比較其是否相等並輸出結果。如果不相等,輸出較大的那個字串。改寫上述程式,比較輸入的兩個字串是否等長,如果不等長,輸出長度較大的那個字串。

練習 3.5:編寫一段程式從標準輸入中讀入多個字串並將它們連線在一起,輸出連線成的大字串。然後修改上述程式,用空格把輸入的多個字串分割開來。

答案:練習3.2 見雲盤程式

練習3.3 答:string類的輸入運算在讀取時會自動忽略開頭的空白(即空格符,換行符,製表符),並從第乙個真正的字元開始讀起,直到遇見下一處空白為止。

getline函式會在最終得到的字串中保留輸入時的空白符,getline只要一遇到換行符就結束讀取操作並返回結果,哪怕輸入的一開始就是換行符也是如此。如果輸入真的一開始就是換行符,那麼所得的結果是個空string。

練習3.4 練習3.5見雲盤程式

練習3.2

#include 

#include

using

std::string;

using

std::cin;

using

std::cout;

using

std::endl;

int main()

return

0;}

練習3.2-2

#include 

#include

using

std::string;

using

std::cin;

using

std::cout;

using

std::endl;

int main()

return

0; }

練習3.4

#include 

#include

using

std::string;

using

std::cin;

using

std::cout;

using

std::endl;

int main()

return

0; }

練習3.4-2

#include 

#include

using

std::string;

using

std::cin;

using

std::cout;

using

std::endl;

int main()

return

0;}

練習3.5

#include 

using

std::string;

using

std::cin;

using

std::cout;

using

std::endl;

int main()

cout

<< s1 << endl;

return

0;}

練習3.5-2

#include 

#include

using

std::string;

using

std::cin;

using

std::cout;

using

std::endl;

int main()

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 3 1節練習

練習3.12 下列vector物件的定義有不正確的嗎?如果有,請指出來。對於正確的,描述其執行結果 對於不正確的,說明其錯誤的原因。a vector ivec b vector svec ivec c vector svec 10,null 練習3.13 下列的vector物件包含多少個元素?這些元...