《C語(yǔ)言程序設(shè)計(jì) 》課件-第4章_第1頁(yè)
《C語(yǔ)言程序設(shè)計(jì) 》課件-第4章_第2頁(yè)
《C語(yǔ)言程序設(shè)計(jì) 》課件-第4章_第3頁(yè)
《C語(yǔ)言程序設(shè)計(jì) 》課件-第4章_第4頁(yè)
《C語(yǔ)言程序設(shè)計(jì) 》課件-第4章_第5頁(yè)
已閱讀5頁(yè),還剩83頁(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)介

項(xiàng)目四數(shù)組——歌曲比賽評(píng)分統(tǒng)計(jì)任務(wù)一項(xiàng)目說(shuō)明任務(wù)二了解一維數(shù)組任務(wù)三一維數(shù)組的定義任務(wù)四一維數(shù)組元素的引用任務(wù)五一維數(shù)組的初始化任務(wù)六一維數(shù)組的簡(jiǎn)單應(yīng)用任務(wù)七項(xiàng)目流程圖任務(wù)八項(xiàng)目實(shí)現(xiàn)任務(wù)九項(xiàng)目擴(kuò)展一 任務(wù)十項(xiàng)目擴(kuò)展二 思考與練習(xí)

任務(wù)一項(xiàng)目說(shuō)明

下面以一個(gè)例子來(lái)說(shuō)明評(píng)分規(guī)則。例如,某歌手的得分如表4.1所示。

表中,“評(píng)委3”給出的成績(jī)?yōu)?.9,是最高分;“評(píng)委9”給出的成績(jī)?yōu)?.0,是最低分。

該歌手的最后得分為(成績(jī)之和-9.9-8.0)/8。

任務(wù)二了解一維數(shù)組

在科學(xué)研究、工程技術(shù)及日常生活中,常常需要處理這樣的數(shù)據(jù),例如,10個(gè)評(píng)委對(duì)歌手的評(píng)分,學(xué)生各個(gè)科目的成績(jī),商業(yè)部門記錄的每個(gè)月份的銷售額,氣象部門記錄的每天的降雨量。每組數(shù)據(jù)都具備這樣的特點(diǎn):每組都有多個(gè)數(shù)據(jù),且每組的各個(gè)數(shù)據(jù)類型相同。例如,“10個(gè)評(píng)委對(duì)歌手的評(píng)分”就有10個(gè)數(shù)據(jù),且這10個(gè)數(shù)據(jù)都是表示成績(jī),都是實(shí)型。

在程序設(shè)計(jì)中,為了處理方便,通常把具有相同類型的若干變量按有序的形式組織起來(lái),這些按序排列的同類數(shù)據(jù)元素的集合稱為數(shù)組。在C語(yǔ)言中,數(shù)組屬于構(gòu)造數(shù)據(jù)類型。一個(gè)數(shù)組可以分解為多個(gè)數(shù)組元素,這些數(shù)組元素可以是基本數(shù)據(jù)類型或是構(gòu)造類型。因此按數(shù)組元素的類型不同,數(shù)組又可分為數(shù)值數(shù)組、字符數(shù)組、指針數(shù)組、結(jié)構(gòu)數(shù)組等各種類型。本項(xiàng)目介紹數(shù)值數(shù)組,其余的在后續(xù)項(xiàng)目中介紹。

任務(wù)三一維數(shù)組的定義

1.簡(jiǎn)例項(xiàng)目中的數(shù)組定義為

floatscore[10];

●score:用戶定義的數(shù)組的名稱;

[10]:數(shù)組的長(zhǎng)度,10個(gè)評(píng)委打分,故score數(shù)組包含10個(gè)元素;

float:數(shù)組元素的類型,評(píng)委打分都是實(shí)型數(shù)據(jù)。

2.相關(guān)知識(shí)說(shuō)明

在C語(yǔ)言中使用數(shù)組必須先定義后使用。一維數(shù)組的定義方式為

