小白必看!C語(yǔ)言的基本用法
發(fā)布時(shí)間:2023-06-01 13:39:18
C 的令牌(Token)
C 程序由各種令牌組成,令牌可以是關(guān)鍵字、標(biāo)識(shí)符、常量、字符串值,或者是一個(gè)符號(hào)。例如,下面的 C 語(yǔ)句包括五個(gè)令牌:
printf("Hello, World! \n");
這五個(gè)令牌分別是:
printf
(
"Hello, World! \n"
)
;
分號(hào) ;
在 C 程序中,分號(hào)是語(yǔ)句結(jié)束符。也就是說(shuō),每個(gè)語(yǔ)句必須以分號(hào)結(jié)束。它表明一個(gè)邏輯實(shí)體的結(jié)束。
例如,下面是兩個(gè)不同的語(yǔ)句:
printf("Hello, World! \n");
return0;
注釋
C 語(yǔ)言有兩種注釋方式:
// 單行注釋
以 // 開(kāi)始的單行注釋?zhuān)@種注釋可以單獨(dú)占一行。
/* 單行注釋 */
/*
多行注釋
多行注釋
多行注釋
*/
/* */ 這種格式的注釋可以單行或多行。
您不能在注釋內(nèi)嵌套注釋?zhuān)⑨屢膊荒艹霈F(xiàn)在字符串或字符值中。
標(biāo)識(shí)符
C 標(biāo)識(shí)符是用來(lái)標(biāo)識(shí)變量、函數(shù),或任何其他用戶(hù)自定義項(xiàng)目的名稱(chēng)。一個(gè)標(biāo)識(shí)符以字母 A-Z 或 a-z 或下劃線 _ 開(kāi)始,后跟零個(gè)或多個(gè)字母、下劃線和數(shù)字(0-9)。
C 標(biāo)識(shí)符內(nèi)不允許出現(xiàn)標(biāo)點(diǎn)字符,比如 @、$ 和 %。C 是區(qū)分大小寫(xiě)的編程語(yǔ)言。因此,在 C 中,Manpower 和 manpower 是兩個(gè)不同的標(biāo)識(shí)符。下面列出幾個(gè)有效的標(biāo)識(shí)符:
mohd zara abc move_name a_123
myname50 _temp j a23b9 retVal
關(guān)鍵字
下表列出了 C 中的保留字。這些保留字不能作為常量名、變量名或其他標(biāo)識(shí)符名稱(chēng)。
關(guān)鍵字 | 說(shuō)明 |
---|---|
auto | 聲明自動(dòng)變量 |
break | 跳出當(dāng)前循環(huán) |
case | 開(kāi)關(guān)語(yǔ)句分支 |
char | 聲明字符型變量或函數(shù)返回值類(lèi)型 |
const | 定義常量,如果一個(gè)變量被 const 修飾,那么它的值就不能再被改變 |
continue | 結(jié)束當(dāng)前循環(huán),開(kāi)始下一輪循環(huán) |
default | 開(kāi)關(guān)語(yǔ)句中的"其它"分支 |
do | 循環(huán)語(yǔ)句的循環(huán)體 |
double | 聲明雙精度浮點(diǎn)型變量或函數(shù)返回值類(lèi)型 |
else | 條件語(yǔ)句否定分支(與 if 連用) |
enum | 聲明枚舉類(lèi)型 |
extern | 聲明變量或函數(shù)是在其它文件或本文件的其他位置定義 |
float | 聲明浮點(diǎn)型變量或函數(shù)返回值類(lèi)型 |
for | 一種循環(huán)語(yǔ)句 |
goto | 無(wú)條件跳轉(zhuǎn)語(yǔ)句 |
if | 條件語(yǔ)句 |
int | 聲明整型變量或函數(shù) |
long | 聲明長(zhǎng)整型變量或函數(shù)返回值類(lèi)型 |
register | 聲明寄存器變量 |
return | 子程序返回語(yǔ)句(可以帶參數(shù),也可不帶參數(shù)) |
short | 聲明短整型變量或函數(shù) |
signed | 聲明有符號(hào)類(lèi)型變量或函數(shù) |
sizeof | 計(jì)算數(shù)據(jù)類(lèi)型或變量長(zhǎng)度(即所占字節(jié)數(shù)) |
static | 聲明靜態(tài)變量 |
struct | 聲明結(jié)構(gòu)體類(lèi)型 |
switch | 用于開(kāi)關(guān)語(yǔ)句 |
typedef | 用以給數(shù)據(jù)類(lèi)型取別名 |
unsigned | 聲明無(wú)符號(hào)類(lèi)型變量或函數(shù) |
union | 聲明共用體類(lèi)型 |
void | 聲明函數(shù)無(wú)返回值或無(wú)參數(shù),聲明無(wú)類(lèi)型指針 |
volatile | 說(shuō)明變量在程序執(zhí)行中可被隱含地改變 |
while | 循環(huán)語(yǔ)句的循環(huán)條件 |
C99 新增關(guān)鍵字
_Bool | _Complex | _Imaginary | inline | restrict |
C11 新增關(guān)鍵字
_Alignas | _Alignof | _Atomic | _Generic | _Noreturn |
_Static_assert | _Thread_local |
C 中的空格
只包含空格的行,被稱(chēng)為空白行,可能帶有注釋?zhuān)珻 編譯器會(huì)完全忽略它。
在 C 中,空格用于描述空白符、制表符、換行符和注釋。空格分隔語(yǔ)句的各個(gè)部分,讓編譯器能識(shí)別語(yǔ)句中的某個(gè)元素(比如 int)在哪里結(jié)束,下一個(gè)元素在哪里開(kāi)始。因此,在下面的語(yǔ)句中:
int age;
在這里,int 和 age 之間必須至少有一個(gè)空格字符(通常是一個(gè)空白符),這樣編譯器才能夠區(qū)分它們。另一方面,在下面的語(yǔ)句中:
fruit = apples + oranges;// 獲取水果的總數(shù)
fruit 和 =,或者 = 和 apples 之間的空格字符不是必需的,但是為了增強(qiáng)可讀性,可以根據(jù)需要適當(dāng)增加一些空格。