計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言輔導(dǎo)_第1頁(yè)
計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言輔導(dǎo)_第2頁(yè)
計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言輔導(dǎo)_第3頁(yè)
計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言輔導(dǎo)_第4頁(yè)
計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言輔導(dǎo)_第5頁(yè)
已閱讀5頁(yè),還剩49頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言計(jì)算機(jī)與軟件學(xué)院計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言考前輔導(dǎo)第一頁(yè),共七十六頁(yè)。計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言計(jì)算機(jī)與軟件學(xué)院主

內(nèi)

容一、試卷分析二、C語(yǔ)言概述三、數(shù)據(jù)類型及其運(yùn)算四、語(yǔ)句五、數(shù)組六、函數(shù)七、編譯預(yù)處理八、指針九、結(jié)構(gòu)體與共用體十、文件十一、主要算法分析第二頁(yè),共七十六頁(yè)。計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言計(jì)算機(jī)與軟件學(xué)院C語(yǔ)言復(fù)習(xí)考試的五大要點(diǎn)了解試卷,胸中有數(shù)深刻理解,強(qiáng)化概念歸納整理,適當(dāng)記憶注重實(shí)踐,融會(huì)貫通多做練習(xí),查漏補(bǔ)缺第三頁(yè),共七十六頁(yè)。計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言計(jì)算機(jī)與軟件學(xué)院命題基本原則及考核點(diǎn)語(yǔ)法:一、源程序結(jié)構(gòu)二、基本類型數(shù)據(jù)的表示和引用系統(tǒng)預(yù)定義數(shù)據(jù)類型基本類型常量的表示基本類型變量的聲明和直接引用基本類型變量的間接引用(指針應(yīng)用)三、表達(dá)式四、標(biāo)準(zhǔn)輸入/輸出五、語(yǔ)句第四頁(yè),共七十六頁(yè)。計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言計(jì)算機(jī)與軟件學(xué)院命題基本原則及考核點(diǎn)難題:語(yǔ)法:單選,基本概念填空,閱讀程序部分算法和數(shù)據(jù)結(jié)構(gòu)的綜合應(yīng)用:閱讀程序完善程序上機(jī)填空改錯(cuò):語(yǔ)法錯(cuò),語(yǔ)義錯(cuò),算法錯(cuò)編程:主函數(shù),功能函數(shù)第五頁(yè),共七十六頁(yè)。計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言計(jì)算機(jī)與軟件學(xué)院命題基本原則及考核點(diǎn)語(yǔ)法:六、函數(shù)函數(shù)定義函數(shù)聲明函數(shù)直接調(diào)用、間接調(diào)用(指針應(yīng)用)遞歸函數(shù)的定義與調(diào)用執(zhí)行流程標(biāo)識(shí)符作用域規(guī)則七、構(gòu)造類型數(shù)據(jù)成員的引用數(shù)組聲明和數(shù)組元素的直接引用結(jié)構(gòu)定義、結(jié)構(gòu)變量聲明和結(jié)構(gòu)變量成員的直接引用數(shù)組元素、結(jié)構(gòu)變量成員的間接引用(指針應(yīng)用)八、文件輸入/輸出九、預(yù)處理命令第六頁(yè),共七十六頁(yè)。計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言計(jì)算機(jī)與軟件學(xué)院命題基本原則及考核點(diǎn)一、常用算法

