基於c語言優先順序病房呼叫 C語言

2021-10-16 11:24:46 字數 3524 閱讀 5366

基本資料型別(5個)

void:宣告函式無返回值或無引數,宣告無型別指標,顯示丟棄去處結果

char:字元型型別資料,屬於整型資料的一種

int:整型資料,通常為編譯器指定的機器字長

float:單精度浮點資料,屬於浮點資料的一種

double:雙精度浮點資料,屬於浮點資料的一種

型別修飾關鍵字(4個)

short:修飾 int,短整型資料,可省略被修飾的 int

long:修飾 int,長整形資料,可省略被修飾的 int

signed:修飾整型資料,有符號資料型別

unsigned:修飾整型資料,無符號資料型別

複雜型別關鍵字(5個)

struct:結構體宣告

union:共用體宣告

enum:列舉宣告

typedef:宣告型別別名

sizeof:得到特定型別或特定型別、變數的大小

儲存級別關鍵字(6個)

auto:指定為自動亦是,由編譯器自動分配及釋放。通常在棧上分配

static:指定為靜態變數,分配在靜態變數區,修飾函式時,指定函式指標作用域為檔案內部

register:指定為暫存器變數,建議編譯器將變數儲存到暫存器中使用,也可以修飾函式形參,建議編譯器通過暫存器而不是堆疊傳遞引數

extern:指定對應變數為外部變數,即在另外的目標檔案中定義,可以認為是約定由另外檔案宣告的變數

const:與 volatile 合稱「cv特性」,指定變數不可被當前執行緒/程序改變(但有可能被系統或其它執行緒/程序改變)

volatile:與 const 合稱「cv特性」,指定變數的值有可被系統或其它執行緒/程序改變,強制編譯器每次從記憶體中取得該變數的值

跳轉結構(4個)

return:用在函式體中,返回特定的值(或者是 void 值,即不返回值)

break:跳出當前迴圈或 switch 結構

goto:無條件跳轉語句

分支結構(5個)

if:條件語句

else:條件語句否定分支(與 if 連用)

switch:開關語句(多重分支語句)

case:開關語句中的分支標記

default:開關語句中的「其它」分治,可選

迴圈結構(3個)

for:for 迴圈結構,for(1;2;3)4;的執行順序為1->2->4->3->2...迴圈,其中2為迴圈條件

do:do迴圈結構,do 1 while(2);的執行順序是1->2->1...迴圈,2為迴圈條件

while:while迴圈結構,while(1)2;的執行順序1->2->1...,1為迴圈條件以上迴圈語句,當迴圈條件表示式為真則繼續,是假則跳出迴圈。

c99新增(5個)

1、inline關鍵字用來定義乙個類的內聯函式,引入它的主要原因是用它替代c中表示式形式的巨集定義

引入原因:c語言是乙個效率很高的語言,這種巨集定義在形式及使用上像乙個函式,但它使用預處理器實現,沒有了引數壓棧,**生成等一系列的操作

2、restrict關鍵字只用於限定指標;該關鍵字用於告知編譯器,所有修改該指標所指向內容的操作全部都是基於(base on)該指標的,即不存在其它進行修改操作的途徑;這樣的後果是幫助編譯器進行更好的**優化,生成更有效率的彙編**。

3、_bool關鍵字是用於表示布林值。包含標準標頭檔案 stdbool.h 後,我們可以用 bool 代替 _bool ,true 代替 1 ,false 代替 0 。

4、_complexand_imaginary關鍵字

c99標準中定義的複數型別如下:float_complex; float_imaginary; double_complex; double_imaginary; long double_complex; long double_imaginary.

標頭檔案中定義了complex和imaginary巨集,並將它們擴充套件為_complex和_imaginary,因此在編寫新的應用程式時,應該使用標頭檔案中的complex和imaginary巨集。

優先順序 運算子 名稱或含義 使用形式 結合方向 說明

1 陣列下標 陣列名[常量表示式] 左到右