類型說(shuō)明符數(shù)組名[常量表達(dá)式];

其中,

類型說(shuō)明符:任一種基本數(shù)據(jù)類型或構(gòu)造數(shù)據(jù)類型,即數(shù)組元素的類型。

數(shù)組名:用戶定義的數(shù)組標(biāo)識(shí)符。

常量表達(dá)式:表示數(shù)組元素的個(gè)數(shù),也稱為數(shù)組的長(zhǎng)度。

例如,

inta[10]; 聲明數(shù)組a,有10個(gè)元素,且10個(gè)元素都是int型的。

floatb[10],c[20];聲明數(shù)組b,有10個(gè)元素,數(shù)組c,有20個(gè)元素,且兩個(gè)數(shù)

組的所有元素都是float型的。

charch[20];聲明數(shù)組ch,有20個(gè)元素,且20個(gè)元素都是char型的。

對(duì)于數(shù)組類型說(shuō)明應(yīng)注意以下幾點(diǎn):

①數(shù)組的類型實(shí)際上是指數(shù)組元素的取值類型。對(duì)于同一個(gè)數(shù)組,其所有元素的數(shù)據(jù)類型都是相同的。

②數(shù)組名的書(shū)寫(xiě)規(guī)則應(yīng)符合標(biāo)識(shí)符的書(shū)寫(xiě)規(guī)定。

③數(shù)組名不能與其他變量名相同。

④要使用方括號(hào),而不能使用圓括號(hào)。

⑤常量表達(dá)式必須是整型數(shù)據(jù),而不能是其他類型的數(shù)據(jù)。

⑥數(shù)組的長(zhǎng)度只能是常量或常量表達(dá)式,而不能是變量或變量表達(dá)式,即數(shù)組的長(zhǎng)度是固定的。

⑦允許在同一個(gè)類型說(shuō)明中,說(shuō)明多個(gè)數(shù)組和多個(gè)變量。

任務(wù)四一維數(shù)組元素的引用

1.簡(jiǎn)例

score[0];sum=score[1]+score[2];

if(score[4]>score[5])

max=score[4];

else

max=score[5];

2.相關(guān)知識(shí)說(shuō)明

數(shù)組元素是組成數(shù)組的基本單元。在C語(yǔ)言中只能逐個(gè)地使用數(shù)組元素,而不能一次引用整個(gè)數(shù)組。

數(shù)組元素也是一種變量,其標(biāo)識(shí)方法為數(shù)組名后跟一個(gè)下標(biāo)。下標(biāo)表示了元素在數(shù)組中的順序號(hào),并且下標(biāo)從0開(kāi)始,最后一個(gè)元素的下標(biāo)為“數(shù)組長(zhǎng)度-1”。

數(shù)組元素的一般形式為

數(shù)組名[下標(biāo)]

其中下標(biāo)只能為整型常量或整型表達(dá)式。

我們以項(xiàng)目中聲明的數(shù)組“floatscore[10];”為例,則以下都是合法的數(shù)組元素引用:

下面介紹數(shù)組score在內(nèi)存中是如何存放的,并進(jìn)一步理解下標(biāo)的含義。在C編譯系統(tǒng)中,每一個(gè)float型變量在內(nèi)存中占4個(gè)字節(jié),該數(shù)組包含10個(gè)元素,故在內(nèi)存中一共占4×10=40個(gè)字節(jié),且這40個(gè)字節(jié)是連續(xù)的,如圖4.1所示。

圖4.1數(shù)組在內(nèi)存中的存放

從圖上我們可以看出,數(shù)組下標(biāo)表示了數(shù)組元素相對(duì)于數(shù)組首地址的偏移量,故下標(biāo)從0開(kāi)始。一維數(shù)組的數(shù)組元素在內(nèi)存中按順序存放。數(shù)組名代表數(shù)組的首地址,即score的值與score[0]的地址值相同。

任務(wù)五一維數(shù)組的初始化