分類(排序)算法冒泡,選擇,插入檢索(查找)算法無(wú)序數(shù)據(jù)序列的查找(見(jiàn)遍歷算法)有序數(shù)據(jù)序列的查找:二分法遍歷算法一維數(shù)組和二維數(shù)組的遍歷單向鏈表的遍歷文件的遍歷其它基本算法遞推法,窮舉法,二分法,牛頓法求方程根,梯形法求定積分等.第七頁(yè),共七十六頁(yè)。計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言計(jì)算機(jī)與軟件學(xué)院命題基本原則及考核點(diǎn)二、典型問(wèn)題·數(shù)值問(wèn)題素?cái)?shù)問(wèn)題求因子整數(shù)拆位、反序數(shù)、回文數(shù)最大公約數(shù),最小公倍數(shù)求最值、平均值累加,累乘、階乘、級(jí)數(shù)(近似值計(jì)算)第八頁(yè),共七十六頁(yè)。計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言計(jì)算機(jī)與軟件學(xué)院命題基本原則及考核點(diǎn)三、典型問(wèn)題·一維數(shù)組數(shù)據(jù)處理生成(數(shù)列)變換(編碼/解碼,壓縮/還原,循環(huán)移位等)查找(指定值,最大值,最小值)排序插入(一個(gè)數(shù))刪除(一個(gè)數(shù),重復(fù)的多個(gè)數(shù))更新(一個(gè)數(shù))統(tǒng)計(jì)合并(兩個(gè)數(shù)列)集合運(yùn)算模擬高精度算術(shù)運(yùn)算第九頁(yè),共七十六頁(yè)。計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言計(jì)算機(jī)與軟件學(xué)院四、典型問(wèn)題·字符串?dāng)?shù)據(jù)處理子串查找,子串統(tǒng)計(jì),子串刪除,子串替換,整型/實(shí)型機(jī)器數(shù)與字符串表示相互轉(zhuǎn)換字符串變換(編碼/解碼,壓縮/還原)命題基本原則及考核點(diǎn)第十頁(yè),共七十六頁(yè)。計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言計(jì)算機(jī)與軟件學(xué)院命題基本原則及考核點(diǎn)五、典型問(wèn)題·二維數(shù)組數(shù)據(jù)處理生成(矩陣)變換(改變數(shù)值,改變數(shù)據(jù)存儲(chǔ)位置)查找(指定值,最小值,最大值)排序(按行排序,按列排序)插入(一個(gè)數(shù),一行數(shù),一列數(shù))刪除(一個(gè)數(shù),一行數(shù),一列數(shù))更新(一個(gè)數(shù),一行數(shù),一列數(shù))統(tǒng)計(jì)合并(兩個(gè)矩陣)第十一頁(yè),共七十六頁(yè)。計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言計(jì)算機(jī)與軟件學(xué)院命題基本原則及考核點(diǎn)六、典型問(wèn)題·一維結(jié)構(gòu)數(shù)組數(shù)據(jù)處理查找(直接查找,通過(guò)指向結(jié)構(gòu)數(shù)組的指針數(shù)組查找)排序(結(jié)構(gòu)數(shù)組排序,指向結(jié)構(gòu)數(shù)組的指針數(shù)組排序)插入(一條記錄)刪除(一條記錄)更新(一條記錄)統(tǒng)計(jì)第十二頁(yè),共七十六頁(yè)。計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言計(jì)算機(jī)與軟件學(xué)院筆試形式基礎(chǔ)知識(shí)和c語(yǔ)言程序設(shè)計(jì)兩部分組成基礎(chǔ)知識(shí)全部為單選題c語(yǔ)言程序設(shè)計(jì)部分分為單選題和填空題答題要求:?jiǎn)芜x題的答案必須涂劃在專用答題卡上;填空題的答案必須寫(xiě)在專用答題紙上(填空時(shí)注意:每個(gè)填空要按標(biāo)號(hào)順序填,一空占一行,不是一題

一行;因?yàn)橛械念}目一題包含多個(gè)空)。第十三頁(yè),共七十六頁(yè)。計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言計(jì)算機(jī)與軟件學(xué)院上機(jī)考試形式上機(jī)題總分為填空題

改錯(cuò)題:改錯(cuò)題中所存在的錯(cuò)誤主要是語(yǔ)法錯(cuò)誤(如數(shù)組的聲明錯(cuò)誤、函數(shù)定義錯(cuò)誤等)、運(yùn)行錯(cuò)誤(如包含不正確的頭文件)、邏輯錯(cuò)誤等。

編程題:編程題程序中,通常都涉及一個(gè)有一定難度的算法,考生須按題目要求實(shí)現(xiàn)第十四頁(yè),共七十六頁(yè)。計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言計(jì)算機(jī)與軟件學(xué)院二、C語(yǔ)言概述1、C程序的結(jié)構(gòu)、main函數(shù)一個(gè)C程序可由多個(gè)函數(shù)構(gòu)成,其中必有唯一的一個(gè)主函數(shù)。它是整個(gè)程序的入口,也是整個(gè)程序的出口。2、標(biāo)識(shí)符的命名規(guī)則規(guī)則:字母或下劃線開(kāi)始的字母、下劃線和數(shù)字串。C語(yǔ)句中的保留字不能作為標(biāo)識(shí)符。(教材P375)所有的函數(shù)名可以作為標(biāo)識(shí)符。3、C程序的上機(jī)過(guò)程編輯編譯連接運(yùn)行第十五頁(yè),共七十六頁(yè)。計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言計(jì)算機(jī)與軟件學(xué)院三、數(shù)據(jù)類型及其運(yùn)算1、常量、變量常量:固定不變的量。整型常量:十進(jìn)制(29)、八進(jìn)制(029)和十六進(jìn)制(0x29)實(shí)型常量:小數(shù)表示(123.456)、指數(shù)表示(1.23456e+002)字符常量:普通字符(‘A’

‘a(chǎn)’

‘2’

‘+’

‘,’)、轉(zhuǎn)義字符(‘\qqq’

‘\x符號(hào)常量: (一般用大寫(xiě)字符表示)#

define

PI

3.1415936第十六頁(yè),共七十六頁(yè)。計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言計(jì)算機(jī)與軟件學(xué)院三、數(shù)據(jù)類型及其運(yùn)算(續(xù)一)變量:整型:基本整型:

2字節(jié)無(wú)符號(hào)基本整型:

2字節(jié)長(zhǎng)整型:

4字節(jié)int

(

-32768--+32767

)unsigned

int

(

0—65535

)long

int

long無(wú)符號(hào)長(zhǎng)整型:實(shí)型:?jiǎn)尉?雙精度:4字節(jié)unsigned

