C语言结构标记的作用,C语言基础知识之词法符号
任何高級語言都有自定義的詞法符號和支持的數(shù)據(jù)類型。
詞法符號是語言的基本組成單位,數(shù)據(jù)類型是數(shù)據(jù)的基本屬性。這里我將先對C語言的C法符號做一個小的總結,既是對我自己C語言的一個系統(tǒng)的整理與提高,也希望對希望提高C語言有所幫助,對于數(shù)據(jù)類型我將在隨后一段時間總結介紹。
詞法符號是程序設計語言中有若干字符組成的有意義的最小語法單位。
按照詞法符號在程序中的作用可以分為:關鍵字、標識符,分隔符、運算符和標點符。
1.1關鍵字:是由系統(tǒng)預定義的詞法符號,有特定的含義,不允許用戶重新定義,所以在定義標識符的時候不能與關鍵字重名。基本的關鍵字有32個,分別如下:
C語言關鍵字分為兩個大的類型,其中兩種大的類型又分為七種小的類型:
1數(shù)據(jù)類型關鍵字
A基本數(shù)據(jù)類型(5個)
void:聲明函數(shù)無返回值或無參數(shù),聲明無類型指針,顯式丟棄運算結果
char:字符型類型數(shù)據(jù),屬于整型數(shù)據(jù)的一種
int:整型數(shù)據(jù),通常為編譯器指定的機器字長
float:單精度浮點型數(shù)據(jù),屬于浮點數(shù)據(jù)的一種
double:雙精度浮點型數(shù)據(jù),屬于浮點數(shù)據(jù)的一種
B類型修飾關鍵字(4個)
short:修飾int,短整型數(shù)據(jù),可省略被修飾的int。
long:修飾int,長×××數(shù)據(jù),可省略被修飾的int。
signed:修飾整型數(shù)據(jù),有符號數(shù)據(jù)類型
unsigned:修飾整型數(shù)據(jù),無符號數(shù)據(jù)類型
C復雜類型關鍵字(5個)
struct:結構體聲明
union:共用體聲明
enum:枚舉聲明
typedef:聲明類型別名
sizeof:得到特定類型或特定類型變量的大小
D存儲級別關鍵字(6個)
auto:指定為自動變量,由編譯器自動分配及釋放。通常在棧上分配。
static:指定為靜態(tài)變量,分配在靜態(tài)變量區(qū),修飾函數(shù)時,指定函數(shù)作用域為文件內(nèi)部。
register:指定為寄存器變量,建議編譯器將變量存儲到寄存器中使用,也可以修飾函數(shù)形參,建議編譯器通過寄存器而不是堆棧傳遞參數(shù)。
extern:指定對應變量為外部變量,即在另外的目標文件中定義,可以認為是約定由另外文件聲明。
const:與volatile合稱“cv特性”,指定變量不可被當前線程/進程改變(但有可能被系統(tǒng)或其他線程/進程改變)。
volatile:與const合稱“cv特性”,指定變量的值有可能會被系統(tǒng)或其他進程/線程改變,強制編譯器每次從內(nèi)存中取得該變量的值。
2流程控制關鍵字
A跳轉(zhuǎn)結構(4個)
return:用在函數(shù)體中,返回特定值(或者是void值,即不返回值)
continue:結束當前循環(huán),開始下一輪循環(huán)
break:跳出當前循環(huán)或switch結構
goto:無條件跳轉(zhuǎn)語句
B分支結構(5個)
if:條件語句
else:條件語句否定分支(與if連用)
switch:開關語句(多重分支語句)
case:開關語句中的分支標記
default:開關語句中的“其他”分治,可選。
C循環(huán)結構(3個)
for:for循環(huán)結構,for(1;2;3)4;的執(zhí)行順序為1->2->4->3->2...循環(huán),其中2為循環(huán)條件
do:do循環(huán)結構,do 1 while(2);的執(zhí)行順序是1->2->1...循環(huán),2為循環(huán)條件
while:while循環(huán)結構,while(1) 2;的執(zhí)行順序是1->2->1...循環(huán),1為循環(huán)條件
以上循環(huán)語句,當循環(huán)條件表達式為真則繼續(xù)循環(huán),為假則跳出循環(huán)。
以上各種類型的關鍵字的用法在這里就不再詳細的介紹了。相信隨著大家對C語言的深入了解后都會碰見的。
1.2標識符:標識符是由程序員按照命名規(guī)則自行定義的詞法符號,用于宏定義、變量名、函數(shù)名和自定義類型名等。其命名規(guī)則如下:
1)、標識符由一個或多個字母、數(shù)字或下劃線組成;
2)、標識符的第一個字符必須是字母或下劃線;
3)、標識符不能與任何關鍵字相同;
1.3 分隔符:包括逗號、空白符、分號和冒號。
c語言中,分隔符用來分隔多個變量、數(shù)據(jù)項、表達式等的符號。
逗號作為分隔符用來分隔多個變量和函數(shù)參數(shù);
空白符常用來作為多個單詞間的分隔符,也可以作為輸數(shù)據(jù)時自然輸入項的缺省分隔符;
分號常用于for循環(huán)語中for后面,圓括號內(nèi)的三個表達式之間;
冒號用于語句標號與語句之間。
1.4運算符:表示運算的詞法符號,C語言有著非常豐富的運算符,按其功能分,如下表:
其中特別要注意:
1)、算術求余運算不支持浮點運算,整除運算符“/”兩邊的操作數(shù)都為整數(shù)時其值才取整數(shù);
2)、關系運算符"=="、">="、"<="、"!="中間不能有空格。還要特別注意不要把"=="與賦值運算符"="等同,"=="表示判斷左右兩邊是否相等;
3)、一定要留意位運算符"&&"、"||"短路特性;
4)、位運算符的運算對象必須是整數(shù),浮點類型的不支持位運算;
5)、在擴展的賦值運算符如"&="等間沒有空格符號;
6)sizeof是32個關鍵字中的一種,看到sizeof()不要認為就是函數(shù);
大概的將C語言運算符中需要注意的都一一列舉了下,難免有不全之處,望不吝賜教!^-^
1.5標點符:
C語言中的標點符共有13個,即:[ ] () { } * ,: = ;… # &(取地址)->(指向) .
總結
以上是生活随笔為你收集整理的C语言结构标记的作用,C语言基础知识之词法符号的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 密码学之对称加密体系(2):AES、SM
- 下一篇: 确定性网络:从“尽力而为”到“确定承诺”