第二章 型別、運算子、表示式
1 c語言沒有指定同一運算子中多個運算元的計算順序(&& 、||、?:和,運算子除外。例如,在形如
x = f ( ) + g ( );
的語句中,f ( )可以在g ( )之前計算,也可以在g ( )之後計算。因此,如果函式 f 和 g 改變了另一個函式所使用的變數,那麼x的結果可能會依賴於這兩個函式的計算順序。為保證特定的計算順序,可以把中間結果儲存在中間變數中。
類似地,c語言也沒有指定函式各引數的求值順序。因此,下列語句
printf ( "%d %d \n", ++n, power ( 2,n )); //錯
在不同的編譯器中可能會產生不同的結果,這取決於n的自增運算在power呼叫之前還是之後執行。解決的辦法是把該語句改寫成下列形式:
++n;
printf ( "%d %d \n", n, power( 2,n));
還有類似地 a[i] = i++;
問題是:陣列下表i是引用舊值還是新值?對這種情況編譯器的解釋可能不同,並因此產生不同的結果。
c院標準對大多數這類問題有意未作具體規定。
表示式何時會產生這種副作用(對變數賦值),將由編譯器決定,因為最佳的求值順序同機器結構有很大關係。
2 逗號運算子“ , ”,也是C語言優先順序最低的運算子,在for語句中經常會用到它。被逗號分隔的一對錶達式將按照從左到右的順序進行求值,各表示式右邊的運算元的型別和值即為其結果的型別和值。
在某些情況下的逗號並不是逗號運算子,比如分隔函式引數的逗號,分隔宣告中的變數的逗號等,這些逗號並不保證各表示式按從左至右的順序求值。
3 break語句可用於從for、while、do-while、switch等迴圈中提前退出。
continue語句用於使for、while、或do-while語句開始下一次迴圈的執行。在while與do-while語句中,continue語句的執行意味著立即執行測試部分;在for迴圈中,則意味著使控制轉移到遞增迴圈變數部分。continue語句只用於迴圈語句,不用於switch語句。某個迴圈中包含的switch語句中的continue語句,將導致進入下一次迴圈。
相關文章
- 運算子與表示式
- Python運算子和表示式Python
- C程式設計語言讀書筆記:型別運算子與表示式C程式程式設計筆記型別
- PostgreSQL:陣列——型別、運算子和函式SQL陣列型別函式
- PostgreSQL:數字——型別、運算子和函式SQL型別函式
- PostgreSQL:時間——型別、運算子和函式SQL型別函式
- php運算子運用之型別運算子該如何使用PHP型別
- 型別轉換運算子型別
- PostgreSQL:網路地址——型別、運算子和函式SQL型別函式
- SQLite中的運算子表示式SQLite
- 第三課.運算子與表示式
- Java入門--運算子和表示式Java
- 實驗一 c語言開發環境使用和資料型別、運算子、表示式C語言開發環境資料型別
- 實驗1 C語言開發環境使用和資料型別,運算子,表示式C語言開發環境資料型別
- 實驗一 C語言開發環境使用和資料型別,運算子,表示式C語言開發環境資料型別
- 實驗1 C語言開發環境使用和資料型別、運算子、表示式C語言開發環境資料型別
- 資料型別和運算子資料型別
- php型別運算子的使用PHP型別
- Java雜記2—運算子和表示式Java
- leetcode 282. 給表示式新增運算子LeetCode
- C++中的運算子和表示式C++
- java練習——任務1.1——資料型別、運算子、控制語句、陣列、表示式的使用Java資料型別陣列
- CMake 生成器表示式---條件表示式和邏輯運算子
- Python的運算物件、運算子、表示式和語句Python物件
- java運算子和表示式詳細介紹Java
- JavaScript權威指南(4)——表示式和運算子JavaScript
- 【重溫基礎】5.表示式和運算子
- 兄弟連go教程(8)表示式--保留字;運算子Go
- SQLServer型別text運算子不相容SQLServer型別
- java零基礎自學第一天②,運算子:表示式,算術運算子,+操作,賦值運算子,自增自減運算子,關係運算子,邏輯運算子,三元運算子Java賦值
- 【C】 18_三目運算子和逗號表示式
- java基礎一:基本型別,運算子號Java型別
- GO語言————4.5 基本型別和運算子Go型別
- PHP入門之型別與運算子(一)PHP型別
- Java中的資料型別和運算子Java資料型別
- JAVA基礎--資料型別和運算子Java資料型別
- 資料型別和運算子測試題資料型別
- Python運算子有哪些型別?Python學習Python型別
- 雲端計算開發教程:Python運算子與表示式Python