c# 程式 (program) 由乙個或多個原始檔(source file) 組成。原始檔也稱編譯單元 (compilation unit);原始檔通常與檔案系統中的檔案一一對應;原始檔是有序的 unicode 字串行,一般情況下原始檔在檔案系統中按 utf-8 編碼規範編碼(可移植性好)。程式在編譯時,通常先將用特定字元指令系統和編碼方案編寫的檔案轉換為unicode字串行;接下來將 unicode 輸入字元流轉換為標記流(詞法分析);最後將標記流轉換為可執行**(句法分析)。
camel 命名規範。要求變數名首單詞的首字母要小寫,其餘每個單詞的首字母要大寫。多用於給變數命名。
pascal 命名規範:要求每個單詞的首字母都要大寫,其餘字母小寫。多用於給類、方法和介面命名。
定義常量的單詞的所有字母大寫。
c#支援兩種形式的注釋:單行注釋 (single-line comment)和帶分隔符的注釋(delimited comment) 。單行注釋以字元 // 開頭並延續到行的結尾。帶分隔符的注釋 從/* 開始到遇到第乙個 */ 結束。 另外字元和字串內不處理注釋。
//單行注釋
/*帶分隔符的注釋*/
轉義序列一共分為簡單轉義序列、十六進製制和unicode轉義序列。unicode 字元轉義序列表示乙個unicode字元,它由「\u」或「\u」加十六進製制數字構成的單個unicode 字元。由於c#在字元和字串值中使用unicode **點的16 位編碼,因此僅支援u+0000 到u+ffff 的unicode字元。十六進製制由\x或\x和四位十六進製制數字構成,它與unicode轉義序列沒有區別。c#提供的簡單轉義序列由下表顯示
轉義序列
字元名稱
unicode編碼
\ 』單引號
0x0027
\ "雙引號
0x0022
\ \反斜線
0x005c
\ 0null
0x0000
\ a警報
0x0007
\ bbackspace
0x0008
\ f分頁符
0x000c
\ n換行符
0x000a
\ r回車
0x000d
\ t水平製表符
0x0009
\ v垂直製表符
0x000b
標記分為識別符號、關鍵字、文字、運算子和標點符號。運算子用來描述乙個或多個運算元的運算;標點符號用於分組和分隔語句,空白不是標記而是標記的分隔符。
關鍵字(keyword) 是類似識別符號的保留的字串行,這些字串行不能用作識別符號(以@字元開頭時除外)。此外還有一些上下文關鍵字,他們在文法中的某些位置有特殊的含義,在其他位置時不被看作關鍵字。
注意:識別符號(identifer)由字母、數字和下劃線組成,但識別符號必須以字元或者下劃線開頭,關鍵字作為c#語言的保留字串行不可以作為識別符號,另外允許使用「@」字元作為字首以使關鍵字能夠用作識別符號。某些關鍵字有多個用途。
關鍵字和操作符有重疊的
當上下文關鍵字與宣告的名稱衝突,宣告的名稱優先於將識別符號用作上下文關鍵字。
注意:文字(literal)也叫字面值,它是乙個值的源**表示形式。允許在識別符號中使用unicode 轉義序列
「@」字元並不是識別符號的實際組成部分,因此在其他語言中可能將此識別符號視為不帶字首的正常識別符號。
同乙個識別符號不允許重複定義。
在c#中,大小寫是敏感的。
5.3.1布林值
布林文字值為true 和false,與c語言不同的是,c#語言中0和1和布林型別的ture和flase不等價。
5.3.2 整數
整數文字用於編寫型別為int、uint、long 和ulong 的值。如果未指定整形,則整形型別為int,字尾u或u代表無符號,字尾l或l代表長整型,兩個字尾疊加表示ulong型。此外16進製制也可以表示整數,字元0x(表示16進製制)加上16進製制(09,af)的數字表達,其字尾與10進製一樣。
注意:5.3.3 實數如果未指定整形,則整形屬於以下所列的型別中第乙個能夠表示其值的那個型別:int、uint、long、ulong,但規範上無字尾的整形文字應該為int。
整形中不區分字母大小寫,但字母『l』一般不用『l』,因為字母「l」容易與數字「1」」混淆。
如果整數表示超出ulong 型別的範圍,則將發生編譯時錯誤。
實數文字用於編寫型別為float、double 和decimal 的值。如果未指定實型,則實數的型別為double。否則,實數型別由字尾確定, 以f或f為字尾的為float。以d 或d 為字尾的實數的型別為double。以m 或m 為字尾的實數的型別為decimal。
5.3.4 字元
字元表示單個字元,通常由置於引號中的乙個字元組成,如』a』。此外也可以通過轉義序列表示字元。在字元中跟在反斜槓 ()後的字元必須是以下字元:』、"、\、0、a、b、f、n、r、t、u、u、x 和v。
5.3.5 字串
c# 支援兩種形式的字串:正則字串(regular string literal) 和原義字串(verbatim string literal)。正則字串由包含在雙引號中的零個或多個字元組成,並且可以包含轉義序列。原義字串由@ 字元後跟開始的雙引號、零個或多個字元以及結束的雙引號字元組成。原義字串中不處理轉義序列並且它可以跨多行。
string str1 = "123"; //正則字串
string str2 = @"first
second
third" //原義字串
5.3.6 null 文字
可以將null文字隱式轉換為引用型別或可以為null 的型別
C 語言基本元素
編譯器利用關鍵字識別 的結構與組織方式,因為編譯器對這些單詞有著嚴格的解釋,開發人員只能按照c 的語言規則將關鍵字放在特定的位置。一旦程式設計師違反規則,編譯器就會報錯。c 關鍵字 c 1.0之後沒有引入任何新的保留關鍵字,後續版本中,一些構造使用了上下文關鍵字 contextual keyword...
C 基本元素
注釋和空白編譯器不會編譯,自動忽略 而標記是可以通過編譯器編譯的。官方定義 關鍵字是類似識別符號的保留的字串行,不能用作識別符號 以 字元開頭時除外 通俗的說 關鍵字,是這門語言已經設計好的識別符號,所以不允許開發者自己定義和關鍵字相同的名字的識別符號。運算子是一種類成員,它定義了可應用於類例項的特...
C語言的基本元素相關問答
結合 第二章 c語言的基本元素 課程和網路,對以下每個問題發表感慨,要求必須真實,每個問題字數大於 30,小於 601.程式注釋有什麼用?答 注釋是為了自己和別人方便閱讀。正確的程式注釋一般包括序言性注釋和功能性注釋。程式設計師在寫程式時,如果有靈感閃現,用注釋以免忘記。2.主函式是個什麼東西?有什...