
- C 程式設計教程
- C - 首頁
- C 語言基礎
- C - 概述
- C - 特性
- C - 歷史
- C - 環境設定
- C - 程式結構
- C - Hello World
- C - 編譯過程
- C - 註釋
- C - 詞法單元
- C - 關鍵字
- C - 識別符號
- C - 使用者輸入
- C - 基本語法
- C - 資料型別
- C - 變數
- C - 整數提升
- C - 型別轉換
- C - 型別強制轉換
- C - 布林型別
- C 語言中的常量和字面量
- C - 常量
- C - 字面量
- C - 轉義序列
- C - 格式說明符
- C 語言中的運算子
- C - 運算子
- C - 算術運算子
- C - 關係運算符
- C - 邏輯運算子
- C - 位運算子
- C - 賦值運算子
- C - 一元運算子
- C - 自增和自減運算子
- C - 三元運算子
- C - sizeof 運算子
- C - 運算子優先順序
- C - 其他運算子
- C 語言中的決策
- C - 決策
- C - if 語句
- C - if...else 語句
- C - 巢狀 if 語句
- C - switch 語句
- C - 巢狀 switch 語句
- C 語言中的迴圈
- C - 迴圈
- C - while 迴圈
- C - for 迴圈
- C - do...while 迴圈
- C - 巢狀迴圈
- C - 無限迴圈
- C - break 語句
- C - continue 語句
- C - goto 語句
- C 語言中的函式
- C - 函式
- C - 主函式
- C - 按值傳遞函式
- C - 按引用傳遞函式
- C - 巢狀函式
- C - 可變引數函式
- C - 使用者自定義函式
- C - 回撥函式
- C - return 語句
- C - 遞迴
- C 語言中的作用域規則
- C - 作用域規則
- C - 靜態變數
- C - 全域性變數
- C 語言中的陣列
- C - 陣列
- C - 陣列的特性
- C - 多維陣列
- C - 將陣列傳遞給函式
- C - 從函式返回陣列
- C - 變長陣列
- C 語言中的指標
- C - 指標
- C - 指標和陣列
- C - 指標的應用
- C - 指標運算
- C - 指標陣列
- C - 指向指標的指標
- C - 將指標傳遞給函式
- C - 從函式返回指標
- C - 函式指標
- C - 指向陣列的指標
- C - 指向結構體的指標
- C - 指標鏈
- C - 指標與陣列
- C - 字元指標和函式
- C - 空指標
- C - void 指標
- C - 野指標
- C - 解引用指標
- C - 近指標、遠指標和巨指標
- C - 指標陣列的初始化
- C - 指標與多維陣列
- C 語言中的字串
- C - 字串
- C - 字串陣列
- C - 特殊字元
- C 語言中的結構體和聯合體
- C - 結構體
- C - 結構體和函式
- C - 結構體陣列
- C - 自引用結構體
- C - 查詢表
- C - 點(.)運算子
- C - 列舉(或列舉型別)
- C - 結構體填充和打包
- C - 巢狀結構體
- C - 匿名結構體和聯合體
- C - 聯合體
- C - 位域
- C - typedef
- C 語言中的檔案處理
- C - 輸入和輸出
- C - 檔案 I/O (檔案處理)
- C 預處理器
- C - 預處理器
- C - 編譯指示
- C - 預處理器運算子
- C - 宏
- C - 標頭檔案
- C 語言中的記憶體管理
- C - 記憶體管理
- C - 記憶體地址
- C - 儲存類
- 其他主題
- C - 錯誤處理
- C - 可變引數
- C - 命令執行
- C - 數學函式
- C - static 關鍵字
- C - 隨機數生成
- C - 命令列引數
- C 程式設計資源
- C - 問答
- C - 快速指南
- C - 速查表
- C - 有用資源
- C - 討論
C 語言註釋
在 C 程式中使用註釋可以提高程式碼的可讀性。您必須在適當的位置用註釋穿插程式碼。就編譯器而言,註釋會被忽略。在 C 語言中,註釋是一行或多行文字,編譯器在構建機器碼時會跳過這些文字。
C 語言中的註釋在需要修改程式時(特別是由除最初編寫程式的人員以外的人員修改時)起著重要作用。程式設計師通常不重視添加註釋,但有效地使用註釋對於提高程式碼質量非常重要。
為什麼要在 C 程式設計中使用註釋?
任何程式語言,包括 C 語言,與英語等任何人類語言相比,都比較簡潔。它擁有的關鍵字數量要少得多,C 語言是其中最小的語言之一,只有 32 個關鍵字。因此,C 程式中的指令可能難以理解,特別是對於沒有程式設計背景的人來說。
C 語言語法也各不相同,而且很複雜。通常,程式設計師會嘗試新增複雜性來最佳化程式碼。但是,這使得程式碼難以理解。註釋提供了有用的解釋並傳達了使用特定方法背後的意圖。
例如,考慮 C 語言中的?:運算子,它是if-else 語句的簡寫形式。
因此,不需要使用以下程式碼:
if (a % 2 == 0){ printf("%d is Even\n", a); } else { printf("%d is Odd\n", a); }
可以使用以下語句:
(a % 2 == 0) ? printf("%d is Even\n", a) : printf("%d is Odd\n", a);
顯然,第二種方法比第一種方法更復雜。如果添加了有用的註釋,則可以更容易地理解所用語句的意圖和邏輯。
C 語言中註釋的型別
在 C 語言中,有兩種型別的註釋:
- 單行註釋
- 多行註釋
C 語言中的單行註釋
C99 標準的 C 編譯器中引入了 C++ 樣式的單行註釋。如果任何文字以//符號開頭,則該行的其餘部分將被視為註釋。
程式碼中雙斜槓或正斜槓[//]後面的文字將被視為單行註釋。C 編譯器在編譯期間會忽略//之後的所有文字。與多行或塊註釋不同,它不需要關閉。
C 語言單行註釋的語法
//comment text
//符號可以出現在任何位置。它表示//之後直到行尾的所有文字都是註釋。編輯器中的下一行又是編寫有效 C 語句的地方。
示例:C 語言中的單行註釋
請檢視以下程式,並觀察我們如何在主函式內部使用單行註釋:
/* Online C Compiler and Editor */ #include <stdio.h> #include <math.h> /*forward declaration of function*/ float area_of_square(float); float area_of_square(float side){ float area = pow(side,2); return area; } // main function - entire line is a comment int main(){ // variable declaration (this comment is after the C statement) float side = 5.50; float area = area_of_square(side); // calling a function printf ("Side = %5.2f Area = %5.2f", side, area); return 0; }
輸出
執行此程式碼時,將產生以下輸出:
Side = 5.50 Area = 30.25
C 語言中的多行註釋
在C 語言的早期版本(ANSI C)中,/*和*/符號之間的任何長度的文字都將被視為註釋。文字可以分佈在程式碼檔案中的多行上。您可以將其稱為多行註釋。一段連續的行將被視為註釋。
C 語言多行註釋的語法
多行註釋的通用結構如下:
/* The comment starts here Line 1 Line 2 ….. ….. Comment ends here*/
例如:
/* Example of a multi-line comment program to print Hello World using printf() function */
顯然,由於編譯器會忽略註釋,因此 C 語言的語法規則不適用於註釋文字。
註釋可以出現在程式的任何位置,例如頂部、程式碼之間或函式或結構體宣告的開頭等。
示例:C 語言中的多行註釋
在此示例中,我們有一個多行註釋,解釋了給定程式碼中使用的特定使用者定義函式的作用:
/* program to calculate area of square */ /* headers */ #include <stdio.h> #include <math.h> /* forward declaration of function */ float area_of_square(float); /* main function */ int main(){ /* variable declaration */ float side = 5.50; /* calling function */ float area = area_of_square(side); printf("Side = %5.2f Area = %5.2f", side, area); return 0; } /* User-defined function to calculate the area of square. It takes side as the argument and returns the area */ float area_of_square(float side){ float area = pow(side, 2); return area; }
輸出
執行程式碼時,將產生以下輸出:
Side = 5.50 Area = 30.25
插入註釋時,必須確保每個以/*開頭的註釋都必須有相應的*/符號。如果您以/*開頭註釋但未關閉它,則編譯器將丟擲錯誤。
注意:塊註釋或多行註釋必須放在/*和*/符號之間,而單行註釋以//符號開頭,並且有效直到行尾。
始終鼓勵在程式中放置註釋。程式設計師通常會避免添加註釋的做法。但是,如果程式碼沒有正確註釋,他們有時會發現難以除錯和修改程式碼。當開發以協作方式進行時,註釋尤其重要。有效地使用註釋可以幫助團隊中的所有成員。
即使編譯器會忽略註釋,它們也應該含義清晰且簡潔。每當程式碼需要修改時,都應該在註釋中提及原因、時間戳和作者。