long

int

或unsigned

long4字節(jié)8字節(jié)floatdouble字符型:有符號(hào)字符:無(wú)符號(hào)字符:1字節(jié)1字節(jié)char

(

-128—127

)unsigned

char

(

0—255

)第十七頁(yè),共七十六頁(yè)。計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言計(jì)算機(jī)與軟件學(xué)院三、數(shù)據(jù)類型及其運(yùn)算(續(xù)二)2、不同類型數(shù)據(jù)之間的混合運(yùn)算表達(dá)式值的類型由該式子中最長(zhǎng)的數(shù)據(jù)類型決定。float型無(wú)條件轉(zhuǎn)換成double型。char型無(wú)條件轉(zhuǎn)換成int型。*注意強(qiáng)制類型轉(zhuǎn)換的用法。(類型名)(int)x+y

等價(jià)于

((int)x)+y參與運(yùn)算的數(shù)據(jù)類型改變了,x的類型不變。3、算術(shù)運(yùn)算符和運(yùn)算表達(dá)式

(+

-

*

/

%)/

: a/b

a,b都是整型結(jié)果是整型%

:a%b a,b

都必須是整型第十八頁(yè),共七十六頁(yè)。計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言計(jì)算機(jī)與軟件學(xué)院三、數(shù)據(jù)類型及其運(yùn)算(續(xù)三)4、賦值運(yùn)算符和賦值表達(dá)式(右結(jié)合性)‘=’號(hào)左邊只能出現(xiàn)變量,具有強(qiáng)制類型轉(zhuǎn)換作用if

(

(c=getchar()

)

!=‘\n’)

…a*=x+y

等價(jià)于復(fù)合賦值運(yùn)算

a=a*(x+y)5、逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式加‘;’號(hào)構(gòu)成表達(dá)式語(yǔ)句作為其它語(yǔ)句的一部分或函數(shù)的參數(shù)時(shí)要加括號(hào)6、表達(dá)式的類型識(shí)別7、有關(guān)運(yùn)算符功能:

優(yōu)先級(jí):

結(jié)合性:

表達(dá)式的值:第十九頁(yè),共七十六頁(yè)。計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言計(jì)算機(jī)與軟件學(xué)院三、數(shù)據(jù)類型及其運(yùn)算(續(xù)四)8、關(guān)系運(yùn)算符和關(guān)系表達(dá)式<

<=

>

>=

(6級(jí))

==

!=

(7級(jí))注意:等于零和不等于零的表示方式

a

!a兩個(gè)實(shí)數(shù)判相等和判不相等的方法

a<x&&

x<b

不能寫(xiě)成

a<x<b

形式a==b

不能寫(xiě)成a=b

形式在多分枝if語(yǔ)句中的作用第二十頁(yè),共七十六頁(yè)。計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言計(jì)算機(jī)與軟件學(xué)院三、數(shù)據(jù)類型及其運(yùn)算(續(xù)五)9、邏輯運(yùn)算符和邏輯表達(dá)式&&(11級(jí))!(2級(jí))

||(12級(jí))注意:a

&&

b

&&

c

a

||

b

||

c

表達(dá)式!優(yōu)先級(jí)比算術(shù)運(yùn)算高!(a

&&

b

&&

c)等價(jià)于!a

||

!b

||

!c!a

&&

!b

&&

!c!(a

||

b

|| c)等價(jià)于復(fù)雜邏輯表達(dá)式出現(xiàn)在算術(shù)表達(dá)式中第二十一頁(yè),共七十六頁(yè)。計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言計(jì)算機(jī)與軟件學(xué)院三、數(shù)據(jù)類型及其運(yùn)算(續(xù)六)10、自增自減運(yùn)算符(右結(jié)合性)++

