1. 程式人生 > >C語言 關鍵字、識別符號、註釋

C語言 關鍵字、識別符號、註釋

一、關鍵字

1.什麼是關鍵字

關鍵字就是C語言提供的有特殊含義的符號,有些地方也叫做“保留字”。

2.一共有哪些關鍵字

C語言一共提供了32個關鍵字,這些關鍵字都被C語言賦予了特殊含義。

複製程式碼
auto double int struct break else long switch
 
case enum register typedef char extern return union

const float short unsigned continue for signed void
 
default goto sizeof volatile do if while static
複製程式碼

大致瀏覽一遍即可,不用去百度每個關鍵字的作用,這些關鍵字以後會經常用到的,到時候你想不記住都難。

3.如何辨別關鍵字

這些關鍵字會經常跟其他符號混在一起使用,一個程式裡面這麼多英文符號,我怎麼知道那些是關鍵字呢?關鍵字有2大特徵:

1> 全部都是小寫

2> 在開發工具或者智慧文字編輯工具(比如UltraEdit)中會顯示特殊顏色

比如下面這段C程式在UltraEdit中呈現的樣子

在這段程式碼中,只有intreturn是關鍵字,C語言中的所有關鍵字在UltraEdit中都會顯示藍色!可以看出,main並不是關鍵字。至於intreturn究竟有什麼特殊含義,這裡先不做討論,後面會詳細介紹。

二、識別符號

1.什麼是識別符號

識別符號就是在程式中自定義的一些符號和名稱。要跟關鍵字區分開來:關鍵字是C語言預設提供的符號,識別符號是程式設計師自定義的。

2.識別符號的作用

1> 識別符號,從字面上理解就是用來標識某些東西的符號,標識的目的就是為了將這些東西區分開來。其實,識別符號的作用就跟人類的名字差不多,為了區分每個人,就在每個人出生的時候起了個名字。

2> 上一篇文章說到:C語言是由函式構成的,一個C程式中可能會有多個函式,為了區分這些函式,就給每一個函式都起了個名稱。函式的名稱就是識別符號的一種。除了函式,以後還會學到“變數”這個概念,變數的名稱也是識別符號

因此,上面的程式碼中:intreturn是關鍵字,main是識別符號

3.識別符號命名規則

識別符號是由程式設計師自定義的,但是不能隨便命名,它有以下幾點命名規則:

1> 只能由26個英文字母的大小寫10個阿拉伯數字0~9下劃線_組成。

下面的識別符號都是正確的:

test1    Mike2jack   My_tExt  

下面的識別符號都是錯誤的:

test!32   haha(da)tt   哈哈_text

2> 嚴格區分大小寫,同一段英文字母的大寫和小寫是兩個不同的識別符號。

比如:main和Main是兩個不同的識別符號

3> 不能以數字開頭

下面的識別符號都是錯誤的:

123haha  78text  98111

4> 不可以使用關鍵字作為識別符號

下面的函式是錯誤的:

1 int int()
2 {
3     return 0;    
4 }

函式的名稱是識別符號的一種,而第1行的函式名稱叫做int,int是C語言中的關鍵字,這是不合法的,肯定會報語法錯誤。

4.識別符號命名規範

這個命名規範,你不一定要遵守。不過呢,90%的優秀程式設計師都是按照這個規範去走的。

1> 儘量起個有意義的名稱,比如一個完整的英文單詞,別人一看這個名稱就能才能這個識別符號的作用。如果不懂英文,你也可以用拼音,儘量不要起像abcde、sfsdfsdf等這類看起來沒有意義的名稱

2> 如果識別符號中含有多個單詞,可以使用駝峰標識(除開第一個單詞,後面每個單詞的首字母都是大寫):firstName、myFirstName,或者使用下劃線_來連線:first_name、my_first_name

三、註釋

1.什麼是註釋

  • 註釋是在所有計算機語言中都非常重要的一個概念,從字面上看,就是註解、解釋的意思。
  • 註釋可以用來解釋某一段程式或者某一行程式碼是什麼意思,方便程式設計師之間的交流。假如我寫完一行程式碼後,加上相應的註釋,那麼別人看到這個註釋就知道我的這行程式碼是做什麼用的。
  • 註釋可以是任何文字,也就是說可以寫中文。

注意:直接在程式碼中寫上一大段中文是不行的,編譯器會報錯

1 這是一個主函式,C程式的入口點
2 int main() 
3 {
4     return 0;
5 }

第1行寫了一段中文,用來解釋main函式的作用,但是這段程式碼是不能編譯成功的。第1行的中文並不叫註釋,註釋有它特定的格式。

2.註釋的種類

