對於linux的開發而言c語言非常重要,本節學習的是c語言常用的關鍵字以及運算子的操作。
什麼是關鍵字?
就是編譯器預先定義的有一定意義的字串,在c語言中有32個關鍵字。
下面是列舉的一些關鍵字:
sizeof:編譯器檢視變數所佔的記憶體大小的工具
return :函式的返回值
資料型別關鍵字:
占用的位元組數根據編譯器的不同所占有的位元組不同
char:乙個位元組(八個位也就是8bit)
int:四個位元組
long、shot;unsigned,signed;
float:四個位元組
double:八個位元組
無符號 : 資料
有符號 : 數字
void 語義符;
自定義資料型別:
typedef:資料型別的別名
struct:元素之間的和(定義乙個結構體,結構體是乙個累加的過程)
union: 共用體是乙個重合的過程(共用起始位址),共用體在寫法上和 struct是一樣的;
enum:就是列舉,就是乙個被命名的整型常數的集合,效果和巨集定義相同,在不同的晶元之間enum的使用會比較多;
邏輯結構:
分支,迴圈;
if-----else;根據條件的不同執行不同的命令
switch(整型變數,不能是浮點數)----case------default;多種選擇性,每一種選擇性只執行一次
do-----while;迴圈的條件
for迴圈,直觀的感覺是迴圈的次數
continue表示的就是繼續
break表示直接跳出迴圈
goto在同乙個函式內部進行跳轉
型別修飾符:
算術操作運算子:+、-;*、/在大部分cpu是不支援的,%求模,利用求模可以得到,乙個範圍的數,乙個n進製的數和迴圈資料結構的下標
邏輯運算:結果非真既假,就是不是1就是0;&&、||邏輯與和邏輯或a&&b!=b&&a,a||b !=b||a;>、<、>=、<=;!對比位運算取反;
位運算:在嵌入式開發中最接近底層的運算,在嵌入式中運用比較多,<<、>>左移和右移,左移以為相當於乘2,右移以為相當於除以2;&、|、^,位操作;a&0=0置零,a|1=1置一,a|0=a保留,a=a | (0x1<<5)設定第五位為1,a=a &( ~(0x1<<5) )設定第五位為0;^異或,相同為假,不同為真,交換兩個數的值;~取反操作(所有位都取反)
C語言學習之關鍵字
在我們講解關鍵字之前,我們先來了解一下宣告跟定義的區別 定義 所謂定義就是 編譯器 建立了乙個物件,並為這一物件分配了記憶體並且給它取了乙個名字,這個名字就是我們經常所說的變數名或者物件名,乙個變數或者物件在一定區域內 比如函式內 全域性等 只能定義一次 宣告 有兩重含義 1 告訴編譯器,這個名字已...
C語言學習之關鍵字 1
c語言中,關鍵字一共有32個,其中尤其要注意的是sizeof是關鍵字,不是函式。以下分別對各個關鍵字進行學習。首先,我們要弄明白以下兩個概念 定義和宣告。定義 就是建立乙個物件,為這個物件分配一塊記憶體並給它取上乙個名字,這個名字就是我們經常所說的變數名或物件名。乙個變數或物件在一定的區域內 比如函...
c語言學習筆記 關鍵字
auto 定義變數為區域性變數,在函式中定義變數時預設為auto static 定義靜態區域性變數,使用static修飾的變數將被放置到資料段,為空鏈結 register 告知編譯器將盡可能變數存放到暫存器中,但該關鍵字只是乙個請求,並不能保證執行,linux中就有乙個變數被此關鍵字修飾 gd,被此...