一、C語言基本知識點

1、編譯預處理不是C語言的一部分,不再執行時間。C語言編譯的程式稱為源程式,它以ASCII數值存放在文字檔案中。

2、每個C語言程式中

main函式

是有且只有一個。

3、在函式中不可以再定義函式。

4、演算法的是一定要有輸出的,他可以沒有輸入。

5、break可用於迴圈結構和switch語句。

6、

逗號運算子

的級別最低。

7、強制型別轉換: 一定是 (int)a 不是 int(a),注意型別上一定有括號的。

注意(int)(a+b)和(int)a+b 的區別。 前是把a+b轉型,後是把a轉型再加b。

8、 賦值表示式:表示式數值是最左邊的數值,a=b=5;該表示式為5,常量不可以賦值。 自加、自減表示式:假設a=5,++a(是為6), a++(為5); 注意:==在C語言中表示等於,而=表示賦值。

9、

指標變數

的本質是用來放地址,而一般的變數是放數值的。 int p 中 *p和p的差別: *p可以當做變數來用;的作用是取後面地址p裡面的數值 p是當作地址來使用。 *p++ 和 (*p)++的之間的差別:改錯題目中很重要 *p++是 地址會變化。 (*p)++ 是數值會要變化。 三名主義:(考試的重點)

10、

陣列名

:表示第一個元素的地址。陣列名不可以自加,他是地址常量名。(考了很多次) 函式名:表示該函式的入口地址。 字串常量名:表示第一個字元的地址。

11、

程式結構

是三種: 順序結構 , 迴圈結構(三個迴圈結構), 選擇結構(if 和 switch)

12、讀程式都要從main()入口, 然後從最上面順序往下讀(碰到迴圈做迴圈,碰到選擇做選擇)。計算機的資料在電腦中儲存是以

二進位制

的形式。 資料存放的位置就是 他的地址。 bit是位 是指為0 或者1。 byte 是指位元組, 一個位元組 (B)= 八個位。

二、陣列的重要概念:

對a[10]這個陣列的討論。

1、a表示陣列名,是第一個元素的地址,也就是元素a[10]的地址。

2、a是

地址常量

,所以只要出現a++,或者是a=a+2賦值的都是錯誤的。 3、a是

一維陣列

名,所以它是列指標,也就是說a+1是跳一列。 對a[3][3]的討論。

3、a表示陣列名,是第一個元素的地址,也就是元素a[10]的地址。 2、a是地址常量,所以只要出現a++,或者是a=a+2賦值的都是錯誤的。 3、a是

二維陣列

名,所以它是行指標,也就是說a+1是跳一行。

4、a[0]、a[1]、a[2]也都是地址常量,不可以對它進行賦值操作,同時它們都是列指標,a[0]+1,a[1]+1,a[2]+1都是跳一列。

5、注意a和a[0] 、a[1]、a[2]是不同的,它們的基型別是不同的。前者是一行元素,後三者是一列元素