1. 程式人生 > >c++教程課後練習題

c++教程課後練習題

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,那樂子就大了。可能是應為這樣,所以戲稱魔法。