C++還提供一元自增運算符(increment operator,++)和一元自減運算符(dcrement operator),見圖2.13。若是變量c遞增1,則能夠用自增運算符++,而不用表達式c=c+1或c+=1。若是將自增和自減運算符放在變量前面,則稱爲前置自增或前置遞減運算符(preincrement或predecrementope~torL若是將自增和自減運算符放在變量後面,則稱爲後置自增或後置自減運算撤postmcrement或postdcrement operator)。前置自增(前置自減)運算符使變量加1(減1),而後在表達式中用變量的新值。後置自增(後置自減)運算符在表達式中用變量的當前值,而後再將變量加1(減1)。ios
運算符 名稱 示例表達式 說明 ++ 前置自增 ++a 將a加1,而後在a出現的表達式中使用新值 ++ 後置自增 a++ 在a出現的表達式中使用當前值,而後將a加1 -- 前置自減 --b 將b減1,而後在b出現的表達式中使用新值 -- 後置自減 b-- 在b出現的表達式中使用當前值,而後將b減1
圖2.14的程序演示了++運算符的前置自增與後置自增計算之間的差異,後置自增變量c使其在輸出語句中使用以後再遞增,而前置自增變量c使其在輸出語句中使用以前遞增。編程
// Fig, 2.14:fig02 14.cpp // Preincrementing and postincrementing #include <iostream.h> int main() { int c; C = 5; cout << C << endl; // print 5 cout << C++ << endl; // print 5 then postincrement cout << c << endl << endl; // print c = 5; cou << c << endl; // print 5 cout << ++c << endl; // preincrement then print 6 cout << c << endl; return O; // successful terminatiOn }
輸出結果: 5 5 6 5 6 6
程序顯示使用++運算符先後的c值,自減運算符的用法相似。post
一元運算符及其操做數之間不能插入空格。spa
圖2.11的三個賦值語句:code
passes=passes+1; failures=failures+1 student=student十1;
能夠改寫成更簡練的賦值運算符形式:rem
passes+=1; failures+=1; student+=1;
使用前置自增運算符,以下所示:數學
++passes; ++failures; ++student;
或使用後置自增運算符,以下所示:io
passes++ failures++ student++
注意,單獨一條語句中自增或自減變量時,前置自增與後置自增計算之間的的結果同樣,前置自減與後置自減計算之間的結果也相同。只有變量出如今大表達式中時,才能體現前置自增與後置自增計算之間的差異(和前置自減與後置自減計算之間的差異)。ast
目前只用簡單變量名做爲自增和自減的操做數(稍後會介紹,這些運算符也能夠用於左值)。class
要用非簡單變量名錶達式(如++(x+1))做爲自增和自減運算符的操做數是個語法錯誤。
圖2.15顯示了前面所介紹的運算符優先級和結合律,從上到下,優先級依次遞減。第二欄介紹每一級運算符的結合律,注意條件運算符(:)、一元運算符自增(++)、自減(--)、正(+)、負(-)、強制類型轉換以及賦值運算符(=、+=、-;、*=、/=和%=)的結合律爲從右向左。圖1.15中全部其餘運算符的結合律爲從左向右。第三欄是運算符的組名。
運算符 結合律 類型 ( ) 括號 ++ -- + - static_cast() 從左向右 一元 * / % 從右向左 乘 + - 從左向右 加 << >> 從左向右 插入/讀取 < <= > >= 從左向右 關係 == != 從左向右 相等 ?: 從右向左 條件 = += -= *= /= %= 從右向左 賦值 , 從左向右 逗號
2016考研數學http://www.2016kaoyan.com/
考研英語真題http://www.kyjxy.com/yingyu/zhenti/
考研專業目錄http://www.kyjxy.com/yuanxiao/zhengce/