當前位置:學問君>人在職場>IT認證>

計算機二級C語言學習內容

學問君 人氣:1.73W

C 語言是以函數形式提供給用戶的,這些函數可方便的調用,並具有多種循環、條件語句控制程序流向,從而使程序完全結構化。下面是小編整理的關於計算機二級C語言學習內容,希望大家認真閱讀!

計算機二級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);