--

(2級(jí))注意:a++和++a

的區(qū)別對(duì)整型、實(shí)型和字符型都可進(jìn)行在運(yùn)算符為多個(gè)字符時(shí),盡可能多地自左而右組成完整的運(yùn)算符tc

對(duì)含運(yùn)算符++和--等表達(dá)式的處理形如

printf(“

%d

%d

\n”,i,i++);中函數(shù)參數(shù)求值出現(xiàn)在其它表達(dá)式中注意值的變化第二十二頁(yè),共七十六頁(yè)。計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言計(jì)算機(jī)與軟件學(xué)院三、數(shù)據(jù)類型及其運(yùn)算(續(xù)七)11、條件運(yùn)算符和條件表達(dá)式(右結(jié)合性)?

(13級(jí))注意:唯一三目運(yùn)算符不能和if語(yǔ)句完全等價(jià)右結(jié)合性12、位運(yùn)算符~

(按位取反a

>

b

?

x

:

y

?

m

:

ny應(yīng)先與后面的運(yùn)算符結(jié)合^

(按位異或

9級(jí))2級(jí))

&(按位與

8級(jí))|(按位或

10級(jí))13、數(shù)學(xué)算式的C語(yǔ)言表示第二十三頁(yè),共七十六頁(yè)。計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言計(jì)算機(jī)與軟件學(xué)院三、數(shù)據(jù)類型及其運(yùn)算(續(xù)八)14、輸入輸出函數(shù)輸入函數(shù):輸出函數(shù):getchar()putchar()gets()puts()scanf()printf()注意:1)

getchar()是無(wú)參函數(shù),從輸入設(shè)備讀取一個(gè)字符,包括不可顯示字符(一般形式c=getchar())。gets()和puts()函數(shù)只有一個(gè)參數(shù),且為字符串的首地址。scanf()函數(shù)的格式控制符中的普通字符照原樣輸入。printf()函數(shù)中的實(shí)參的求值順序從右向左。第二十四頁(yè),共七十六頁(yè)。計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言計(jì)算機(jī)與軟件學(xué)院四、語(yǔ)

句1、表達(dá)式語(yǔ)句2、函數(shù)調(diào)用語(yǔ)句3、復(fù)合語(yǔ)句4、空語(yǔ)句5、控制語(yǔ)句第二十五頁(yè),共七十六頁(yè)。計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言計(jì)算機(jī)與軟件學(xué)院四、語(yǔ)

句(選擇語(yǔ)句)(一)if 語(yǔ)句一般格式或if

(表達(dá)式)

語(yǔ)句if

(表達(dá)式)

語(yǔ)句1else

語(yǔ)句2注意:“表達(dá)式”應(yīng)有括號(hào),且可為各種類型的表達(dá)式“語(yǔ)句”如是復(fù)合語(yǔ)句應(yīng)有括號(hào)“語(yǔ)句”還可以是

if

語(yǔ)句數(shù)學(xué)分段函數(shù)的求值問(wèn)題繁瑣的二維數(shù)組填值問(wèn)題(結(jié)合循環(huán)語(yǔ)句,幾乎每次都考)第二十六頁(yè),共七十六頁(yè)。計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言計(jì)算機(jī)與軟件學(xué)院四、語(yǔ)

句(選擇語(yǔ)句_續(xù))(二)switch

語(yǔ)句一般格式switch

(表達(dá)式){

case

常量表達(dá)式1

:

語(yǔ)句1;break;case

常量表達(dá)式2

:

語(yǔ)句2;break;…

…case

常量表達(dá)式n:語(yǔ)句n;break;default:語(yǔ)句n+1

;}注意:執(zhí)行流程“語(yǔ)句”可為多個(gè)單個(gè)語(yǔ)句,此時(shí)不必加大括號(hào)default

語(yǔ)句可缺省switch語(yǔ)句嵌套使用時(shí),break語(yǔ)句只跳出它所處的哪層switch整型、字符型或枚舉類型根據(jù)需要選擇第二十七頁(yè),共七十六頁(yè)。計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言計(jì)算機(jī)與軟件學(xué)院四、語(yǔ)

句(循環(huán)語(yǔ)句_1)(一)當(dāng)型循環(huán)語(yǔ)句一般格式while

(表達(dá)式)

語(yǔ)句注意:“表達(dá)式”應(yīng)有括號(hào)“語(yǔ)句”為復(fù)合語(yǔ)句時(shí)應(yīng)加大括號(hào)在語(yǔ)句中應(yīng)有使“表達(dá)式”趨于不成立的語(yǔ)句存在在復(fù)合語(yǔ)句中含有break和continue語(yǔ)句時(shí)的情況:while

