使用恰當的using宣告重做1.4.1節(第11頁)和2.6.2節(第67頁)的練習
#ifdef 1
#include using std::cin;
using std::cout;
using std::endl;
int main(void)
cout << sum << endl;
return 0;
}#endif
#ifdef 2
#include using std::cin;
using std::cout;
using std::endl;
int main(void)
return 0;
}#endif
#ifdef 3
#include using std::cout;
using std::cin;
using std::endl;
int main(void)
return 0;
}#endif
編寫一段程式從標準輸入中一次讀入一整行,然後修改該程式使其一次讀入乙個詞。
#include #include using std::cin;
using std::cout;
using std::endl;
using std::string;
int main(void)
請說明string類的輸入運算子和getline函式分別是如何處理空白字元的。
空白字元包含換行符,空格符,製表符等。
cin從第乙個非空白字元開始,將標準輸入流的字元傳遞給指定字串,並且以空字元為結束。
getline從標準輸入流讀取使用者輸入的內容,以換行符作為結束(換行符也被讀入流),並將流寫入str(拋棄換行符)。
編寫一段程式讀入兩個字串,## 3.1節
使用恰當的using宣告重做1.4.1節(第11頁)和2.6.2節(第67頁)的練習
#ifdef 1
#include using std::cin;
using std::cout;
using std::endl;
int main(void)
cout << sum << endl;
return 0;
}#endif
#ifdef 2
#include using std::cin;
using std::cout;
using std::endl;
int main(void)
return 0;
}#endif
#ifdef 3
#include using std::cout;
using std::cin;
using std::endl;
int main(void)
return 0;
}#endif
編寫一段程式從標準輸入中一次讀入一整行,然後修改該程式使其一次讀入乙個詞。
#include #include using std::cin;
using std::cout;
using std::endl;
using std::string;
int main(void)
請說明string類的輸入運算子和getline函式分別是如何處理空白字元的。
空白字元包含換行符,空格符,製表符等。
cin從第乙個非空白字元開始,將標準輸入流的字元傳遞給指定字串,並且以空字元為結束。
getline從標準輸入流讀取使用者輸入的內容,以換行符作為結束(換行符也被讀入流),並將流寫入str(拋棄換行符)。
編寫一段程式讀入兩個字串,比較其是否相等並輸出結果。如果不相等,輸出較大的那個字串。改寫上述程式,比較輸入的兩個字串是否等長,如果不等長,輸出長度較大的那個字串。
#include #include using std::cin;
using std::cout;
using std::endl;
using std::string;
int main(void)
if (str1.size() != str2.size())
return 0;
}
編寫一段程式從標準輸入中讀入多個字串並將它們連線在一起,輸出連線成的大字串。然後修改上述程式,用空格把輸入的多個字串分隔開來。
#include #include using std::cin;
using std::cout;
using std::endl;
using std::string;
int main(void)
編寫一段程式,使用範圍for語句將字串內的所有字元用x代替。
string str = "hello world";
cout << str << endl;
for (auto &c : str)
就上一題完成的程式而言,如果將迴圈控制變數的型別設為char 將發生什麼?先估計一下結果,然後實際程式設計驗證。
將迴圈變數改為char型別,字串的值不會改變。
分別用while迴圈和傳統的for迴圈重寫第一題的程式,你覺得哪種形式更好呢?為什麼?
我覺得區別不大
string str = "hello world";
cout << str << endl;
//1for (auto &c : str)
//2int i = 0;
while (i < str.size())
cout << str << endl;
//3// int i;
// for (i = 0; i < str.size(); i++)
// str[i] = 'x';
// cout << str << endl;
下面的程式有何作用?它合法嗎?如果不合法,為什麼?
string s;
cout << s[0] << endl;
s為空,s[0]的結果未定義,書上的答案。具體還有待探索。
編寫一段程式,讀入乙個包含標點符號的字串,將標點符號去除後輸出字串剩餘的部分。
下面的範圍for語句合法嗎?如果合法,c的型別是什麼?
const string s = "keep out!";
for (auto &c : s)
不合法,s是乙個常量字串,不能對其進行修改。
下列vector物件的定義有什麼不正確的嗎?如果有,請指出來。對於正確的,描述起執行結果;對於不正確的,說明其錯誤的原因。
(a) vector> vec;
(b) vectorsvec = ivec;
(c) vectorsvec(10, "null");
b選項不正確,型別不匹配。
下列的vector物件各包含多少個元素?這些元素的值分別是多少?
(a) vectorv1;
0個(b) vectorv2(10);
10個0
(c) vectorv3(10, 42);
10個42
(d) vectorv4;
1個10
(e) vectorv5;
2個元素,10和42
(f) vectorv6;
1個10
編寫一段程式,用cin讀入一組整數並把它們存入乙個vector物件
C primer第三章作業
使用恰當的using宣告重做1.4.1節 第11頁 和2.6.2節 第67頁 的練習 ifdef 1 include using std cin using std cout using std endl int main void cout sum endl return0 endif ifdef...
C primer 第三章備忘。
1 處理每個字元?使用基於範圍的for語句 for declaration expression statement 其中expression部分是乙個物件,表示乙個序列 declaration部分負責定義乙個變數,用以訪問序列中的基礎元素 例子 string str some string for...
c primer 筆記,第三章
初始化string物件的6種方式 string s1 預設空串 sting s2 s1 string s2 s1 string s3 value 直接初始化 string s3 value 拷貝初始化 string s4 n,c 由連續n個字元c組成的串在讀寫string物件時,string物件會自...