《c++入門經典》筆記4
第四章 使用表示式、語句和運算子
所有的c++都由語句組成,語句是以分號結尾的命令。語句控制程式的執行流程、評估表示式甚至可以什麼也不做(空語句)。
空白:
在c++程式原始碼中,空格、製表符和換行符統稱為空白。空白旨在讓程式設計師方便閱讀程式碼,編譯器通常忽略他們。
正確的縮排有助於識別程式塊或函式塊的開始和結束位置。
複合語句:
可將多條語句編組,構成一條複合語句,這種語句以{開頭,以}結束。可將複合語句放在任何可使用單條語句的地方。
複合語句中的每條語句都必須以分號結尾,但複合語句本身不能以分號結尾。如:
{
temp = a;
a = b;b = temp;
}這條複合語句交換a與b的值,交換時使用變數臨時儲存了一個變數的值。
4.2表示式
表示式是語句中任何返回一個值的部分。如:
z = x = y + 13;
這條語句包含三個表示式:
表示式 y + 13,值被儲存在變數x中;
表示式x = y + 13,它返回變數x的值,而該返回值被儲存在變數z中;
表示式z = x = y + 13,它返回z的值,但是該返回值並未儲存到其他變數中。
賦值運算子=導致左運算元的值變為右運算元的值
運算元是一個數學術語,指的是被運算子操作的表示式。
程式清單4.1 Expression.cpp
4.3運算子
運算子是導致編譯器執行操作的符號。
-
賦值運算子:=(常量可以作為右值,但不能作為左值,比如95 = grade非法)
-
數學運算子:+、-、*、/、%(%為求模運算子,返回整數除法的餘數)
-
組合運算子:+=、-=、*=、/=、%=(都是自賦值運算子)
-
關係運算符:==、!=、>、>=、<、<=
-
邏輯運算子:&&、||、!
-
位運算子:&、|、^、~、<<、>>
-
遞增與遞減運算子:++、--
-
字首運算子與字尾運算子:遞增運算子++與遞減運算子--若放在變數前面,就稱為字首運算子,放在變數後面則稱為字尾運算子。
如:
++count;
中的++為字首運算子,count++;
中的++為字尾運算子區別在於進行賦值時,字首運算子會在賦值前執行,而後綴運算子會在賦值後執行
int x = 5;
int sum = ++x;這兩條語句使得x為6;sum為6;
int x = 5;
int sum = x++;這兩條語句導致sum為5,x為6。
程式清單4.2 Years.cpp
運算子優先順序:表就不打了,自己去查,貌似版本挺多。
4.4if-else條件語句
程式清單4.3 Grader.cpp
程式清單4.4 NewGrader.cpp