首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C語言逗號運算符與運算式優先級總結

     編輯:關於C語言

逗號運算符

C 語言中逗號 , 也是運算子,稱為逗號運算符。它將兩個運算式串聯成一個逗號運算式:

運算式1, 運算式2

求值過程:先求 運算式1,再求 運算式2,整個逗號運算式的值為運算式2的值。

範例

int a=2, b=4, c=6, x, y;
x = a + b, y = b + c;
// x = 6 (第一個運算式值)
// y = 10 (整個逗號運算式值,即第二個運算式值)

進階特性

  1. 巢狀擴展:運算式1, (運算式2, 運算式3) → 可延伸為 運算式1, 運算式2, ... 運算式n,值為第 n 個運算式的值。
  2. 側重副作用:實務上常利用逗號運算式分別求各子運算式值(如多重賦值),不一定取整體值。
  3. 非所有逗號皆為運算符:變數宣告、函數參數列表中的逗號僅為分隔符。

練習題與變數觀察表

原文附帶多組練習程式碼與變數追蹤表(Vtable/Vupdate),展示運算過程中變數值變化。核心觀念:

  • 型別轉換:(float)c/(float)a 強制轉為浮點數運算。
  • 整數除法與餘數:c1 = b/a; c2 = b%a;
  • 逗號運算式賦值:c = a+b, c+35; → c 為 65(a+b),整個運算式值為 100 但未指派。

第二章小結:資料型別、運算符、運算式重點回顧

1. C 資料型別分類

  • 基本型別、構造型別、指標型別、空型別

2. 基本型別大小與範圍(16 位元環境)

型別位元組數值範圍
char1字元集
int / short int2-32768 ~ 32767
long int4-2147483648 ~ 2147483647
unsigned20 ~ 65535
unsigned long40 ~ 4294967295
float43.4E-38 ~ 3.4E+38
double81.7E-308 ~ 1.7E+308

3. 常數後綴

  • L/l:長整型
  • U/u:無號數
  • F/f:浮點數

4. 常數型別

整數、長整數、無號數、浮點數、字元、字串、符號常數、轉義字元。

5. 資料型別轉換

  • 自動轉換:混合運算時由少位元組向多位元組轉換;賦值時右側型別轉為左側型別。
  • 強制轉換:使用 (型別) 運算子。

6. 運算符優先級與結合性

  • 單目運算符優先級較高,賦值運算符最低。
  • 算術 > 關係 > 邏輯 > 條件 > 賦值 > 逗號。
  • 多數左結合;單目、三目、賦值、逗號為右結合。

7. 運算式

由運算子連接常數、變數、函數呼叫組成;每個運算式皆有值與型別;求值遵循優先級與結合性規則。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved