《程式設計基礎(C語言)》拾遺

2021-08-01 07:47:48 字數 1766 閱讀 6195

書名:《程式設計基礎(c語言)(第二版)》

編著者:張先偉 馬新娟 張立紅 王雲 田愛奎(學院的老師們)

版次:2016 年 9 月 第2版

isbn:978-7-302-44086-4

出版社:清華大學出版社

//這是我們程設課參考書(教材),自己突然興起想複習,溫故而知新嘛,並且總結總結,更深入的理解c語言吧。。然而新的還真挺多!!不過終於能搞懂了(欣慰),下面是一些自己相中的tips。ps:書還是不錯的。

1.運算子優先順序和結合性 特別是:, 與賦值運算子、 . 與 *;

2.printf附加符號 #,+,空格,- ;長度項:h,l ;

3.邏輯表示式短路原則;

4.空函式意義;

5.函式的引數傳遞方式:值拷貝傳遞;

6.函式宣告+呼叫+定義,函式定義+呼叫;

7.函式宣告作用:保證程式編譯時能判斷對該函式的呼叫是否正確;

8.自動型別轉換:一般算術運算轉換,賦值轉換,return轉換,傳參轉換(數值型),輸出轉換?;

9.函式屬性:函式的儲存屬性;

10.函式的區域性變數包括函式體內宣告的變數和函式的引數;

11.復合語句內可定義變數:ansi c標準不支援;

12.register可用於使用頻率高的變數;

13.static靜態區域性變數會在且只在編譯時賦一次初值(同靜態全域性變數);

14.全域性變數預設extern型別,static將此全域性變數作用域限制在本檔案內;

15.extern a:宣告a是乙個別處定義了的外部全域性變數;

16.典型均勻分布隨機數程式:

#include 

// int

rand(void);

// rand_max = 32767;

// void srand(unsigned int seed);

#include

void random(int a, int b)

}

17.陣列指定初始化式:(c99)

int a[20] =;
void sort (int b, int n);
19.指標(總稱,指記憶體中的位址),指標變數(簡稱指標),乙個變數的「指標」(變數對應的位址),指標常量(位址常量,常量無位址,只是乙個符號,(類似?)#define 定義的那種);

20.const 修飾的是乙個常型別變數;

21.字串常量屬於靜態儲存類(存放在常量儲存區,該區鄰接於靜態儲存區的低端);如「abd」,引號中的整個內容作為乙個位址(指標)(可理解為乙個指標常量);

22.區別:

char *ps = "fish_li";

char a = "fish_li";

23.結構體內存對齊原則,共用體取成員最長長度;

24. malloc: memory allocation,1引數(size),不清零;

calloc: clear allocation,2引數(n, size),清零;

realloc: reset allocation,重分配(*p, new size);

void *calloc(size_t n, size_t size); //原型

int * array;

array = (int *)calloc(i, sizeof(int));

25.鍊錶結點:資料域+指標域;

C語言拾遺

main函式引數 c語言規定main函式引數只能有兩個,習慣上這兩個引數寫成argc和argv。c語言還規定argc必須是整形變數,argv必須是指向字串的指標陣列。因此,main函式的函式頭應該寫為 main argc,argv int argc char argv 或者 main int arg...

C語言拾遺

保證某些全域性變數的常量性 c c 中不能通過變數來定義陣列 const int row 10 const int col 10 c define row 10 define col 10orenum c style型別轉換 new type expression static cast expre...

C語言拾遺

1.操作符與基本型別 賦值運算子的優先順序低於算數運算子。如 x 3 2即x 3 2 優先順序 高於 高於 高於 一元操作符的關聯是從右到左,和 都必須邦定乙個變數或者叫 左值 如 x 注意 x 並不是左值。例如 z x y,相當於 z x y 字元 0 對應ascii的48,a 對應的是65。無論...