糯米文學吧

位置:首頁 > 計算機 > C語言

2017計算機二級《C語言》9-11章重要考點複習

C語言2.51W

成績的取得離不開我們平時的努力,以下是本站小編為大家整理的2017計算機二級《C語言》9-11章重要考點複習,希望對大家的學習起到幫助!

2017計算機二級《C語言》9-11章重要考點複習
  第九章文件

  【考點1】文件類型指針

文件指針是一個指向結構體類型的指針,定義格式為:FILE *指針變量名。在使用文件時,都需要先定義文件指針。

  【考點2】文本文件與二進制文件

文本形式存放的是字符的ASCII碼,二進制形式存放的是數據的二進制。例如“100”如果是文本形式就是存儲’1’、 ’0’、 ’0’三個字符的ASCII碼(00110001 00110000 00110000),如果是二進制形式就把100轉化成二進制(01100100)。

  【考點3】打開文件

文件的打開形式:

FILE *fp;

fp=fopen(“c:lab.c”,”rb”);。

fopen函數的前面一部分為文件名,後面一部分為文件的使用方式。打開方式見教材第116頁,其中r代表讀,w代表寫,a代表添加,b代表二進制位的。

  【考點4】文件函數

判斷文件結束feof函數,移動文件指針位置fseek函數,獲得文件位置ftell函數,文件位置移到開頭rewind函數,文件字符輸入輸出fgetc函數和fputc函數,文件輸入輸出fscanf函數和fprintf函數,文件字符串輸入輸出fgets函數和fputs函數,讀寫二進制文件fread函數和fwrite函數。

以上函數要求知道格式會用,清楚是用於二進制文件還是文本文件。上課時候講的文件這一章的題目要做一遍,一定要做,基本上考試的都會在練習當中。

  第十章對C語言的深入探討

  【考點1】編譯預處理

凡以#開頭的這一行,都是編譯預處理命令行,編譯預處理不加分號,不佔運行時間。宏替換僅是簡單的文本替換,如#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源文件未必有主函數。

  【考點2】標識符作用域

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

自動變量隨着函數的`使用與否創建消失;寄存器變量分配在cpu中,沒有內存地址;靜態變量佔用固定存儲單元,在程序執行過程不釋放,直到程序運行結束。

全局變量是在函數外定義的變量,作用域從定義它的位置到整個源文件結束為止,生存期為整個程序運行期間。全局變量都是靜態變量。

  【考點3】動態存儲分配

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)釋放動態分配的存儲單元。

  【考點4】main函數的參數

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

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

  【考點5】函數指針

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

int add(int x, int y)

{....}

main()

{ int (*f)();

f=add;

}

賦值之後:合法的調用形式為

1、add(2,3);

2、f(2,3);

3、(*f)(2,3)

  第十一章結構體和共用體

  【考點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)(*指針變量名).成員名。點(.)稱為成員運算符,箭頭(->)稱為結構指向運算符。

  【考點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 考的很多,而且一定要知道如何引用

結構體中的各個變量,鏈表中如何填加和刪除節點,以及何如構成一個簡單的鏈表,一定記

住鏈表中的節點是有兩個域,一個放數值,一個放指針。

  【考點4】鏈表

鏈表是由一個個結點構成的,一個結點就是一個結構體變量。每個結點可以分為數據域與指針域兩個部分,數據域用來存放要存儲的數據,指針域用來指向下一個結點。鏈表是考試中的難點,在C語言和公共基礎部分都會考到,要掌握,鏈表中如何增加和刪除節點(每年都考),以及何如構成一個簡單的鏈表,一定記住鏈表中的節點是有兩個域,一個放數值,一個放指針。(教材162頁例2一定要看懂)