(表達(dá)式){

…break;…

…continue;}第二十八頁(yè),共七十六頁(yè)。計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言計(jì)算機(jī)與軟件學(xué)院四、語(yǔ)

句(循環(huán)語(yǔ)句_2)(二)直到型循環(huán)語(yǔ)句一般格式do

語(yǔ)句

while

(表達(dá)式);注意:無(wú)論表達(dá)式是否成立,循環(huán)體至少執(zhí)行一遍“表達(dá)式”應(yīng)有括號(hào),后面的“;”號(hào)不能丟“語(yǔ)句”為復(fù)合語(yǔ)句時(shí)應(yīng)加大括號(hào)在語(yǔ)句中應(yīng)有使“表達(dá)式”趨于不成立的語(yǔ)句存在在復(fù)合語(yǔ)句中含有break和continue語(yǔ)句時(shí)的情況:do{

…break;…

…continue;}

while

(表達(dá)式);第二十九頁(yè),共七十六頁(yè)。計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言計(jì)算機(jī)與軟件學(xué)院四、語(yǔ)

句(循環(huán)語(yǔ)句_3)(二)for 型循環(huán)語(yǔ)句一般格式for

(表達(dá)式1;表達(dá)式2;表達(dá)式3)語(yǔ)句注意:“語(yǔ)句”為復(fù)合語(yǔ)句時(shí)應(yīng)加大括號(hào)在語(yǔ)句中應(yīng)有使“表達(dá)式2”趨于不成立的語(yǔ)句存在在復(fù)合語(yǔ)句中含有break和continue語(yǔ)句時(shí)的情況:繁瑣的二維數(shù)組填值問(wèn)題(結(jié)合循環(huán)語(yǔ)句,幾乎每次都考)三種循環(huán)語(yǔ)句相互嵌套使用的情況第三十頁(yè),共七十六頁(yè)。計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言計(jì)算機(jī)與軟件學(xué)院五、數(shù)

組(一維數(shù)組)(一)一維數(shù)組定義:定義并初始化:類型名

數(shù)組名〔常量表達(dá)式〕;類型名

數(shù)組名〔常量表達(dá)式〕={表達(dá)式列表};或:類型名

數(shù)組名〔〕={表達(dá)式列表};引用:

只能引用下標(biāo)變量。注意:1、不能定義動(dòng)態(tài)數(shù)組

如:int

n

;int

a[n];2、只能在定義數(shù)組的時(shí)候初始化,以后不可整體賦值3、除字符數(shù)組外,不可整體引用數(shù)組4、一般用單循環(huán)語(yǔ)句引用數(shù)組元素5、內(nèi)存中連續(xù)存儲(chǔ),數(shù)組名為其存儲(chǔ)的首地址第三十一頁(yè),共七十六頁(yè)。計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言計(jì)算機(jī)與軟件學(xué)院五、數(shù)

組(二維數(shù)組)(二)二維數(shù)組定義:

類型名

數(shù)組名〔常量表達(dá)式1〕〔常量表達(dá)式2〕;定義并初始化:類型名

數(shù)組名〔〕〔常量表達(dá)式〕={…

…};引用:

只能引用下標(biāo)變量。注意:1、不能定義動(dòng)態(tài)數(shù)組2、只能在定義數(shù)組的時(shí)候初始化,以后不可整體賦值3、不可整體引用數(shù)組4、一般用雙重循環(huán)語(yǔ)句引用數(shù)組元素5、按行在內(nèi)存中連續(xù)存儲(chǔ),數(shù)組名為0行的行地址,a[i]為第i行第1個(gè)元素的地址

如:

int

a[3][3]

引用

a[0][5]

正確6、與雙重循環(huán)語(yǔ)句一起應(yīng)用(二維數(shù)組填值問(wèn)題)第三十二頁(yè),共七十六頁(yè)。計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言計(jì)算機(jī)與軟件學(xué)院五、數(shù)

組(字符數(shù)組)(三)字符數(shù)組(一維、二維)具有普通一維數(shù)組和二維數(shù)組的性質(zhì)。特點(diǎn):1、可以定義時(shí)初始化,也可以后用strcpy()賦值。2、可以引用下標(biāo)變量,也可整體引用(一維)3、一般用于存放字符串4、字符串的基本概念1)串結(jié)束符5、字符串操作函數(shù)的使用1)串長(zhǎng)度(編程實(shí)現(xiàn))3)串拼接(編程實(shí)現(xiàn))2)內(nèi)存單元地址