1.簡(jiǎn)例

floatscore[10]={0,1,2,3,4,5,6,7,8,9};

2.相關(guān)知識(shí)說(shuō)明

給數(shù)組賦值的方法除了使用賦值語(yǔ)句,如score[0]=8.9;對(duì)數(shù)組元素逐個(gè)賦值外,還可采用初始化賦值的方法。數(shù)組初始化賦值是指在數(shù)組定義時(shí)給數(shù)組元素賦予初值。數(shù)組初始化是在編譯階段進(jìn)行的,這樣將減少運(yùn)行時(shí)間,提高效率。

初始化賦值的一般形式為

類型說(shuō)明符數(shù)組名[常量表達(dá)式]={值,值……值};

其中在{}中的各數(shù)據(jù)值即為各元素的初值,各值之間用逗號(hào)間隔。

例如,

floatscore[10]={0,1,2,3,4,5,6,7,8,9};

相當(dāng)于

score[0]=0;socre[1]=1;...;socre[9]=9;

C語(yǔ)言對(duì)數(shù)組的初始化賦值還有以下幾點(diǎn)規(guī)定:

①可以只給部分元素賦初值。

當(dāng){}中值的個(gè)數(shù)少于元素個(gè)數(shù)時(shí),只給前面部分元素賦值。

②只能給元素逐個(gè)賦值,不能給數(shù)組整體賦值。

③如給全部元素賦值,則在數(shù)組說(shuō)明中,可以不給出數(shù)組元素的個(gè)數(shù)。

任務(wù)六一維數(shù)組的簡(jiǎn)單應(yīng)用

下面以幾個(gè)簡(jiǎn)例來(lái)說(shuō)明一維數(shù)組的基本應(yīng)用,以理解“數(shù)組問(wèn)題通常用循環(huán)來(lái)解決”的規(guī)則,并為項(xiàng)目實(shí)現(xiàn)做準(zhǔn)備。

【例4-1】從鍵盤輸入10個(gè)評(píng)委的評(píng)分到數(shù)組score。

我們發(fā)現(xiàn)以上10條語(yǔ)句非常相似,只有下標(biāo)不同,因此可改用循環(huán)的方式實(shí)現(xiàn),并用數(shù)組的下標(biāo)做循環(huán)控制變量。

(2)用循環(huán)的方式輸入各元素。

inti;

for(i=0;i<10;i++)

scanf("%f",&score[i]);

【例4-2】對(duì)10個(gè)評(píng)委的評(píng)分求總分。

(1)簡(jiǎn)單累加求和。

同樣我們發(fā)現(xiàn)以上10條語(yǔ)句非常相似,只有下標(biāo)不同,因此也可改用循環(huán)的方式實(shí)現(xiàn),并用數(shù)組的下標(biāo)做循環(huán)控制變量。

(2)用循環(huán)的方式累加求和。

inti;

floatsum=0;

for(i=0;i<10;i++)

sum=sum+score[i];

本例程序中,把a(bǔ)[0]送入max中,然后從a[1]到a[9]逐個(gè)與max中的內(nèi)容比較,若比max的值大,則把該變量送入max中,因此max總是在已比較過(guò)的變量中為最大者。比較結(jié)束,max為這10個(gè)數(shù)據(jù)中的最大值。

【例4-6】對(duì)這10個(gè)評(píng)委的評(píng)分按從小到大的順序重新排列。

本例程序采用的是經(jīng)典的冒泡排序法,對(duì)數(shù)組元素按從小到大的順序排序。冒泡排序算法如下。

