官术网_书友最值得收藏!

1.2.2 整數運算

【例1-4】把20支鉛筆平均分給8位學生,每人分得幾支,還剩幾支?

編寫一個程序,完成計算。每個人分幾支,需要做除法運算,剩下幾支通過求余數可以得到。

    #include <iostream>
    using namespace std;
    int main() {
        cout << 20 / 8 << endl;
        cout << 20 % 8 << endl;
        return 0;
    }

運行結果如下:

    2
    4

程序中出現了兩個運算符“/”和“%”,分別表示除法運算和模運算。C++語言常用的運算符如表1-2所示。

表1-2 C++語言常用的運算符

需要注意的是,運算結果的數據類型和參加運算的數據類型相關,如果兩個整數進行除法運算,其結果同樣也是整數。

所以,第1行輸出的2是20/8的數學運算結果2.5的整數部分。第2行輸出的4是整除后的余數。

程序中的cout是C++語言的輸出語句,這個輸出的目標就是系統默認的輸出設備(屏幕)。

程序中的endl的作用是換行,英語的含義是end of line。

注意

endl的最后一個字母是單詞line的第一個字母l。

程序在輸出內容時,按如下原則處理:雙引號包含的字符串,原樣輸出;計算表達式,先計算再輸出結果。

要注意cout和輸出內容之間的符號“<<”,在輸出多個內容時,可以連續書寫。

【例1-5】cout語句的連續輸出應用示例。

    #include <iostream>
    using namespace std;
    int main() {
        cout << "20 / 8 = " << 20 / 8 << endl;
        cout << "20 % 8 = " << 20 % 8 << endl;
        return 0;
    }

運行結果如下:

    20 / 8 = 2
    20 % 8 = 4

在計算表達式中,運算符*、/、%的優先級別高于+、?。相同級別的運算符按照從左到右的順序計算。

【例1-6】運算符的優先級別不同。

    #include <iostream>
    using namespace std;
    int main() {
        cout << 9 / 8 * 4 << endl;
        cout << 18 / 3 * 3 << endl;
        cout << 18 / (3 * 3) << endl;
        return 0;
    }

運算結果如下:

    4
    18
    2

第1行,9/8的結果雖然有小數部分,但是取整數部分1作為結果,所以9/8*4的結果是4。

第2行,由于/和*的優先級別相同,所以按照從左到右的順序依次運算。18/3=6,6*3=18。

第3行,由于使用了括號,改變了運算的先后順序,所以先計算3*3,然后計算18/9,結果是2。

運算符的優先級別總結如下。

(1)先算括號內,再算括號外。

(2)乘、除、模(*、/、%)。

(3)加、減(+、?)。

【例1-7】將8000秒表示為小時:分鐘:秒的形式。

【分析】1小時有60分鐘,1分鐘有60秒,所以1小時有60*60=3600秒。8000/3600得到的整數就是對應的小時。8000/3600得到的余數就是分鐘和秒部分,將這個余數除以60,得到的整數就是分鐘數,得到的余數就是剩余的秒數。

按上述分析,編程如下。

    #include <iostream>
    using namespace std;
    int main() {
        cout << "8000秒=";
        cout << 8000 / 3600 << "小時";
        cout << 8000 % 3600 / 60 << "分鐘";
        cout << 8000 % 3600 % 60 << "秒" << endl;
        return 0;
    }

運行結果如下:

    8000秒=2小時13分鐘20秒
主站蜘蛛池模板: 涟水县| 滁州市| 磐石市| 靖宇县| 定陶县| 手游| 城步| 聂荣县| 沂源县| 贵定县| 南川市| 资溪县| 陵水| 牡丹江市| 汶上县| 襄城县| 贵德县| 梓潼县| 会泽县| 德惠市| 宜章县| 荔浦县| 察雅县| 库伦旗| 兴和县| 浦县| 平和县| 湟源县| 南召县| 东港市| 南召县| 尉氏县| 福泉市| 石阡县| 桐乡市| 乌什县| 石首市| 平远县| 固安县| 昭平县| 凤山县|