字符串2)串復(fù)制(賦值)4)串比較(不能用關(guān)系運(yùn)算符)6、字符串的輸入和輸出(char

c[20];)1)gets(c);和scanf(“%s”,c);區(qū)別7、二維字符數(shù)組的引用有下標(biāo)引用法和數(shù)組名加第一維下標(biāo)引用法第三十三頁(yè),共七十六頁(yè)。計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言計(jì)算機(jī)與軟件學(xué)院六、函

數(shù)(函數(shù)的定義)(一)、函數(shù)的定義函數(shù)可理解為一個(gè)程序段,給予一定的輸入就會(huì)產(chǎn)生一定的輸出。函數(shù)的定義就是在使用函數(shù)前對(duì)函數(shù)功能的完整性描述。一般形式:函數(shù)類型

函數(shù)名(參數(shù)列表){

…函數(shù)體…

…}注意:1、函數(shù)的定義就是函數(shù)的說(shuō)明1、函數(shù)由“頭部”和“函數(shù)體”構(gòu)成2、函數(shù)類型指函數(shù)返回值的類型(可以無(wú)返回值void)第三十五頁(yè),共七十六頁(yè)。計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言計(jì)算機(jī)與軟件學(xué)院六、函

數(shù)(函數(shù)的調(diào)用)(四)、函數(shù)的調(diào)用函數(shù)調(diào)用是將程序的執(zhí)行流程轉(zhuǎn)向被調(diào)用函數(shù),被調(diào)用函數(shù)執(zhí)行完畢后再回到主調(diào)用函數(shù)繼續(xù)執(zhí)行。注意:1、根據(jù)被調(diào)用函數(shù)的類型函數(shù)調(diào)用有三種形式:1)函數(shù)調(diào)用作為表達(dá)式的一部分(被調(diào)用函數(shù)有返回值)2)函數(shù)調(diào)用作為其它函數(shù)的參數(shù)(被調(diào)用函數(shù)有返回值)3)函數(shù)調(diào)用加“;”號(hào)構(gòu)成函數(shù)調(diào)用語(yǔ)句(被調(diào)用函數(shù)無(wú)返回值)2、函數(shù)調(diào)用的形式1)嵌套調(diào)用2)遞歸調(diào)用:遞歸函數(shù)的編程特點(diǎn)遞歸函數(shù)的閱讀特點(diǎn)第三十八頁(yè),共七十六頁(yè)。計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言計(jì)算機(jī)與軟件學(xué)院六、函

數(shù)(局部和全局變量)(六)、局部變量和全局變量(變量的空間觀)局部變量1、某函數(shù)內(nèi)部定義的變量,只在該函數(shù)內(nèi)部有效2、分程序(復(fù)合語(yǔ)句)內(nèi)部定義的變量,只在分程序中有效3、形參屬于局部變量全局變量1、函數(shù)外部定義的變量,作用范圍從定義點(diǎn)開(kāi)始到程序最后定義點(diǎn)之前的函數(shù)可用extern進(jìn)行申明來(lái)擴(kuò)展其作用范圍2、在全局變量的作用范圍內(nèi)如遇同名的宏定義,則在宏定義同名應(yīng)該用宏名置換(2004年秋選擇題26題)之后,第四十一頁(yè),共七十六頁(yè)。計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言計(jì)算機(jī)與軟件學(xué)院八、指

針(基本概念)(一)、地址和指針變量

i地址變量

i_point

(存儲(chǔ)其它變量地址的變量)指針變量作為函數(shù)的參數(shù)i_point20002000指針變量i_point指向變量ii第四十四頁(yè),共七十六頁(yè)。計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言計(jì)算機(jī)與軟件學(xué)院八、指

針(數(shù)組和指針)(二)、數(shù)組的指針和指向數(shù)組的指針變量由于數(shù)組連續(xù)存放的特性,當(dāng)指針指向數(shù)組(即數(shù)組元素)時(shí),通過(guò)指針指向的連續(xù)變化來(lái)指向數(shù)組中不同的元素以獲取對(duì)數(shù)組元素的操作。例:int

a[5],*p

;p=&a[3];*p

<==>

a[3]*&a[3]<==>a[3]

對(duì)a[3]的地址作間接存取運(yùn)算,結(jié)果為變量a[3]&*p

<==>

&a[3]

對(duì)*p的計(jì)算結(jié)果進(jìn)行取址運(yùn)算得到a[3]的地址a[0]

a[1]

a[2]

a[3]