依次比較相鄰的兩個(gè)數(shù),將小數(shù)放在前面,大數(shù)放在后面。即在第一趟首先比較第1個(gè)和第2個(gè)數(shù),將小數(shù)放前,大數(shù)放后。然后比較第2個(gè)數(shù)和第3個(gè)數(shù),將小數(shù)放前,大數(shù)放后,如此繼續(xù),直至比較最后兩個(gè)數(shù),將小數(shù)放前,大數(shù)放后,至此第一趟結(jié)束,將最大的數(shù)放到了最后。在第二趟:仍從第一對(duì)數(shù)開(kāi)始比較(因?yàn)榭赡苡捎诘?個(gè)數(shù)和第3個(gè)數(shù)的交換,使得第1個(gè)數(shù)不再小于第2個(gè)數(shù)),將小數(shù)放前,大數(shù)放后,一直比較到倒數(shù)第二個(gè)數(shù)(倒數(shù)第一的位置上已經(jīng)是最大的了),第二趟結(jié)束,在倒數(shù)第二的位置上得到一個(gè)新的最大數(shù)(其實(shí)在整個(gè)數(shù)列中是第二大的數(shù))。

本例用二重循環(huán)實(shí)現(xiàn),外循環(huán)變量設(shè)為i,內(nèi)循環(huán)變量設(shè)為j。外循環(huán)重復(fù)9次,內(nèi)循環(huán)依次重復(fù)9,8,…,1次。每次進(jìn)行比較的兩個(gè)元素都是與內(nèi)循環(huán)j有關(guān)的,它們可以分別用a[j]和a[j+1]標(biāo)識(shí),i的值依次為1,2,…,9,對(duì)于每一個(gè)i,j的值依次為1,2,…,10-i。

任務(wù)七項(xiàng)目流程圖

我們對(duì)于項(xiàng)目的實(shí)現(xiàn)思路已經(jīng)清晰,下面給出其流程圖,如圖4.2所示。

也可以采用對(duì)評(píng)分排序然后求中間8個(gè)數(shù)據(jù)的平均數(shù)的方法,來(lái)計(jì)算選手的最后得分。

圖4.2流程圖

任務(wù)八項(xiàng)目實(shí)現(xiàn)

本項(xiàng)目——歌曲比賽評(píng)分系統(tǒng)的程序代碼如下:完整程序一:

任務(wù)九項(xiàng)目擴(kuò)展一

1.了解二維數(shù)組前面介紹的數(shù)組只有一個(gè)下標(biāo),稱為一維數(shù)組。在實(shí)際問(wèn)題中有很多是二維的或多維的,多維數(shù)組元素有多個(gè)下標(biāo),以標(biāo)識(shí)它在數(shù)組中的位置。本部分只介紹二維數(shù)組,多維數(shù)組可由二維數(shù)組類推而得到。

2.二維數(shù)組的定義

二維數(shù)組定義的一般形式是:

類型說(shuō)明符數(shù)組名[常量表達(dá)式1][常量表達(dá)式2];

其中常量表達(dá)式1表示第一維下標(biāo)的長(zhǎng)度,常量表達(dá)式2表示第二維下標(biāo)的長(zhǎng)度。下面先舉簡(jiǎn)單的例子來(lái)理解二維數(shù)組的定義。例如,

inta[3][4];

這是一個(gè)三行四列的數(shù)組,數(shù)組名為a,其數(shù)組元素的類型為整型,該數(shù)組的元素一共有3×4=12個(gè)。

3.二維數(shù)組元素的引用

二維數(shù)組元素的引用格式是:

數(shù)組名[下標(biāo)1][下標(biāo)2];

“下標(biāo)1”表示第一維的下標(biāo),也稱行下標(biāo),取值從0開(kāi)始,到“第一維的長(zhǎng)度

-1”結(jié)束。

“下標(biāo)2”表示第二維的下標(biāo),也稱列下標(biāo),取值從0開(kāi)始,到“第二維的長(zhǎng)度

-1”結(jié)束。上例中的12個(gè)元素可表示為

其中,a[0][0]表示數(shù)組第1行、第1列的元素;

a[0][1]表示數(shù)組第1行、第2列的元素;

a[2][3]表示數(shù)組第3行、第4列的元素。

