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

《狂人C》— 徹底理解 C 語言表達式的雙重語義

     編輯:關於C語言

題目:計算 1+3+5+7+9+11

printf("1+3+5+7+9+11=");
printf("%d", 1+3+5+7+9+11);

表達式的兩層含義

  1. 命令語義:指令計算機執行一系列加法運算。運算符(+)代表「命令計算機做加法」。
  2. 值語義:表達式本身就是計算結果的值,可直接作為參數、賦值右值、返回值使用。

命令式語言本質

C 是 Imperative Language,透過指定可執行運算及其順序描述計算過程。學習 C 即學習如何向計算機發出「命令」。

常見新手誤區:多餘的中間變數

int he = 1 + 3 + 5 + 7 + 9 + 11; // 多一次賦值運算
printf("%d", he);

he 完全多餘。表達式 1+3+5+7+9+11 本身已是 int 值,直接傳給 printf 更簡潔、高效(少一次賦值)。

核心原則

「運算符表示命令;表達式本身有值,可直接使用。無理由不寫不必要的代碼。」

延伸

  • 所有表達式皆求值(甚至 void 表達式求「無值」的值)。
  • 掌握此觀念,能寫出更直接、更符合 C 語言哲學的代碼。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved