C++ 初學者指南 第二篇(5)

來源:互聯網
上載者:User

必備技能 2.4 :算術運算子
    C++中定義了下面的算術運算子:

運算子

含義

+

加法

-

減法(同時也是一元的負號)

*

乘法

/

除法

%

模數

++

自增

--

自減

其中+,-,*,/運算和幾何中的含義是一樣的。這些運算子都可以用於與C++內建類型的數值型資料。它們還可以作用於char類型的資料。
    模數運算%用來求取除以某個正數的餘數。回憶一下,當/運算子應用到整形數的時候,其結果的餘數會被截斷。例如,整數10除以整數3的結果是3。我們可以使用%運算子來擷取這中除法的餘數。例如,10%3=1。在C++中,%只能用於整數的運算元。它不能用於浮點數的運算元。

    下面的程式示範了模數運算:
//示範模數運算
#include <iostream>
using namespace std;
int main()
{
    int x,y;

    x=10;
    y=3;
    cout<<x<<"/"<<y<<" is "<<x/y<<" with a remainder of "<<x%y<<"/n";

    x=1;
    y=2;
    cout<<x<<"/"<<y<<" is "<<x/y<<"/n"<<x << "%" <<y << " is " << x%y <<"/n";

    return 0;
}
程式的輸出結果是:
10 / 3 is 3 with a remainder of 1
1 / 2 is 0
1 % 2 is 1

自增和自減運算子
    在第一章中我們介紹過++和--分別是自增和自減運算子。他們有一些特殊的性質,這使得這兩個運算子很有意思。讓我們先回憶一下自增和自減運算子的到底是幹什麼的.
    自增運算子是給他的運算元加1,自減運算子是個他的運算元減一。因此,
x=x+1;

x++;
是一樣的。
x=x-1;

--x;
是一樣的。
自增和自減運算子都既可以是前運算子也可以是尾碼運算子。例如:
x=x+1;
可以寫成
x++;
或者
++x;
在上面的這個例子中,首碼和尾碼運算沒有區別。然而,當自增和自減運算子作為一個更大的運算式的一部分的時候,作為首碼和尾碼就有了重要的區別。當自增和自減運算子位於運算元的前面,C++會先進行自增和自減運算,然後才是取出變數的值參與運算式的其它部分進行運算。如果自增或者自減運算子位於運算元的後面,C++會先取運算元的值進行運算,然後才進行自增和自減運算。考慮下面的情況:
x=10; y=++x;
在這種情況下,y的值將會是11。然而,如果代碼如下:
x=10,y=x++;
則y的值將會是10。兩種情況下,X的值都會變成11。區別就在於X是什麼時候變成11 的。這種可以控制變數在什麼時候進行自增和自減的方式是很有優勢的。
 算術運算子的優先順序如下:
    最高優先順序        ++ --
                          -(一元的負號)
                          * / %
    最低優先順序       + -
只有在同一優先順序的運算子,編譯器才會從左至右進行運算。當然,我們可以使用括弧來改變運算的先後順序。C++中的括弧實際上和其他電腦語言中的一樣:或者是用來進行強制運算的,或者是用來執行一系列運算的,或者是用來提高運算層級的。

 

專家答疑
問:
    自增運算子++和C++這個名字有關係嗎?
答:
    是的。我們都知道,C++是構建於C之上的。C++在C上做了很多增強,其中大部分都是支援物件導向的編程的。因此,C++代表著對C的增加和改進。對C這個名字後面增加++也是一個很好的解釋C++的方式。
     斯特勞施特魯普期初把C++叫做“帶有類的C”,但是在Rick Mascitti的建議下,他把名字改成了C++。這個新的語言註定是要成功的,C++名字的修改實際上確保了他在曆史中的地位,因為這個名字是一個所有C程式員都能立刻認識的名字。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.