數(shù)組第一行元素的行下標(biāo)都為0,第二行的行下標(biāo)都為1,以此類推;數(shù)組第一列的列下標(biāo)都為0,第二列的列下標(biāo)都為1,以此類推。

二維數(shù)組元素在內(nèi)存中按照行優(yōu)先的順序存儲(chǔ),即首先存儲(chǔ)第一行的元素,然后依次存儲(chǔ)后面各行的元素。

二維數(shù)組可以看做是由一維數(shù)組的嵌套而構(gòu)成的。設(shè)一維數(shù)組的每個(gè)元素都又是一個(gè)數(shù)組,就組成了二維數(shù)組。換言之,一個(gè)二維數(shù)組也可以分解為多個(gè)一維數(shù)組。例如,二維數(shù)組a[3][4],可分解為3個(gè)一維數(shù)組,其數(shù)組名分別為a[0]、a[1]、a[2]。

對(duì)這3個(gè)一維數(shù)組不需另作說(shuō)明即可使用。這3個(gè)一維數(shù)組各自都有4個(gè)元素,例如,一維數(shù)組a[0]的元素為a[0][0]、a[0][1]、a[0][2]、a[0][3]。

那么,拓展項(xiàng)目中的數(shù)組應(yīng)該如何定義呢?我們假設(shè)有如表4.2所示的一張計(jì)分表。

該表一共有50行,分別記錄了50個(gè)選手的得分;該表一共有10列,分別記錄了10個(gè)評(píng)委對(duì)各個(gè)選手的打分,故數(shù)組應(yīng)定義為

floatscore[50][10];

score[0]是一個(gè)一維數(shù)組,記錄了“選手1”的得分。score[0]有10個(gè)元素,分別為socre[0][0]、socre[0][1]、socre[0][2]、……、socre[0][9],依次記錄了10個(gè)評(píng)委給“選手1”的評(píng)分。

4.二維數(shù)組的初始化

二維數(shù)組初始化是指在類型說(shuō)明時(shí)給各元素賦初值。可以有以下幾種初始化方式。

(1)按行對(duì)各元素賦初值,格式如下:

inta[3][4]={{80,75,92,100},{61,65,71,80},{59,63,70,77}};

(2)按數(shù)組元素在內(nèi)存中排列的順序?qū)Ω髟刭x初值,格式如下:

inta[3][4]={80,75,92,100,61,65,71,80,59,63,70,77};

這兩種賦初值的結(jié)果是完全相同的。

(3)給部分元素賦初值,格式如下:

inta[3][4]={{1},{4}};

其余元素默認(rèn)為0,相當(dāng)于:

inta[3][4]={{1,0,0,0},{4,0,0,0},{0,0,0,0}};

對(duì)于二維數(shù)組初始化,如對(duì)全部元素賦初值,則第一維的長(zhǎng)度可以不給出。例如,

inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};

可以寫(xiě)為

inta[][4]={1,2,3,4,5,6,7,8,9,10,11,12};

5.拓展后項(xiàng)目的實(shí)現(xiàn)

6.二維數(shù)組經(jīng)典案例

任務(wù)十項(xiàng)目擴(kuò)展二

1.字符數(shù)組的定義形式與前面介紹的數(shù)值數(shù)組相同。例如:

charc[10];

charc[5][10];由于字符型和整型通用,也可以定義為intc[10],但這時(shí)每個(gè)數(shù)組元素占2個(gè)字節(jié)的內(nèi)存單元。

2.字符數(shù)組的初始化

字符數(shù)組也允許在定義時(shí)作初始化賦值。例如:

charc[]={'c','','p','r','o','g','r','a','m'};

可寫(xiě)為

charc[]={"Cprogram"};

或:

charc[]="Cprogram";

第2、3種寫(xiě)法一致,都是用字符串來(lái)初始化字符數(shù)組。這種方式比用字符逐個(gè)賦值要多占一個(gè)字節(jié),用于存放字符串結(jié)束標(biāo)志“\0”。上面的數(shù)組c在內(nèi)存中的實(shí)際存放情況為

“\0”是由C編譯系統(tǒng)自動(dòng)加上的。由于采用了“\0”標(biāo)志,所以在用字符串賦初值時(shí)一般無(wú)須指定數(shù)組的長(zhǎng)度,而由系統(tǒng)自行處理。

3.字符數(shù)組元素的引用

引用方式和數(shù)值型數(shù)組元素的引用方式相同,如c[0]、c[1]等。

4.字符數(shù)組的輸入輸出

(1)采用格式控制符%c實(shí)現(xiàn)輸入輸出,例如:

for(i=0;i<10;i++)

printf("%c",c[i]);

這種方式用得比較少。

(2)采用格式控制符%s實(shí)現(xiàn)輸入輸出,例如:

scanf("%s",c);

printf("%s",c);

注意:參數(shù)為字符數(shù)組的名字。另外,當(dāng)用scanf函數(shù)輸入字符串時(shí),字符串中不能含有空格,否則將以空格作為串的結(jié)束符。

例如,當(dāng)輸入的字符串中含有空格時(shí),運(yùn)行情況為

inputstring:

thisisabook

輸出為this。

(3)采用字符串函數(shù)實(shí)現(xiàn)輸入輸出,這將在后面的內(nèi)容中詳細(xì)講解。

5.字符串處理函數(shù)

C語(yǔ)言提供了豐富的字符串處理函數(shù),大致可分為字符串的輸入、輸出、合并、修改、比較、轉(zhuǎn)換、復(fù)制、搜索幾類。使用這些函數(shù)可大大減輕編程的負(fù)擔(dān)。用于輸入輸出的字符串函數(shù),在使用前應(yīng)包含頭文件"stdio.h",使用其他字符串函數(shù)則應(yīng)包含頭文件"string.h"。

下面介紹幾個(gè)最常用的字符串函數(shù)。

(1)字符串輸出函數(shù)puts。

格式:puts(字符數(shù)組名)

功能:把字符數(shù)組中的字符串輸出到顯示器,即在屏幕上顯示該字符串。

功能:從標(biāo)準(zhǔn)輸入設(shè)備鍵盤上輸入一個(gè)字符串,允許輸入空格,以回車鍵作為字符串輸入結(jié)束標(biāo)志。

【例4-8】

#include"stdio.h"

main()

{

charstr[10];

printf("pleaseinputstring:\n");

gets(str);

puts(str);

}

(3)字符串連接函數(shù)strcat。

格式:strcat(字符數(shù)組名1,字符數(shù)組名2)

功能:把字符數(shù)組2中的字符串連接到字符數(shù)組1中字符串的后面,并刪去字符串1后的串標(biāo)志"\0"。本函數(shù)返回值是字符數(shù)組1的首地址。

(4)字符串拷貝函數(shù)strcpy。

格式:strcpy(字符數(shù)組名1,字符數(shù)組名2)

功能:把字符數(shù)組2中的字符串拷貝到字符數(shù)組1中。串結(jié)束標(biāo)志"\0"也一同拷貝。

(5)字符串比較函數(shù)strcmp。

格式:strcmp(字符數(shù)組名1,字符數(shù)組名2)

功能:按照ASCII碼順序,依次比較兩個(gè)數(shù)組中的字符串,并返回比較結(jié)果。

字符串1=字符串2,返回值=0;

字符串1>字符串2,返回值>0;

字符串1<字符串2,返回值<0。

本函數(shù)也可用于比較兩個(gè)字符串常量,或比較數(shù)組和字符串常量。

(6)測(cè)字符串長(zhǎng)度函數(shù)strlen。

格式:strlen(字符數(shù)組名)

功能:測(cè)字符串的實(shí)際長(zhǎng)度(不含字符串結(jié)束標(biāo)志“\0”)并作為函數(shù)返回值。

思?考?與?練?習(xí)

一、選擇題

1.已知:inta[10];則對(duì)a數(shù)組元素的正確引用是()。

A.a(chǎn)[10]

B.a(chǎn)[3.5]

C.a(chǎn)(5)

D.a(chǎn)[10-10]

2.在C語(yǔ)言中,二維數(shù)組元素在內(nèi)存中的存放順序是()。

A.按行存放 B.按列存放

C.由用戶定義 D.由函數(shù)決定

3.已知:inta[][3]={1,2,3,4,5,6,7};

則數(shù)組a的第一維的大小是()。

A.2 B.3

C.4 D.無(wú)法確定

4.初始化語(yǔ)句正確的是()。

A.inta[1][4]={1,2,3,4,5};

B.floatx[3][]={{1},{2},{3}};

C.longb[2][3]={{1},{2},{3}};

D.inty[][3]={{1,2},{3},{4}};

5.若要實(shí)現(xiàn)如果字符串s1大于字符串s2,則執(zhí)行語(yǔ)句1,應(yīng)當(dāng)使用()。

A.if(s1>s2)語(yǔ)句1

B.if(strcmp(s1,s2))語(yǔ)句1

C.if(strcmp(s2,s1)>0)語(yǔ)句1

D.if(strcmp(s1,s2)>0)語(yǔ)句1

6.已知:charstr1[10],str2[10]=“Hello!”;

則在程序中能夠?qū)⒆址癏ello!”賦給數(shù)組str1的正確語(yǔ)句是()。

A.str1=“Hello!”

B.strcpy(str1,str2)

C.str1=str2 D.strcpy(str2,str1)

7.下面數(shù)組的定義合法的是()。

A.inta[]={0,1,2,3,4,5,6}; .

B.charstr="string";

C.floata[2][]={{1.1,1.2},{1.3,1.4}};

D.charstr[]="string";

8.表達(dá)式strcmp("box","boss")的值是一個(gè)()。

A.正數(shù) B.0

C.負(fù)數(shù) D.不確定

9.下列程序執(zhí)行后的輸出結(jié)果是()。

main(){

inti,j,a[3][3];

for(i=0;i<3;i++)

for(j=0;j<=i;j++)

a[i][j]=i*j;

printf("%d,%d\n",a[1][2],a[2][1]);

}

A.2,2 B.不確定,2

C.2 D.2,0

10.下列程序執(zhí)行后的輸出結(jié)果是()。

main(){

inti,j,s=0,a[3][3]={1,2,3,4,5,6};

for(i=0;i<3;i++)

for(j=0;j<=i;j++)

s+=a[i][j];

printf("%d\n",s);

}

A.18 B.19

C.20 D.21

二、填空題

1.以下程序段的執(zhí)行結(jié)果是________。

main(){

charstr[30];

strcpy(&str[0],"ch");

strcpy(&str[1],"def");

strcpy(&str[2],"abc");

}

2.以下程序段為數(shù)組的所有元素輸入數(shù)據(jù),請(qǐng)?zhí)羁铡?/p>

main(){

inta[10],i;

i=0;

while(i<10)

;

}

3.以下程序段的功能是將數(shù)組str下標(biāo)值為偶數(shù)的元素從小到大排列,其他元素不變,請(qǐng)?zhí)羁铡?/p>

4.以下程序的執(zhí)行結(jié)果是________。

5.以下程序的執(zhí)行結(jié)果是________。

6.以下程序的功能是:求二維數(shù)組元素的最大值以及最大元素的下標(biāo),請(qǐng)?zhí)羁铡?/p>

7.以下程序的功能是:將整數(shù)插入到有序數(shù)組中,并保持?jǐn)?shù)組從小到大的順序,請(qǐng)?zhí)羁铡?/p>

8.閱讀程序,并分析該程序的功能是________。

9.閱讀程序,并分析該程序的功能是________。

10.以下程序段的執(zhí)行結(jié)果是______________。

溫馨提示

  • 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)論