C語言中一共有2種註釋:單行註釋、多行註釋。大部分高階語言都有這2種註釋。

1> 單行註釋

單行註釋以兩個正斜槓開頭,也就是以//開頭,只能註釋一行,從//開始到這行的結尾都是註釋的內容

複製程式碼
1 #include <stdio.h>
2 
3 // 這是一個主函式,C程式的入口點
4 int main() 
5 {
6     // 這句程式碼可以在螢幕輸出Hello World這一串文字
7     printf("Hello World");
8     return 0;
9 }
複製程式碼

第3行、第6行都是註釋,註釋在開發工具中一般都是綠色的。可以看出,這裡第3行的註釋是用來解釋第4行程式碼的,第6行的註釋是用來解釋第7行程式碼的。一般就是這樣寫單行註釋,用來解釋某一行程式碼的作用。

註釋也可以寫在某條語句的後面

複製程式碼
1 #include <stdio.h>
2 
3 // 這是一個主函式,C程式的入口點
4 int main() 
5 {
6     printf("Hello World"); // 這句程式碼可以在螢幕輸出Hello World這一串文字
7     return 0;
8 }
複製程式碼

第6行分號;後面的綠色文字都是註釋。

如果將//放到printf的前面,那麼整個第6行都屬於註釋。

複製程式碼
1 #include <stdio.h>
2 
3 // 這是一個主函式,C程式的入口點
4 int main() 
5 {
6     // printf("Hello World"); 這句程式碼可以在螢幕輸出Hello World這一串文字
7     return 0;
8 }
複製程式碼

你會發現整個第6行都變成了綠色,說明整個第6行都是註釋。

2> 多行註釋

//只能用來註釋一行文字,如果有多行文字都需要註釋,那麼就可以用多行註釋。多行註釋以/*開頭,以*/結尾,/*和*/中間的內容都是註釋。

複製程式碼
1 /*
2  作者:MJ
3  描述:第一個C語言程式
4  作用:這是一個主函式,C程式的入口點
5  */
6 int main() 
7 {
8     return 0;
9 }
複製程式碼

第1行到第5行的內容都是註釋

3.註釋的巢狀

1> 單行註釋可以巢狀單行註釋、多行註釋

1 // 哇哈哈 // 呵呵呵
2 
3 // /* fsdfsdf */  // sdfsdfsd

這2行的所有內容都是註釋

2> 多行註釋可以巢狀單行註釋

1 /*
2  // 作者:MJ
3  // 描述:第一個C語言程式
4  作用:這是一個主函式,C程式的入口點
5  */

這幾行的所有內容都是註釋

3> 多行註釋不能巢狀多行註釋

複製程式碼
1 /* 哈哈哈
2  
3  /*
4    嘻嘻嘻
5  */
6 
7   呵呵呵 */
複製程式碼

你會發現只有第1到第5行才是註釋,第7行並不屬於註釋。因為/*找到第一個*/後就算註釋結束了,而第1個*/在第5行。

4> 下面的寫法是錯誤

1 // /*
2     哈哈哈
3  */

只有第1行是註釋,第2~3行都不是註釋

4.註釋的細節

1> 註釋是寫給人看的,不是給計算機看的。計算機怎麼可能看得我們寫的中文嘛。因此,當編譯程式的時候,並不會將註釋編譯到目標檔案中

換句話說:被註釋掉的語句是不會被執行的。

1 int main() 
2 {
3     // printf("Hello");
4     return 0;
5 }

第3行的語句被註釋掉了,因此,執行程式的時候,並不會執行第3行的語句,螢幕上沒有任何輸出。

2> 要養成寫註釋的良好習慣。絕大部分專案經理檢查下屬程式碼的第一件事就是看有沒有寫註釋,也有很多公司的機試也會檢查註釋(機試就是給你一道程式設計題、一臺電腦,在規定時間內解題)。

3> 為什麼註釋這麼重要呢?

  • 今天,你寫了幾百行程式碼,很高興,做出了一個非常不錯的功能,但是,忘了寫註釋。一個星期過後,你再回去看那一段程式碼,你可能完全看不懂了,這是很正常的事。如果你寫了註釋,那情況就不一樣了,註釋可以幫助你回顧程式碼的作用。
  • 你在某家公司待了1年多,寫了10幾萬行程式碼,但是你不寫一點註釋。有一天你離職了,新的員工接手你做的專案,他首先要做的事情肯定是要讀懂你寫的程式碼。可是你一點註釋都沒寫,10萬行程式碼,全部都是英文,這會讓這位新員工非常地蛋疼。每個人都有自己的思想,寫程式碼的思路肯定是不一樣的,看別人寫的程式碼是件非常痛苦的事情,特別是沒有註釋的程式碼。你不寫註釋的做法會大大降低公司的開發效率。因此,所有的正規公司都非常重視註釋。