a[4]*p的計(jì)算結(jié)果找到了整型數(shù)組成員a[p3]第四十五頁(yè),共七十六頁(yè)。計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言計(jì)算機(jī)與軟件學(xué)院八、指針(數(shù)組和指針_續(xù))數(shù)組名作函數(shù)參數(shù) 實(shí)參(調(diào)用點(diǎn))x=max(

a,10

)

;x=max(

a,10

)

;x=max(

p=a

,

10

)

;形參(定義點(diǎn))int

max

(

int

b[]

,

int

n

)int

max

(

int

*p

,

int

n

)int

max

(

int

b[]

,

int

n

)地址復(fù)用關(guān)系賦值調(diào)用關(guān)系地址復(fù)用關(guān)系x=max(

p=a

,

10

)

;指向多維數(shù)組的指針實(shí)參(調(diào)用點(diǎn))賦值調(diào)用關(guān)系

int

max

(

int

*p1,int

n

)形參(定義點(diǎn))地址復(fù)用關(guān)系

int

max

(

int

b[][4],

int

m,int

n

)x=max(

a,3,4

)

;x=max(a,3,4);

賦值調(diào)用關(guān)系int

max(

int

(*p)[4]

,

int

m,int

n

)int

max

(

int

b[][4]

,

int

m,int

n

)x=max(p=a,3,4);地址復(fù)用關(guān)系x=max(

p=a

,

3,4

)

;

賦值調(diào)用關(guān)系

intmax

(

int

(*p1)[4],int

m,int

n

)第四十六頁(yè),共七十六頁(yè)。計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言計(jì)算機(jī)與軟件學(xué)院八s指 針(表達(dá)式類型的判斷)如何判斷一個(gè)是數(shù)組元素s數(shù)組元素的地址?一s一維數(shù)組int

a[N];1sa是該數(shù)組在內(nèi)存中的起始地址。2s取地址運(yùn)算

&3s間接訪問(wèn)運(yùn)算

*4s下標(biāo)運(yùn)算

〔〕二s二維數(shù)組1sa是該數(shù)組的行起始地址。2s*(a+i)或a[i]表示第i行的第一個(gè)元素地址2s取地址運(yùn)算

&3s間接訪問(wèn)運(yùn)算

*4s下標(biāo)運(yùn)算

〔〕間接訪問(wèn)int

a[M][N];取地址元素:

a[i]s*(a+i)s*&a[i]s*a地址:

asa+is&

a[i]行地址:a+ii

行第1個(gè)元素地址:*(a+i)sa[i]元素:a[i][j]s*(*(a+i)+j)s*(a[i]+j)s(*(a+i))[j]地址:&a[i][j]s*(a+i)+jsa[i]+js&(*(a+i))[j]第四十七頁(yè),共七十六頁(yè)。計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言計(jì)算機(jī)與軟件學(xué)院八、指 針(字符串的指針)字符串概念1、以內(nèi)存某一起始字節(jié)開(kāi)始到‘\0’字符結(jié)束的若干字節(jié)。2、字符‘\0’的ASCII碼值為0。

3、字符串所占內(nèi)存空間為串長(zhǎng)加1。4、從C語(yǔ)言角度對(duì)字符串的理解:從內(nèi)存某一起始字節(jié)開(kāi)始,向地址值增大的方向以字節(jié)為單位連續(xù)尋找,如ASCII碼不等于0,則其所代表的字符為字符串中有效字符,如ASCII碼等于0,則字符串結(jié)束。5、內(nèi)存單元某一字節(jié)的地址。6、可用一維字符數(shù)組存放。7、可用指向字符變量的指針存放。8、看見(jiàn)常量字符串應(yīng)將其理解為第一個(gè)字符的地址。第四十八頁(yè),共七十六頁(yè)。計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言計(jì)算機(jī)與軟件學(xué)院八、指 針(指針的指針)指針的指針(二級(jí)間址訪問(wèn))指向指針數(shù)據(jù)的指針變量又稱為指針的指針,或指針鏈。其定義的一般格式:類型說(shuō)明符**指針變量名例:static

char

*name[]={“book”,”print”,”gread”};char

**p

;p=name

;定義指針的指針pp指向指針數(shù)組name則:*p即name[0]1)即name[1]name[1]name[2]*(p+i)

