C語言回顧

2021-05-05 04:10:10 字數 2755 閱讀 1071

1. 資料型別對應的位元組數

資料型別              位元組數

(unsignd)char                  1

short int                       2

int               4

long int                    4

long long int             8

float                        4

double                     8

long double              12

2. 讀取資料格式指定符:

short       %hd;

int             %d;

float   %f或者%e;

double       %lf或%le;

在字串中用%s表示輸出連續的字元直到遇到/0字元為止;

3. 每個字串的末尾都新增了**值為0的特殊字元,寫作「/0」稱為空字元;例如:

char saying[20]

這條語句的宣告的saying變數可以儲存乙個至多包含19個字元的字串,因為必須給終止字元提供乙個陣列元素。當然也可以使用這個陣列儲存20個字元,那樣就不是字串了。因為「/0」的ascii碼是0對應的布林值為false。

5. 型別名void表示沒有指定型別,所以void * 型別的指標可以包含任意型別的資料項位址。

6. int *pointers=null;null是在標準庫中定義的乙個常量,對於指標它表示0;

null是乙個不指向任何記憶體位置的值。

宣告指標時一定要初始化它們。使用未初始化的指標儲存資料項是很危險的。

7. 在使用scanf()輸入數值時,使用了&運算獲取傳給函式的位址。有了乙個含有位址的指標後,只需要使用這個指標的名字作為引數就可以了。

8. 指向常量的指標:

long value=9999l;

const long *pvalue=&value;

其中,指標所指向的變數內容不能修改;

常量指標:

int count=43;

int *const pcount=&count;

其中 指標的內容(即變數的位址)不能修改;

(最好將p作為指標名的第乙個字母)

9. 在宣告二維陣列時,在第一維[n1] 的後面放置第二維[n2],編譯器就會建立乙個大小為n1的陣列,他的每個元素是乙個大小為n2的陣列。

二維陣列索引圖

board

board[0][0]

*board[0]

** board

board[0][1]

*(board[0]+1)

*(* board+1)

board[0][2]

*(board[0]+2)

*(* board+2)

board[1][0]

*(board[0]+3)

*board[1]

*(* board+3)

board[1][1]

*(board[0]+4)

*(board[1]+1)

*(* board+4)

board[1][2]

*(board[0]+5)

*(board[1]+2)

*(* board+5)

board[2][0]

*(board[0]+6)

*(board[1]+3)

*board[2]

*(* board+6)

board[2][1]

*(board[0]+7)

*(board[1]+4)

*(board[2]+1)

*(* board+7)

board[2][2]

*(board[0]+8)

*(board[1]+5)

*(board[2]+2)

*(* board+8)

11. 在程式的執行期間分配記憶體時,記憶體區域中的這個空間稱為堆(heap)。另乙個記憶體區域,稱為棧(stack),其中的空間分配給函式的引數和本地變數,在執行完該函式後,儲存引數和本地變數的記憶體空間就會釋放。堆中的記憶體是由程式設計師控制的。在分配堆上的記憶體時,由程式設計師跟蹤所分配的記憶體何時不再需要,並釋放這些空間,以便以後重用它們。

int *pnumber=(int *)malloc(100)

因此,在編寫程式過程中,最好先用if語句檢查請求動態分配記憶體的否分配,例如:

int *pnumber=(int *)malloc(75,sizeof(int))

13. realloc():重新分配記憶體,例如:

pdata=(long *)realloc (pdata,sizeof(long)*count)

14. free(void *)釋放記憶體位址;

15. 轉義序列: /n

換行;

/r回車; /b

退後一格; /f

換頁;

/t水平製表符; /v

垂直製表符; /a

發出鳴響;

16. 

sizeof

:使用sizeof

()運算可以確定的型別佔據多少位元組;

17. 

break

:該語句它的作用是終止

switch

塊中**的執行,並繼續執行跟在

switch

後的第一行語句

continue

:進入下次迴圈。

c語言回顧

1.資料型別及其範圍 int 10位 2147483648 2147483647 d 4個位元組 long和int都是4位元組,範圍也是一樣,但scanf時候,long是 ld long long是8位元組,輸入 lld,範圍很大,大概是 9 10 18 9 10 18 float是 f,4位元組,...

C語言基礎回顧

這節課講的特別基礎,複習了大概的基本標示符,資料型別,常變數的特性,還有程式的基本結構 於是下面是課後習題 打漁曬網 中國有句俗語叫 三天打魚兩天曬網 某人從1990年1月1日起開始 三天打魚兩天曬網 問這個人在以後的某一天中是 打魚 還是 曬網 include int count day int ...

c語言基礎回顧

請選擇運算子 加法運算,請按1 減法運算,請按2 乘法運算,請按3 除法運算,請按4 程式要求 先顯示選單,客戶選擇了數字,然後系統隨機產生兩個整數,列出式子,要求客戶寫出答案,最後系統判斷客戶答題是否正確,正確顯示 你很棒,加油 錯誤顯示 很遺憾 比如客戶選擇了2,系統就隨機產生乙個式子 例23 ...