5.註釋的隱藏功能

1> 排錯

其實,如果你利用得當的話,註釋不僅僅是可以用來解釋程式,還可以用來排除錯誤。

比如下面的程式碼

複製程式碼
1 #include <stdio.h>
2 
3 int main()
4 {
5     printf("111\n");
6     printf("222\n")
7     printf("333\n");
8     return 0;
9 }
複製程式碼

編譯程式,你會發現編譯失敗。這個時候你可以將比較可疑的程式碼給註釋了,比如註釋第6行,因為感覺第6行好像少了點什麼東西

複製程式碼
1 #include <stdio.h>
2 
3 int main()
4 {
5     printf("111\n");
6     // printf("222\n")
7     printf("333\n");
8     return 0;
9 }
複製程式碼

再編譯一遍,發現編譯成功了。說明就是第6行程式碼出錯了!!!

2> 檢查程式碼的作用

在工作中,偶爾會遇到自己不會做的功能,這時候我們就要去網上找一些別人寫好的程式碼來填補自己的專案。但是別人寫的程式碼不可能完全符合我們的需求啊,於是需要裁剪部分有用的程式碼出來,怎麼知道哪一部分是有用的程式碼呢?那麼你就要搞清楚每一行程式碼的作用。這個時候,我們利用註釋來弄清楚每一行程式碼的作用。

比如,下面這段程式,我想知道第3行程式碼的作用

1 int main() 
2 {
3     printf("Hello");
4     return 0;
5 }

這個時候你可以先把程式執行一遍,看看執行效果,執行效果就是:在螢幕上輸出了Hello這一串內容。

接著你把第3行程式碼註釋了

1 int main() 
2 {
3     // printf("Hello");
4     return 0;
5 }

然後再執行一遍程式,發現螢幕上並沒有輸出以前的Hello。說明第3行程式碼的作用就是:在螢幕上輸出了Hello這一串內容!!!總結來說,就是把註釋後跟註釋前的執行效果做一個對比,看看有沒有少了什麼效果,如果少了某些效果,說明被註釋程式碼的作用就是實現這個少掉的效果。這句話可能有點繞,好好體會一下,對你大有幫助!

相關推薦

C語言 關鍵字識別符號註釋

一、關鍵字 1.什麼是關鍵字 關鍵字就是C語言提供的有特殊含義的符號,有些地方也叫做“保留字”。 2.一共有哪些關鍵字 C語言一共提供了32個關鍵字,這些關鍵字都被C語言賦予了特殊含義。 auto double int struct break else long s

IOS之C語言--1關鍵字識別符號註釋

一、關鍵字 C語言提供的有特殊含義的符號,共32個。 在Xcode中關鍵字全部高亮顯示,關鍵字全部都為小寫。如return、int等。 二、識別符號 定義:識別符號是程式設計師在程式中自定義

C語言入門:03.關鍵字識別符號註釋

一、學習語法之前的提醒 (1)C語言屬於一門高階語言,其實,所有高階語言的基本語法組成部分都是一樣的,只是表現形式不太一樣 (2)就好像亞洲人和非洲人,大家都有人類的結構:2只 手、2只腳、1個頭,只是他們外表不太一樣,比如膚色、臉型 (3)因此,你掌握好了一門高階語言,再去學習其他高階語言,那是相當

Java語言基礎(一)---關鍵字識別符號註釋常量變數運算子

Java語言基礎組成:關鍵字、識別符號、註釋、常量和變數、運算子、語句、函式、陣列 一. 關鍵字 【注】關鍵字的所有的字母都是小寫  1. 用於定義資料型別的關鍵字 基本資料型別 數值型 整數:byte(位元組) sho

Java基礎複習2:程式註釋識別符號關鍵字

一、程式註釋 Java程式的註釋一共分為三種:單行註釋、多行註釋以及文件註釋。 單行註釋 Java中單行註釋是使用//來表示。//後面的語句都是註釋內容。程式不會執行。 多行註釋 Java中的多行註釋以/*開頭,以*/結尾。中間的內容都是註釋內容。3.文件註釋 文件註釋其實是多行註釋的變種。以/

Java基礎學習 一 (字符集識別符號關鍵字註釋變數基本資料型別非基本資料型別高精度數字)

一 字符集:        java採用Unicode字符集 包含65535個字元 二 識別符號:         由字母、數字、下劃線及美元符號等組成的一個字元序列,用來標識變數、方法名、類名、介面名等