即name[i]0book\*0(p+print

\gread

\0pnamename數(shù)組

name[0]字符串第五十一頁(yè),共七十六頁(yè)。計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言計(jì)算機(jī)與軟件學(xué)院八、指 針(返回指針值的函數(shù)_續(xù))void

main(){

static

float

score[][4]={

…………

};/*search()返回指向?qū)嵭蛿?shù)據(jù)的指針*//*

p為指向?qū)嵭蛿?shù)據(jù)的指針*/float

*search();float

*p;

int

i,m

;scanf(“%d”,&m);printf(“The

scores

of

No.%d

are:\n”,m);p=search(score,m);

/*

score為行指針*/for(i=0;i<4;i++)printf(“%5.2f\t”,*(p+i));}float

*search(float

(*pointer)[4],int

n){

float

*pt;pt=*(pointer+n);return(pt);

}pointer+n為第n行的首地址,行指針。*(pointer+n)將指針從行控制轉(zhuǎn)化為列控制,等價(jià)于pointer[n],元素指針。第五十四頁(yè),共七十六頁(yè)。計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言計(jì)算機(jī)與軟件學(xué)院八、指

針(函數(shù)的指針_續(xù)1)幾點(diǎn)說(shuō)明:函數(shù)指針指向程序代碼區(qū),一般數(shù)據(jù)變量指針指向數(shù)據(jù)區(qū)。(*p)(),注意運(yùn)算符()優(yōu)先級(jí)高于*,*p兩側(cè)括號(hào)不能省。*p()表示返回指針值的函數(shù)。函數(shù)指針不能進(jìn)行++、--、+、-等運(yùn)算。函數(shù)可以通過(guò)函數(shù)名調(diào)用,也可通過(guò)函數(shù)指針調(diào)用。如果函數(shù)指針p指向函數(shù)f1,則對(duì)函數(shù)f1的調(diào)用方式是:(*p)(實(shí)參表);第五十六頁(yè),共七十六頁(yè)。計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言計(jì)算機(jī)與軟件學(xué)院八、指 針(函數(shù)的指針_續(xù)4)/*函數(shù)max(),min(),add()定義略*/main(){

int

max(),min(),add();int

a,b

;printf(“Enter

a

and

b:”);scanf(“%d%d”,&a,&b);printf(“max=”);

process(a,b,max);printf(“min=”);

process(a,b,min);printf(“sum=”);

process(a,b,add);}process(int

x,int

y,int

(*fun)()){

int

result;result=(*fun)(x,y);printf(“%d\n”,result);

}三次調(diào)用傳遞了三個(gè)不同的函數(shù)入口地址利用函數(shù)指針調(diào)用不同的函數(shù),增加了函數(shù)調(diào)用的靈活性第五十九頁(yè),共七十六頁(yè)。計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言計(jì)算機(jī)與軟件學(xué)院九、結(jié)構(gòu)體與共用體二、結(jié)構(gòu)體變量的引用只可引用最低級(jí)成員struct

data{

int

month;int

day;int

year;};struct{

int

num;

char

name[20];char

sex;int

age;structdata

birthday;charaddr[30];}

stud;

[0]串首地址正確引用注意:1、運(yùn)算符“.”為左結(jié)合性,第一級(jí)2、成員類型決定引用類型3、引用結(jié)構(gòu)體成員可像普通變量一樣賦值、輸入、輸出、運(yùn)算第六十一頁(yè),共七十六頁(yè)。計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言計(jì)算機(jī)與軟件學(xué)院九、結(jié)構(gòu)體與共用體有了指向結(jié)構(gòu)體變量的指針,對(duì)結(jié)構(gòu)體變量中成員引用的三種方法:1、結(jié)構(gòu)體變量名.成員名2、(*p).成員名3、p->成員名“*”號(hào)運(yùn)算低于“.”運(yùn)算P->n++++p->n(++p)->n第六十三頁(yè),共七十六頁(yè)。計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言計(jì)算機(jī)與軟件學(xué)院九、結(jié)構(gòu)體與共用體共用體一、共用體變量的定義union

data{

char

ch;float

f;int

i

;};union

data

a,b,c;union

data{

char

ch;float

f;int

i

;}

a,b,c;union{

char

ch;float

f;int i

;}

a,b,c;union

data{

char

ch[10];float

f;int

b[5]

;}

a;占10個(gè)字節(jié)內(nèi)存空間第六十六頁(yè),共七十六頁(yè)。計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言計(jì)算機(jī)與軟件學(xué)院九、結(jié)構(gòu)體與共用體二、共用體變量的引用只可引用最低級(jí)成員

共用體變量名.成員名不能引用共用體變量,只能引用其成員。出現(xiàn)在結(jié)構(gòu)體的定義中。#include

"stdio.h"struct{

int

num;char

name[10];char

sex;char

job;union{int

class;char

p

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論