- 相關(guān)推薦
2017計(jì)算機(jī)二級C語言考點(diǎn)解析
大家在備考計(jì)算機(jī)二級考試時(shí)要掌握考點(diǎn),這樣復(fù)習(xí)才有方向,以下是百分網(wǎng)小編整理的計(jì)算機(jī)二級C語言考點(diǎn)解析,更多計(jì)算機(jī)二級考試信息請繼續(xù)關(guān)注應(yīng)屆畢業(yè)生考試網(wǎng)。
8.1 指針與指針變量的概念,指針與地址運(yùn)算符
1.在C語言中,指針是指一個(gè)變量的地址,通過變量的地址″指向″的位置找到變量的值,這種″指向″變量地址可形象地看作″指針″。用來存放指針的變量稱為指針變量,它是一種特殊的變量,它存放的是地址值。
2.定義指針變量的一般形式為:
類型名 *指針變量1,*指針變量2,…;
″類型名″稱為″基類型″它規(guī)定了后面的指針變量中存放的數(shù)據(jù)類型,″*″號表明后面的″指針變量1″,″指針變量2″等是指針變量,″*″號在定義時(shí)不能省略,否則就會變成一般變量的定義了。″指針變量1″,″指針變量2″等稱為指針變量名。
3.一個(gè)指針變量只能指向同一類型的變量。
4.與指針和指針變量有關(guān)的兩個(gè)運(yùn)算符:
(1)*:指針運(yùn)算符(或稱″間接訪問″運(yùn)算符)
(2)&:取地址運(yùn)算符
通過*號可以引用一個(gè)存儲單元,如有如下定義:
int i=123,*p,k;
則 p=&I;或k=*p;或k=*&I;都將變量i中的值賦給k。
*p=10;或*&i=10;都能把整數(shù)10賦給變量i。這里,等號左邊的表達(dá)式*p和*&i都代表變量i的存儲單元。
8.2 變量、數(shù)組、字符串、函數(shù)、結(jié)構(gòu)體的指針以及指向它們的指針變量
1.變量的指針和指向變量的指針變量。
2.數(shù)組的指針和指向數(shù)組的指針變量。
所謂數(shù)組的指針是指數(shù)組的起始地址,數(shù)組元素的指針是數(shù)組元素的地址。
C語言規(guī)定數(shù)組名代表數(shù)組的首地址,也就是第一個(gè)元素的地址。
3.字符串的指針和指向字符串的指針變量。
我們可以通過定義說明一個(gè)指針指向一個(gè)字符串。
C語言將字符串隱含處理成一維字符數(shù)組,但數(shù)組的每個(gè)元素沒有具體的名字,這一點(diǎn)跟字符數(shù)組不一樣。要引用字符串中的某個(gè)字符,只能通過指針來引用:*(s+0),*(s+1),…,*(s+n)。
4.函數(shù)的指針和指向函數(shù)的指針變量。
指向函數(shù)的指針變量的一般形式為 :
數(shù)據(jù)類型標(biāo)識符 (*指針變量名)();
這里的″數(shù)據(jù)類型標(biāo)識符″是指函數(shù)返回值的類型。
函數(shù)的調(diào)用可以通過函數(shù)名調(diào)用,也可以通過函數(shù)指針調(diào)用(即用指向函數(shù)的指針變量調(diào)用)。
指向函數(shù)的指針變量表示定義了一個(gè)指向函數(shù)的指針變量,它不是固定指向哪一個(gè)函數(shù),而只是定義了這樣的一個(gè)類型變量,它專門用來存放函數(shù)的入口地址。在程序中把哪一個(gè)函數(shù)的地址賦給它,它就指向哪一個(gè)函數(shù)。在一個(gè)程序中,一個(gè)指針變量可以先后指向不同的函數(shù)。
在給函數(shù)指針變量賦值時(shí),只需給出函數(shù)名而不必給出參數(shù)。因?yàn)楹瘮?shù)指針賦的值僅是函數(shù)的入口地址,而不涉及到實(shí)參與形參的結(jié)合問題。
對指向函數(shù)的指針變量,表達(dá)式p+n,p++,p--等都無意義。
5.結(jié)構(gòu)體的指針與指向結(jié)構(gòu)體的指針變量
一個(gè)結(jié)構(gòu)體變量的指針就是該變量所占據(jù)的內(nèi)存段的起始地址。可以設(shè)一個(gè)指針變量,用來指向一個(gè)結(jié)構(gòu)體變量,此時(shí)該指針變量的值是結(jié)構(gòu)體變量的起始地址。指針變量也可以用來指向結(jié)構(gòu)體數(shù)組中的元素。
8.3 用指針做函數(shù)參數(shù)
函數(shù)的參數(shù)不僅可以是整型、實(shí)型、字符型等數(shù)據(jù),還可以是指針類型,它的作用是將一個(gè)變量的地址傳送到另一個(gè)函數(shù)中。
8.4 返回指針值的指針函數(shù)
一個(gè)函數(shù)可以返回一個(gè)整型值、字符值、實(shí)型值等,也可以返回指針型數(shù)據(jù) ,即地址這種帶回指針值的函數(shù),一般的定義形式為:
類型標(biāo)識符 *函數(shù)名(形參表);
8.5 指針數(shù)組、指向指針的指針
1.指針數(shù)組指的是一個(gè)數(shù)組,其元素均為指針類型數(shù)據(jù),也就是說,指針數(shù)組中的每一個(gè)元素都是指針變量。指針數(shù)組的定義形式為:
類型標(biāo)識 *數(shù)組名[數(shù)組長度說明]
指針數(shù)組可以使字符串處理更加方便。
2.指向指針的指針是指指向指針數(shù)據(jù)的指針變量,一個(gè)指向指針數(shù)據(jù)的指針變量的一般形式為:
類型標(biāo)識 * *p;
8.6 main函數(shù)的命令參數(shù)
指針數(shù)組的一個(gè)重要應(yīng)用是作為main函數(shù)的形參,一般來說,main函數(shù)后的括號中是空的,即沒有參數(shù)。實(shí)際上main可以有參數(shù),如:
main(argc,argv)
其中,argc和argv就是main函數(shù)的形參。其他函數(shù)形參的值可以通過函數(shù)調(diào)用語句的實(shí)參中得到,由于main函數(shù)是由系統(tǒng)調(diào)用的,因而main函數(shù)的形參值不能從程序中得到,但可以在操作系統(tǒng)狀態(tài)下,將實(shí)參和命令一起給出,從而使main函數(shù)的形參得到值。命令行的一般形式為:
命令名 參數(shù)1 參數(shù)2…參數(shù)n
命令名和各參數(shù)之間用空格分隔開。
8.7 動(dòng)態(tài)存儲分配
在C語言中有一種稱為“動(dòng)態(tài)存儲分配”的內(nèi)存空間分配方式:程序在執(zhí)行期間需要存儲空間時(shí),通過“申請”分配指定的內(nèi)存空間;當(dāng)閑置不用時(shí),可隨時(shí)將其釋放,由系統(tǒng)另作它用。本節(jié)介紹C語言中動(dòng)態(tài)分配系統(tǒng)的主要函數(shù):malloc()、calloc()、free()及realloc(),使用這些函數(shù)時(shí),必須在程序開頭包含文件stdlib.h。
1.主內(nèi)存分配函數(shù)—malloc()
函數(shù)格式:void*malloc(unsigned size);
函數(shù)功能:從內(nèi)存中分配一大小為size字節(jié)的塊。
參數(shù)說明:size為無符號整型,用于指定需要分配的內(nèi)存空間的字節(jié)數(shù)。
返回值:新分配內(nèi)存的地址,如無足夠的內(nèi)存可分配,則返回NULL。
說明:當(dāng)size為0時(shí),返回NULL。
2.主內(nèi)存分配函數(shù)——calloc()
函數(shù)格式:void*malloc(unsigned n,unsigned size);
函數(shù)功能:從內(nèi)存中分配n個(gè)同一類型數(shù)據(jù)項(xiàng)的連續(xù)存儲空間,每個(gè)數(shù)據(jù)項(xiàng)的大小為size字節(jié)。
參數(shù)說明:n為無符號整型,用于指定分配的數(shù)據(jù)項(xiàng)的個(gè)數(shù)size為無符號整型,用于指定需要分配的數(shù)據(jù)項(xiàng)所占內(nèi)存空間的字節(jié)數(shù)。
返回值:新分配內(nèi)存的地址,如無足夠的內(nèi)存可分配,則返回NULL。
3.重新分配內(nèi)存空間函數(shù)——realloc()
函數(shù)格式:void*realloc(void *block,unsigned size);
函數(shù)功能:將block所指內(nèi)存區(qū)的大小改為size字節(jié)的塊。
參數(shù)說明:block為void類型的指針,指向內(nèi)存中某塊,size為無符號整型,用于指定需要分配的內(nèi)存空間的字節(jié)數(shù)。
返回值:新分配內(nèi)存的地址,如無足夠的內(nèi)存可分配,則返回NULL。
4.釋放內(nèi)存函數(shù)—free()
函數(shù)格式:void free(void*block);
函數(shù)功能:將calloc()、malloc()及realloc()函數(shù)所分配的內(nèi)存空間釋放為自由空間。
參數(shù)說明:block為void類型的指針,指向要釋放的內(nèi)存空間。
返回值:無。
9.1 一維數(shù)組的定義、初始化和引用
1.一維數(shù)組的定義方式為:
類型說明符 數(shù)組名[常量表達(dá)式]
(1)數(shù)組名的命名方法與變量名相同,遵循標(biāo)識符命名規(guī)則;
(2)數(shù)組是用方括號括起來的常量表達(dá)式,不能用圓括號;
(3)常量表達(dá)式表示數(shù)組元素的個(gè)數(shù),即數(shù)組的長度,數(shù)組的下標(biāo)從0開始,下標(biāo)的最大值為:常量表達(dá)式-1;
(4)常量表達(dá)式中可以包括常量和符號常量,不能包括變量。
可以用賦值語句或輸入語句使數(shù)組中的元素得到值,但要占用運(yùn)行時(shí)間?梢允箶(shù)組在運(yùn)行之前初始化,即在編譯階段使之得到初值。
2.對數(shù)組初始化可以用以下方法實(shí)現(xiàn):
(1)在定義數(shù)組時(shí)對數(shù)組元素賦以初值。如:
static int a[10]={0,1,2,3,4,5,6,7,8,9};
經(jīng)過上面的定義和初始化后,a[0]=0,a[1]=1,…,a[9]=9。
(2)初始化時(shí)可以只對一部分元素賦初值。例如:
static int a[10]={0,1,2,3,4};
定義的數(shù)組有10個(gè)元素,但只對其中前5個(gè)元素賦了初值,后5個(gè)元素初值為0。
(3)如果想使一個(gè)數(shù)組的元素值全部為0,可以用下面的方法:
static int a[10]={0,0,0,0,0,0,0,0,0,0};
不能用:
static int a[10]={0*10};
如果對static型數(shù)組不賦初值,系統(tǒng)會對定義的所有數(shù)組元素自動(dòng)賦以0值。
(4)在對全部數(shù)組元素賦初值時(shí),可以不指定數(shù)組長度。
3.一維數(shù)組的引用方法是:
C語言規(guī)定不能一次引用整個(gè)數(shù)組,引用時(shí)只能逐個(gè)元素引用,數(shù)組元素的表示形式為:
數(shù)組名[下標(biāo)]
下標(biāo)可以是整型常量或整型表達(dá)式。如:
a[0]=a[5]+a[7]-a[2*3];
9.2 二維數(shù)組的定義、初始化和引用
1.二維數(shù)組定義的一般形式為
類型說明符數(shù)組名[常量表達(dá)式][常量表達(dá)式]
C語言采用上述定義方法,我們可以把二維數(shù)組看做是一種特殊的一維數(shù)組:它的元素又是一維數(shù)組。在C語言中,二維數(shù)組中元素的排列順序是:先按行存放,再按列存放,即在內(nèi)存中先順序存放第一行的元素,再存放第二行的元素。
2.二維數(shù)組的初始化:二維數(shù)組可以用下面的方法初始化:
(1)分行給二維數(shù)組賦初值。如:
static int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
以上賦值把第一個(gè)花括號內(nèi)的數(shù)據(jù)賦給第一行元素,第二個(gè)花括號內(nèi)數(shù)據(jù)賦給第二元素…,即按行賦值。
(2)可以將所有的數(shù)據(jù)寫在一個(gè)花括號內(nèi),按數(shù)組排列的順序?qū)Ω髟刭x值。
(3)可以對數(shù)組的部分元素賦初值。如:
static int a[3][4]={{1},{5},{9}};
以上賦值的結(jié)果是:數(shù)組第一列的元素分別賦了初值1,5,9,其余元素的值都是0。
(4)如果對二維數(shù)組的全部元素都賦初值,則定義數(shù)組時(shí)對第一維的長度可以不指定,但第二維的長度不能省。
3.二維數(shù)組的引用:二維數(shù)組的元素可以表示為:
數(shù)組[下標(biāo)][下標(biāo)]
在引用二維數(shù)組時(shí),必須是單個(gè)元素,不能是整個(gè)數(shù)組名。下標(biāo)可以是一個(gè)表達(dá)式,但不能是變量。如果下標(biāo)是一個(gè)表達(dá)式,注意表達(dá)式的值不能超出數(shù)組定義的上、下限。
【計(jì)算機(jī)二級C語言考點(diǎn)解析】相關(guān)文章:
計(jì)算機(jī)二級C語言字考點(diǎn)歸納04-02
計(jì)算機(jī)二級《C語言》重要考點(diǎn)復(fù)習(xí)04-02
2017計(jì)算機(jī)二級C語言考點(diǎn)習(xí)題12-04
2017計(jì)算機(jī)二級C語言考點(diǎn)復(fù)習(xí)12-11
計(jì)算機(jī)二級C語言字考點(diǎn)歸納參考04-02
計(jì)算機(jī)二級C語言《基本知識》考點(diǎn)06-14
2016計(jì)算機(jī)二級《C語言》章節(jié)重要考點(diǎn)03-30