C語言複習知識點彙總7--計算機二級(C語言)

其它考試重點

文件的複習方法

把上課時候講的文件這一章的題目要做一遍,一定要做,基本上考試的都會在練習當中。

1)字符串的 strlen() 和 strcat() 和strcmp() 和strcpy()的使用方法一定要記住。他們的參數都是地址。其中strcat()和strcmp()有兩個參數。

 

2)strlen 和 sizeof的區別也是考試的重點;

 

3)define  f(x)(x*x)  和  define   f(x) x*x 之間的差別。一定要好好的注意這寫容易錯的地方,替換的時候有括號和沒有括號是很大的區別。

 

4)int  *p

p= (int *)malloc(4);

p= (int *)malloc(sizeof(int));以上兩個等價

當心填空題目,malloc的返回類型是 void *

 

6)函數的遞歸調用一定要記得有結束的條件,並且要會算簡單的遞歸題目。要會作遞歸的題目

 

7)結構體和共用體以及鏈表要掌握最簡單的。typedef考的很多,而且一定要知道如何引用結構體中的各個變量,鏈表中如何填加和刪除節點,以及何如構成一個簡單的鏈表,一定記住鏈表中的節點是有兩個域,一個放數值,一個放指針。

 

8)函數指針的用法(*f)()記住一個例子:

      int add(int x, int y)

{....}

 main()

{ int  (*f)();

  f=add;

 }

賦值之後:合法的調用形式爲1、add(2,3);

2、f(2,3);

3、(*f)(2,3)

9)兩種重要的數組長度:

char a[]={‘a’,’b’,’c’};  數組長度爲3,字符串長度不定。sizeof(a)爲3。

char a[5]={ ‘a’,’b’,’c’}  數組長度爲5,字符串長度3。sizeof(a)爲5。

10)scanf 和 gets的數據:

如果輸入的是 good  good study!

那麼scanf(“%s”,a); 只會接收 good. 考點:不可以接收空格。

     gets(a); 會接收 good good study! 考點:可以接收空格。

11)共用體的考查:

union TT

{ int a;

charch[2];}

考點一: sizeof (struct TT) = 4;

12)“文件包含”的考查點:

       no1.c                  no2.c

#include”no2.c”

main()

{ add(29 , 33);

 …….

}

 

int add(int a,int b)

{

return a+b;

}

 

 

 

 

 

 


這裏一個C語言程序是有兩個文件組成,分別是no1.c, no2.c。那麼no1.c中最開始有個#include”no2.c”他表示把第二個文件的內容給包含過來,那麼no1.c中調用add()函數的時候就可以了把數值傳到no2.c中的被調用函數add()了。

一個文件必須要有main函數。 這句話錯了。 例如:no2.c就沒有。

頭文件一定是以.h結束的。 這句話錯了。例如:no1.c中就是#include”no2.c”以.c結尾的。

13)指針迷惑的考點:

char ch[]=”iamhandsome”;

char *p=ch;

問你 *(p+2) 和 *p+2的結果是多少?

      ‘m’       ‘k’  結果是這兩個,想不通的同學請作死的想!想通爲止!

14)數組中放數組一定要看懂:

   int a[8]={1,2,3,4,4,3,2,2};

   int b[5]={0};

   b[a[3]]++   這個寫法要看懂,結果要知道是什麼?b[4]++,本身是0,運行完後,b[4]爲1了。

15)字符串的賦值

  C語言中沒有字符串變量,所以用數組和指針存放字符串:

1、char  ch[10]={“abcdefgh”};                       對

2、char  ch[10]=“abcdefgh”;                         對

3、char  ch[10]={‘a’,’b’,’c’,’d’,’e’,’f’,’g’,’h’};           對

4、char  *p=“abcdefgh”;                           對

5、char  *p;                                     對

p=“abcdefgh”;

6、char  ch[10];                    錯了!數組名不可以賦值!

          ch=“abcdefgh”;

7、char  *p={“abcdefgh”};           錯了!不能夠出現大括號!

16)字符串賦值的函數背誦:一定要背誦,當心筆試填空題目。

  把s指針中的字符串複製到t指針中的方法

  1、while( (*t=*s)!=null){s++;t++;}  完整版本

  2、while( *t=*s ){s++;t++;}           簡單版本

  3、while( *t++=*s++);                   高級版本

17)typedef 是取別名,不會產生新的類型,他同時也是關鍵字

考點一:typedef int qq  那麼 int x 就可以寫成 qq x

考點二:typedef int *qq  那麼 int *x就可以寫成 qq x

18)static 考點是一定會考的!複習相關的習題。

static int x;默認值爲0。

int x:默認值爲不定值。

19)函數的遞歸調用一定會考!至少是2分。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章