計算機等級

當前位置 /首頁/IT認證/計算機等級/列表

2017年計算機二級考試知識點

計算機二級的文章" target="_blank" >計算機二級考試知識點彙總是計算機二級考試的重要複習材料。下面是2017年計算機二級考試知識點。歡迎閱讀

2017年計算機二級考試知識點
  2017年計算機二級考試知識點

【考點1】結構體型別的說明

結構體是若干個型別資料的集合,

結構體型別說明格式:

struct 型別名 {型別1 成員名1;型別2 成員名2;……};,以上整個部分是一個數據型別,與整型的int是同樣地位。可用typedef把結構體型別替換成一個只有幾個字母的簡短識別符號。

【考點2】結構體變數的定義

結構體變數是用說明的結構體型別所定義的一個變數,與結構體型別不是一回事。一個結構體變數所佔位元組數為其所有成員所佔位元組數之和。如struct stu{char name[10];int age;} a,b;則表明定義了兩個結構體變數a,b,每個變數佔14個位元組。a,b與int i,j;中的變數i,j是同樣地位。typedef 考的很多(教材150頁例6)。

【考點3】結構體成員的引用

引用成員可用以下3種方式:(1)結構體變數名.成員名;(2)指標變數名->成員名:(3)(*指標變數名).成員名。點(.)稱為成員運算子,箭頭(->)稱為結構指向運算子。

【考點4】連結串列

連結串列是由一個個結點構成的,一個結點就是一個結構體變數。每個結點可以分為資料域與指標域兩個部分,資料域用來存放要儲存的資料,指標域用來指向下一個結點。連結串列是考試中的難點,在C語言和公共基礎部分都會考到,要掌握,連結串列中如何增加和刪除節點(每年都考),以及何如構成一個簡單的連結串列,一定記住連結串列中的節點是有兩個域,一個放數值,一個放指標。

【考點5】共用體

共用體的使用格式與結構體相似,共用體定義的關鍵字為union,共用體所佔位元組數是所有成員中位元組數最大的那個。

union TT

{ int a;

char ch[2];} t1 ;

main()

{t1.a=0x1234;

printf("%xn",[0] );

printf("%xn",[1] );}

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

考點二: TT t1 ; t1.a=0x1234;

那麼 ch[0]=0x 34; ch[1]=0x12

7)結構體和共用體以及連結串列要掌握最簡單的。typedef 考的很多,而且一定要知道如何引用

結構體中的各個變數,連結串列中如何填加和刪除節點,以及何如構成一個簡單的連結串列,一定記

住連結串列中的節點是有兩個域,一個放數值,一個放指標。

【考點6】編譯預處理

凡以#開頭的這一行,都是編譯預處理命令列,編譯預處理不加分號,不佔執行時間。巨集替換僅是簡單的文字替換,如#define f(x) (x)*(x)和#define f(x) x*x替換f(2+2)時就有區別,前者展開為(2+2)*(2+2),後者為2+2*2+2。

如果原始檔f2.c中有#include”f1.c”可以理解為把原始檔f1.c原樣包含到f2.c中,使f1.c和f2.c融合到一起成為一個C程式編譯。所以一個C程式必有主函式,但一個C原始檔未必有主函式。

【考點7】識別符號作用域

區域性變數是在函式內或複合語句內定義的變數,作用域為定義它的'函式內。區域性變數有三種類型:自動auto,暫存器register和靜態static。

自動變數隨著函式的使用與否建立消失;暫存器變數分配在cpu中,沒有記憶體地址;靜態變數佔用固定儲存單元,在程式執行過程不釋放,直到程式執行結束。

全域性變數是在函式外定義的變數,作用域從定義它的位置到整個原始檔結束為止,生存期為整個程式執行期間。全域性變數都是靜態變數。

【考點8】動態儲存分配

malloc(size)用來建立size個位元組的連續儲存空間,返回值型別為void *型。malloc函式常用於動態建立連結串列結點,如int *p; p=(int *)malloc(sizeof(int));。

calloc(n,size)建立n個同一型別的連續儲存空間,可以理解為n個malloc。

int *p; p=(int *) calloc (10,sizeof(int));。p指向首地址。

free(p)釋放動態分配的儲存單元。

【考點9】main函式的引數

還有main(int argc,char **argv) {}

這種含有引數的題目,是很呆板的題目。第一個引數是表示輸入的字串的數目,第二個引數是指向存放的字串。

【考點10】函式指標

函式指標的用法(*f)()記住一個例子:

int add(int x, int y)

{....}

main()

{ int (*f)();

f=add;

}

賦值之後:合法的呼叫形式為

1、add(2,3);

2、f(2,3);

3、(*f)(2,3)