Day01---計算機語言發展史與環境安裝配置及Java語言中的識別符號關鍵字

【每日一句:不積跬步無以至千里,不積小流無以成江海】 【1】Java語言的特性: 1.跨平臺:藉助虛擬機器,程式不經修改即可在不同硬體或者軟體平臺上執行 2.以物件為基本單位,使得程式開發變得簡單易用,拓展更方便 3.Java是一門強型別的語言,摒棄了指標,擁有

C語言知識點(1)-概念識別符號資料型別

C語言知識點-單元1 基本概念 C語言的源程式  用C語言的編譯程式能識別的指令和語句寫的文字程式,副檔名 .c。可以有註釋。 程式的編譯執行過程  源程式-> 目標檔案, 目標檔案 ->可執行程式。目標檔案的副檔名 .obj,二進位制機器碼。可執

C語言關鍵字registerexternstatic一些總結

C語言中: 一、register變數 關鍵字regiter請求編譯器儘可能的將變數存在CPU的暫存器中。有以下幾點注意的地方。 register變數必須是能被CPU暫存器所接受的型別,這通常意味

C語言中字符字符串字符數組

文件 getc order 知識點 技術 ima 數組 c語言 align char a = ‘h‘; memory h char a[] = "Hello"; memory H e l l o ‘\0‘ stri

C#語言與變量數據類型

使用 賦值 轉換成 運算 命名規範 ole 字符 書寫格式 double類型 1.代碼的運用 計算機語言:C、PHP、Ruby、Java、C#、Basic、JS、C++ 源代碼:就是用某種計算機語言編寫的內容 編譯:用編譯器將源代碼轉換成機器代碼 機器語言:機器語言就是能夠

(轉)C語言之原碼反碼和補碼

計算機 進制 情況下 class 正數 去掉 都是 OS 原碼 原碼、反碼和補碼 1).數據在內存中存儲的時候都是以二進制的形式存儲的. int num = 10; 原碼、反碼、補碼都是二進制.只不過是二進制的不同的表現形式. 數據是以補碼

C語言之棧區堆區

空間 bsp 動態 info cat malloc 分享圖片 code clu 一 局部變量存放在棧區中,函數調用結束後釋放內存空間。 #include "stdio.h"; #include "stdlib.h"; int *getNum(){ int i

代寫C語言程序設計作業代作國外PickNearestNod C作業

RM rect splay win timers display 圓角 相等 SM #include "graphics.h"#include "extgraph.h"#include "genlib.h"#include "simpio.h"#include "rando

C語言中變量全局變量與變量的作用域

www. 但是 表達 之間 範圍 htm target 因此 變量名 什麽是變量: 變量常量都是表征數據的一種形式;常量用來表示數據的值; 變量不僅可以用來表示數據的值;還可以用來存放數據;因為變量對應著一定的內存單元; 變量和常量必須先定義後使用。 變量名和常量名都是一種

C語言中函式宣告形參實參

函式原型: 原型prototype是函式的宣告;描述了函式的返回值與引數;  函式原型說明了兩點: 1、該函式的返回值 2、該函式的引數及其型別 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 函式的引數: 引數到底是什

C語言中的副作用序列點完整表示式

C語言中有個術語叫:副作用 副作用其實是對資料物件或檔案的修改。(資料物件的定義是:用於儲存值的資料儲存區域) 例如語句 states = 50; 從C語言的角度來講:這個賦值表示式的副作用是將變數的值設定為50;目的是對錶達式求值; 但是使用賦值表示式的主要目的(真正目的)就是使用其副作用(將變數的

C語言中儲存類別連結與記憶體管理

  第12章 儲存類別、連結和記憶體管理 通過記憶體管理系統指定變數的作用域和生命週期,實現對程式的控制。合理使用記憶體是程式設計的一個要點。 12.1 儲存類別 C提供了多種不同的模型和儲存類別,在記憶體中儲存資料。 被儲存的每一個值都佔用一定的實體記憶體;C語言把這樣一塊記憶體稱為物件

C語言(二 運算子條件語句指標)

C運算子 包括算數運算子,邏輯運算子,關係運算符,位運算子,賦值運算子,其他運算子。 算術運算子 就是加減乘除求餘,自增自減等算術。 邏輯運算子 與:&&,或:||,非:! 關係運算符 等於,大於,小於等組合 位運算子 位與:&,位或:|,位左移<<,位右

C語言(四 檔案操作遞迴)

檔案讀寫 我們用**fopen()**來新建一個檔案或開啟一個已有的檔案. 函式原型為File *fopen(const char *filename , const char *mode) filename是檔名,mode代表訪問方式。 mode