c++教程課後練習題
阿新 • • 發佈:2019-01-06
1:在一個迴圈中讀入兩個int並打印出來,如果遇到’|’就退出程式。
分析:
從鍵盤輸入中讀取兩個數,有可能讀的是非數值型別,所以第一點,非數值型別需要考慮到;
兩個int + 一個字元是題目中需要體現的。那麼讀取出來後的儲存型別就需要提前設計好。因為從鍵盤輸入讀出來的資料不能確定是不是數值型別,所以不能放在int 或是char上,正好string倒是可以存放,存放之後可以轉成int;
一次讀兩個數,如果使用者輸入了一個數值,一個結束字元,或者輸入了100個數值,或者只輸入一個,那肯定不能只用一個string來儲存,需要用到vector。
整個程式的邏輯比較簡單,需要注意的只是存放鍵盤輸入的型別。
std::vector<std::string> vec;
std::string str;
while ( std::cin >> str )
{
if ( std::string::npos != str.find('|') )
break;
vec.push_back(str);
if ( vec.size() >= 2 )
{
std::stringstream ss;
int a { -1 };
int b { -1 };
ss << vec.at(0);
ss >> a;
ss.str("");
ss.clear();
ss << vec.at(1);
ss >> b;
if ( -1 != a && -1 != b)
std::cout << "a = " << a << " b = " << b << std::endl;
vec.clear();
std ::cout << "please enter two int: " << std::endl;
}
}
這個程式的並沒有判斷使用者輸入-1的情況,還需要完善
什麼是計算?computation
在c++通過一些輸入產生一些輸出的過程,稱為計算。
eg:通過鍵盤輸入,到最後的螢幕顯示一些東西,也可以稱為計算的一個例子
表示式操作在進行時,需要注意哪些方面
正確性是第一要保證的。簡單性除了保證正確性更多的是表達了可讀性(表示式的可讀性尤為重要)。高效性是保證正確性的基礎上,應儘可能達到的目標。
什麼是符號常量,什麼是魔法常量?
c++新書上丟出來的兩個稱呼:
常量 比如說3.14159半徑相關的引數,如果在程式碼中用const或是constexpr來修飾一個常變數(不變的變數,簡稱 常量),那這個常變數可以稱為符號常量。如果程式碼中全是用3.14來代替π出現的地方,那這個3.14被稱為魔法常量。如果有幾百個出現3.14的地方,其中有一個寫成了3.41,那樂子就大了。可能是應為這樣,所以戲稱魔法。