() 圓括號 (表示式)/函式名(形參表)

. 成員選擇(物件) 物件.成員名

-> 成員選擇(指標) 物件指標->成員名

2 - 負號運算子 -表示式 右到左 單目運算子

(型別) 強制型別轉換 (資料型別)表示式

++ 自增運算子 ++變數名/變數名++ 單目運算子

-- 自減運算子 --變數名/變數名-- 單目運算子

* 取值運算子 *指標變數 單目運算子

& 取位址運算子 &變數名 單目運算子

! 邏輯非運算子 !表示式 單目運算子

~ 按位取反運算子 ~表示式 單目運算子

sizeof 長度運算子 sizeof(表示式)

3 / 除 表示式/表示式 左到右 雙目運算子

* 乘 表示式*表示式 雙目運算子

% 餘數(取模) 整型表示式/整型表示式 雙目運算子

4 + 加 表示式+表示式 左到右 雙目運算子

- 減 表示式-表示式 雙目運算子

5 << 左移 變數《表示式 左到右 雙目運算子

>> 右移 變數》表示式 雙目運算子

6 > 大於 表示式》表示式 左到右 雙目運算子

>= 大於等於 表示式》=表示式 雙目運算子

< 小於 表示式《表示式 雙目運算子

<= 小於等於 表示式<=表示式 雙目運算子

7 == 等於 表示式==表示式 左到右 雙目運算子

!= 不等於 表示式!= 表示式 雙目運算子

8 & 按位與 表示式&表示式 左到右 雙目運算子

9 ^ 按位異或 表示式^表示式 左到右 雙目運算子

10 | 按位或 表示式|表示式 左到右 雙目運算子

11 && 邏輯與 表示式&&表示式 左到右 雙目運算子

12 || 邏輯或 表示式||表示式 左到右 雙目運算子

13 ?: 條件運算子 表示式1? 表示式2: 表示式3 右到左 三目運算子

14 = 賦值運算子 變數=表示式 右到左

/= 除后賦值 變數/=表示式

*= 乘後賦值 變數*=表示式

%= 取模後賦值 變數%=表示式

+= 加後賦值 變數+=表示式

-= 減後賦值 變數-=表示式

<<= 左移後賦值 變數<<=表示式

>>= 右移後賦值 變數》=表示式

&= 按位與後賦值 變數&=表示式

^= 按位異或後賦值 變數^=表示式

|= 按位或後賦值 變數|=表示式

15 , 逗號運算子 表示式,表示式,… 左到右 從左向右順序運算

說明:同一優先順序的運算子,運算次序由結合方向所決定。

簡單記就是:! > 算術運算子 > 關係運算子 > && > || > 賦值運算子

c 語言優先順序

link blog id 2880933 寫 的時候,常會翻看的乙個表就是 c語言運算子優先順序表 c的運算子優先順序常常很讓人頭疼。其實,在大學裡學習c的時候,老師告訴大家這個不用一定背下來,用的時候可以找書,或者加小括號就可以了。我聽了,但是後來發現錯了。很多人都聽了,但不是每個人都發現這是錯的...

C語言優先順序

優先順序 運算子名稱或含義 使用形式 結合方向說明1 陣列下標 陣列名 常量表示式 左到右 圓括號 表示式 函式名 形參表 成員選擇 物件 物件.成員名 成員選擇 指標 物件指標 成員名2 負號運算子 表示式 右到左單目運算子 型別 強制型別轉換 資料型別 表示式 自增運算子 變數名 變數名 單目運...

C語言優先順序

優先順序 運算子名稱或含義 使用形式 結合方向說明1 陣列下標 陣列名 常量表示式 左到右 圓括號 表示式 函式名 形參表 成員選擇 物件 物件.成員名 成員選擇 指標 物件指標 成員名2 負號運算子 表示式 右到左單目運算子 型別 強制型別轉換 資料型別 表示式 自增運算子 變數名 變數名 單目運...