查看匯總:2014年計(jì)算機(jī)二級(jí)《C語(yǔ)言》重要考點(diǎn)匯總
第十章對(duì)C語(yǔ)言的深入探討
【考點(diǎn)1】編譯預(yù)處理
凡以#開頭的這一行,都是編譯預(yù)處理命令行,編譯預(yù)處理不加分號(hào),不占運(yùn)行時(shí)間。宏替換僅是簡(jiǎn)單的文本替換,如#define f(x) (x)*(x)和#define f(x) x*x替換f(2+2)時(shí)就有區(qū)別,前者展開為(2+2)*(2+2),后者為2+2*2+2。
如果源文件f2.c中有#include”f1.c”可以理解為把源文件f1.c原樣包含到f2.c中,使f1.c和f2.c融合到一起成為一個(gè)C程序編譯。所以一個(gè)C程序必有主函數(shù),但一個(gè)C源文件未必有主函數(shù)。
【考點(diǎn)2】標(biāo)識(shí)符作用域
局部變量是在函數(shù)內(nèi)或復(fù)合語(yǔ)句內(nèi)定義的變量,作用域?yàn)槎x它的函數(shù)內(nèi)。局部變量有三種類型:自動(dòng)auto,寄存器register和靜態(tài)static。
自動(dòng)變量隨著函數(shù)的使用與否創(chuàng)建消失;寄存器變量分配在cpu中,沒(méi)有內(nèi)存地址;靜態(tài)變量占用固定存儲(chǔ)單元,在程序執(zhí)行過(guò)程不釋放,直到程序運(yùn)行結(jié)束。
全局變量是在函數(shù)外定義的變量,作用域從定義它的位置到整個(gè)源文件結(jié)束為止,生存期為整個(gè)程序運(yùn)行期間。全局變量都是靜態(tài)變量。
【考點(diǎn)3】動(dòng)態(tài)存儲(chǔ)分配
malloc(size)用來(lái)創(chuàng)建size個(gè)字節(jié)的連續(xù)存儲(chǔ)空間,返回值類型為void *型。malloc函數(shù)常用于動(dòng)態(tài)創(chuàng)建鏈表結(jié)點(diǎn),如int *p; p=(int *)malloc(sizeof(int));。
calloc(n,size)創(chuàng)建n個(gè)同一類型的連續(xù)存儲(chǔ)空間,可以理解為n個(gè)malloc。
int *p; p=(int *) calloc (10,sizeof(int));。p指向首地址。
free(p)釋放動(dòng)態(tài)分配的存儲(chǔ)單元。
【考點(diǎn)4】main函數(shù)的參數(shù)
還有main(int argc,char **argv) {}
這種含有參數(shù)的題目,是很呆板的題目。第一個(gè)參數(shù)是表示輸入的字符串的數(shù)目,第二個(gè)參數(shù)是指向存放的字符串。
【考點(diǎn)5】函數(shù)指針
函數(shù)指針的用法(*f)()記住一個(gè)例子:
int add(int x, int y)
{....}
main()
{ int (*f)();
f=add;
}
賦值之后:合法的調(diào)用形式為
1、add(2,3);
2、f(2,3);
3、(*f)(2,3)
相關(guān)推薦:
2014計(jì)算機(jī)二級(jí)C語(yǔ)言知識(shí)點(diǎn)復(fù)習(xí)匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |