Linux C基礎筆記(3)

2021-09-16 22:25:29 字數 3331 閱讀 6051

補充申明:linux c基礎筆記共分為四部分,第一部分是linux下基本命令,以及vi編輯器的使用還有c中的資料型別,第二部分為運算子、常量變數和輸入輸出。第三部分是控制語句、陣列、字串函式。第四部分為指標、函式以及分配記憶體管理。在寫完這四部分之後我會繼續上傳資料結構、io、以及網路程式設計的學習筆記,大家如果有需要學習linux下程式設計的可以關注一下,我會將我所有的學習筆記發布在此供大家一起學習。(在筆記裡面會有一些其他博主的總結,如果涉及到實屬抱歉,您可以通過郵箱聯絡我,我會及時修改。[email protected])。

控制語句

分支語句和迴圈語句

分支語句

if...else...

(1)簡化形式

if(表示式)

else

(2)階梯形式

if(表示式1)

else if(表示式2)

....

else

(3)巢狀形式

if(表示式1)

else if(表示式2)

else if(...)

else

}....

else

備註:多個if與多個else if詳解:

if與多個else if是分枝情況。只執行其中一條**,if與多個if是並列情況,會順序執行

如果是多個else if的話,只要第乙個if條件成立,即使滿足else if的條件也不會執行else if及else的內容

switch語句

switch (表示式)

注意:switch中的表示式可以是整型或字元型表示式

(也可以是列舉型別,新標準的c語言允許為任意型別.)

每個常量表示式的值必須各不相同,否則將會出現矛盾。

當表示式的值與case後面的常量表示式值相等時就執行此case後面的語句。

「case 常量:」只起語句標號的作用。

break語句在switch中的作用:強行跳出switch體轉到其它某條語句,每個case後面應有乙個break語句(否則程式的執行順序將改變),default分支後的break可以省略。

各個case出現的先後順序不影響程式的執行結果.

多個case可以執行一組語句.

控制語句之迴圈語句

注意:所有的迴圈語句都需要乙個結束標誌,如果沒有,會是乙個死迴圈

1.goto迴圈(一般不介意使用,除非是在核心開發中使用)

本質實現的是乙個跳轉功能,在乙個函式體內部執行跳轉

next:

....

goto next;

2.while迴圈

先判斷,後執行

while(表示式)

3.do...while迴圈

先執行後判斷

dowhile(表示式);

4.for迴圈

for(表示式1;表示式2;表示式3)

執行過程:

先執行表示式1,在執行表示式2,如果表示式2成立,則執行語句塊,

再執行表示式3,執行表示式2,如果成立,再執行語句塊

表示式1:一般為對變數進行初始化

表示式2:一般是乙個判斷條件,如果不成立,則結束整個for迴圈

表示式3:一般是迴圈語句的結束標誌,如果表示式2為假,從而結束整個迴圈

……

陣列

1.一維陣列

宣告陣列 type arrayname [ arraysize ]; double balance[10];

初始化陣列 double balance[5] = ;

double balance = ;

氣泡排序: for(i = 0;ia[j+1]) }}

簡單快速排序法

每次拿前乙個資料與後面的所有的資料進行比較,將最小的資料放在前乙個位置,以此類推

2.二維陣列

宣告陣列 type arrayname [ x ][ y ];

初始化 int a[3][4] = , /* 初始化索引號為 0 的行 */

, /* 初始化索引號為 1 的行 */

/* 初始化索引號為 2 的行 */

};int a[3][4] = ;

備註:行可以省略,列不可以省。

字串函式

#include size_t strlen(const char *s);

功能:計算乙個字串的長度

返回值:字串的長度

#include char *strcpy(char *dest, const char *src);

功能:將src的資料賦值給dest,包括src的\0也會一起複製

返回值:與dest的值一樣

注意:必須保證dest足夠大,否則會記憶體溢位

#include char *strcat(char *dest, const char *src);

功能:拼接兩個字串,將src的資料追加到dest的後面,從destz\0的位置開始追加

返回值:與dest的值一樣

注意:必須保證dest足夠大,否則會記憶體溢位

#include int strcmp(const char *s1, const char *s2);

功能:比較兩個字串的內容

引數: s1,s2:要比較字串

返回值:>0 s1 > s2

=0 s1 = s2

<0 s1 < s2

int strncmp(const char *s1, const char *s2, size_t n);

功能:比較字串前n個字元是否相等

引數:s1:第乙個字串,s2:第二個字串,n 前n個字元

4【】

size_t strlen(const char *s)                      求字串長度

char *strcpy(char *dst, const char *src); 字串複製

char *strcat(char *dse, const char *src); 字串鏈結

int strcmp(const char *str1, const char *str2); 字串比較

char *strchr(char *str,char c); 查詢字元c第一次出現的位置

char ^strstr(const char *str1,const char *str2); 查詢子串h

Linux C語言學習筆記3

1 整型資料 1.整型變數int int a 定義了一塊記憶體,記憶體的名字叫a,用來存放整型資料 2.負數在計算機中的儲存形式 0000 0010 2 0是符號位,代表正整數 1000 0010 2 1是符號位,代表負整數 但在計算機記憶體中,負數是以補碼的形式儲存的 即,將 1000 0010 ...

linux c程式設計基礎

1 gcc 編譯選項 c 只編譯 o 輸出檔案 s 彙編檔案 e 預編譯 o3,o2,o編譯優化 g gdb除錯選項 2 gdb除錯 gcc使用 g生產的執行檔案或core檔案等 run 執行 list 顯示源程式 next 下一步,不進函式 step 下一步,進入函式 print 列印變數 kil...

Linux C程式設計基礎

1.結構體定義 1 結構的宣告與使用 結構是一種結構型別它是由若干成員組成的,每個成員可以是乙個基本資料型別又是乙個構造型別。結構既然是一種構造而成的資料型別,那麼在說明和使用之前必須先定義它也就是構造他,如同在說明和呼叫函式之前要現定義函式一樣。結構體的宣告 一般形式為 struct 結構名 成員...