




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、習(xí)題 4一、單項(xiàng)選擇題1. 若有說明 int a34;則a數(shù)組元素的非法引用是【 】A. a02*1 B. a13 C. a4-20 D. a04【答案】 D【解析】數(shù)組下標(biāo)從0開始,a04的列下標(biāo)越界。2. 在C+語言中,引用數(shù)組元素時,其數(shù)組下標(biāo)的數(shù)據(jù)類型允許是【 】A. 整型常量 B. 整型表達(dá)式 C. 整型常量或整型表達(dá)式 D. 任何類型的表達(dá)式【答案】 C3. 以下不正確的定義語句是【 】A. double x5=2.0,4.0,6.0,8.0,10.0;B. int y5=0,1,3,5,7,9;C. char c1=1,2,3,4,5;D. char c2=x10,xa,x8;【
2、答案】 B【解析】初始值的個數(shù)大于數(shù)組的大小,系統(tǒng)會出現(xiàn)編譯錯誤。4. 對以下說明語句的正確理解是【 】int a10=6,7,8,9,10;A. 將5個初值依次賦給a1至a5B. 將5個初值依次賦給a0至a4C. 將5個初值依次賦給a6至a10D. 因?yàn)閿?shù)組長度與初值的個數(shù)不相同,所以此語句不正確【答案】 B5. 若有說明:int a 4=0,0;則下面不正確的敘述是【 】A. 數(shù)組a的每個元素都可得到初值0B. 二維數(shù)組a的第一維大小為1C. 當(dāng)初值的個數(shù)能被第二維的常量表達(dá)式的值除盡時,所得商數(shù)就是第一維的大小D. 只有元素a00和a01可得到初值,其余元素均得不到確定的初值【答案】 D
3、【解析】二維數(shù)組初始化時,行大小可以省略,被省略的大小根據(jù)初值的個數(shù)系統(tǒng)來確定,本題中,有2個初值說明是1行4列,所以第一維為1。元素a00和a01賦初值為0 ,其余元素初值系統(tǒng)默認(rèn)為0。6. 以下能對二維數(shù)組c進(jìn)行正確的初始化的語句是【 】A. int c3=3,3,4; B. int c3=3,3,4;C. int c32=3,3,4,5; D. int c3=3,3;【答案】 B【解析】二維數(shù)組初始化時,行大小可以省略,列大小不可以省略,所以A答案錯誤。C答案中初始值行數(shù)多于數(shù)組大小中的行大小,也是錯誤的。另外初始化時,初值之間不能有空位置,故D錯誤。7. 以下不能對二維數(shù)組a進(jìn)行正確初
4、始化的語句是【 】A. int a23=0;B. int a3=1,2,0;C. int a23=1,2,3,4,5,6;D. int a3=1,2,3,4,5,6;【答案】 C8. 閱讀下面程序,則程序段的功能是【 】#includeusing namespace std; int main() int c=23,1,56,234,7,0,34,i,j,t;for(i=1;i=0 & tcj) cj+1=cj;j-; cj+1=t; for(i=0;i7;i+) coutcit; putchar(n); return 0;A. 對數(shù)組元素的升序排列 B. 對數(shù)組元素的降序排列C. 對數(shù)組元素
5、的倒序排列 D. 對數(shù)組元素的隨機(jī)排列【答案】 B【解析】每層外層for循環(huán)結(jié)束會增加對一個元素的排序,確定c0 ,c1的大小順序,如圖4-1所示。圖4-1 第一次排序第二次將c2分別與前2兩個元素比較,插入最前面,確定c0 ,c1, c2 的大小順序,如圖4-2所示。圖4-2 第二次排序以此類推,外層6次循環(huán)后,將無序的數(shù)組實(shí)現(xiàn)大到小的降序排列。9. 下列選項(xiàng)中錯誤的說明語句是【 】A. char a=t,o,y,o,u,0;B. char a=toyou0;C. char a=toyou0;D. char a=toyou0;【答案】 D10. 下述對C+語言字符數(shù)組的描述中錯誤的是【 】A
6、. 字符數(shù)組的下標(biāo)從0開始B. 字符數(shù)組中的字符串可以進(jìn)行整體輸入/輸出C. 可以在賦值語句中通過賦值運(yùn)算符“=”對字符數(shù)組整體賦值D. 字符數(shù)組可以存放字符串【答案】 C11. 以下二維數(shù)組c的定義形式正確的是【 】A. int c3 B. float c3,4C. double c34 D. float c(3)(4)【答案】 C12. 已知:int c34;則對數(shù)組元素引用正確的是【 】A. c14 B. c1.50 C. c1+00 D. 以上表達(dá)都錯誤【答案】 C13. 若有以下語句,則正確的描述是【 】char a=toyou;char b=t,o,y,o,u;A. a數(shù)組和b數(shù)組
7、的長度相同 B. a數(shù)組長度小于b數(shù)組長度C. a數(shù)組長度大于b數(shù)組長度 D. a數(shù)組等價于b數(shù)組【答案】 C【解析】 a數(shù)組中存放的是字符串,數(shù)組大小為6個字節(jié)空間,分別存放t,o,y,o,u和0,b數(shù)組的長度為5個字節(jié)空間,只存放t,o,y,o,u,5個字符。 二、填空題1. 若有說明:int a3=1,2,3,4,5,6,7;則a數(shù)組第一維的大小是_。【答案】 32. 設(shè)有數(shù)組定義: char array=China; 則數(shù)組 array所占的空間為_個字節(jié)?!敬鸢浮?63. 假定int類型變量占用兩個字節(jié),其有定義:int x10=0,2,4;,則數(shù)組x在內(nèi)存中所占字節(jié)數(shù)是_。【答案】
8、 204. 下面程序的功能是輸出數(shù)組s中最大元素的下標(biāo),請?zhí)羁铡?includeusing namespace std;int main() int k, p,s=1, -9, 7, 2, -10, 3; for(p =0, k =p; psk) _ cout kendl;return 0;【答案】 k=p;5. 下面程序是刪除輸入的字符串中字符H,請?zhí)羁铡?includeusing namespace std;int main() char s80; int i,j; gets(s); for(i=j=0;si!=0;i+) if(si!=H)_sj=0;puts(s);return 0;【
9、答案】 sj+ =si;【解析】 此處相當(dāng)于補(bǔ)充了2條語句,等價于sj =si; j+;。6. 已知:char a20= abc,b20= defghi;則執(zhí)行coutstrlen(strcpy(a,b);語句后的輸出結(jié)果為_。【答案】 67. 有如下定義語句:int aa3=12,23,34,4,5,6,78,89,45;,則45在數(shù)組aa中的行列坐標(biāo)各為 _?!敬鸢浮?2和28. 若二維數(shù)組a有m列,則計(jì)算任一元素aij在數(shù)組中相對位置的公式為(假設(shè)a00位于數(shù)組的第一個位置上) _。【答案】 i*m+j+19. 定義如下變量和數(shù)組:int k;int a33=9,8,7,6,5,4,3,
10、2,1;則語句for(k=0;k3;k+) coutakk;的輸出結(jié)果是_。【答案】 951【解析】 定義的二維數(shù)組可以描述一個方陣: 9 8 76 5 43 2 1語句功能是實(shí)現(xiàn)該方陣主對角線上元素的輸出。10. 已知:char a15,b15=I love china;則在程序中能將字符串I love china賦給數(shù)組a的語句是_?!敬鸢浮?strcpy(a,b);三、讀程序?qū)懡Y(jié)果1. 程序代碼如下#includeusing namespace std; int main() char arr24;strcpy(arr0,you); strcpy(arr1,me);arr03=&;cou
11、tarr0endl;return 0;【答案】 you&me2. 程序代碼如下:#includeusing namespace std; int main() char a=a, b, c, d, e, f, g,h,0; int i,j;i=sizeof(a); j=strlen(a);cout i ,jendl;return 0;【答案】 9,83. 程序代碼如下:#includeusing namespace std;int main() int i;int a33=1,2,3,4,5,6,7,8,9;for(i=0;i3;i+)couta2-ii;return 0;【答案】 753【解
12、析】 程序功能是實(shí)現(xiàn)一個方陣次對角線上元素的輸出。4. 程序代碼如下:#includeusing namespace std; int main() char a30=nice to meet you!; strcpy(a+strlen(a)/2,you); coutaendl;return 0;【答案】nice to you5. 程序代碼如下:#includeusing namespace std; int main() int k30=12,324,45,6,768,98,21,34,453,456;int count=0,i=0;while(ki) if(ki%2=0|ki%5=0)co
13、unt+;i+;cout count ,iendl;return 0;【答案】8,106. 程序代碼如下:#includeusing namespace std; int main() char a30,b30;int k;gets(a);gets(b);k=strcmp(a,b);if(k0) puts(a);else if(k,所以結(jié)果輸出字符串a(chǎn)。四、編程題1編程實(shí)現(xiàn)功能:刪去一維數(shù)組中所有相同的數(shù),使之只剩一個。數(shù)組中的數(shù)已按由小到大的順序排列,函數(shù)返回刪除后數(shù)組中數(shù)據(jù)的個數(shù)。例如,若一維數(shù)組中的數(shù)據(jù)是:2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10刪
14、除后,數(shù)組中的內(nèi)容應(yīng)該是:2 3 4 5 6 7 8 9 10。思路:fun函數(shù)的2個形式參數(shù),分別接收數(shù)組名,即數(shù)組的首地址,和數(shù)組中存放的原始數(shù)據(jù)的個數(shù),fun函數(shù)對原始數(shù)組按題目處理后,在主函數(shù)中輸出的數(shù)組a就是處理后的數(shù)組,這里函數(shù)之間參數(shù)傳遞屬于地址傳遞。程序代碼如下:#includeusing namespace std; const N=80;int fun(int a, int n) int i,j=1; for(i=1;in;i+) if(aj-1!=ai) aj+=ai; return j;int main() int aN= 2,2,2,3,4,4,5,6,6,6,6,7
15、,7,8,9,9,10,10,10, i, n=19; cout原始數(shù)組中的數(shù)據(jù)是:endl; for(i=0;i19;i+) coutai ; n=fun(a,n); coutn刪除后,數(shù)組中的數(shù)據(jù)是:endl; for(i=0;in;i+) coutai ; coutendl; return 0;2編程實(shí)現(xiàn)功能:從鍵盤上輸入若干個學(xué)生的成績,當(dāng)輸入負(fù)數(shù)時表示輸入結(jié)束,計(jì)算學(xué)生的平均成績,并輸出低于平均分的學(xué)生成績。思路:使用循環(huán)輸入學(xué)生的成績,注意循環(huán)條件有2個,分別是輸入成績個數(shù)大于數(shù)組的大小和輸入成績?yōu)樨?fù)數(shù)時結(jié)束,同時記錄輸入成績的個數(shù)n。結(jié)束輸入后,計(jì)算平均值和篩選小于60分的成績并
16、輸出。程序代碼如下:#include using namespace std;int main( ) const N=800; float xN,sum=0,ave,a; int n=0,i; cout輸入學(xué)生成績:a; while (a=0 & na; cout輸入的n名學(xué)生成績?yōu)椋?for (i=0; in; i+) coutxi ;coutendl;ave=sum/n;cout平均分:aveendl;cout低于平均分的成績:;for (i=0; in; i+) if (xiave) coutxi ; coutendl; return 0;3編程實(shí)現(xiàn)功能:對從鍵盤上輸入的兩個字符串進(jìn)行比
17、較,然后輸出兩個字符串中第一個不相同字符的ASCII碼值之差。例如:輸入的兩個字符串分別為abcdefg和abceef,則輸出為-1。思路:題目要求實(shí)現(xiàn)的功能,相當(dāng)于字符串處理函數(shù)strcmp的功能,即:圖4-3 字符串比較示意圖使用循環(huán)逐個比較兩個字符串的每個字符,當(dāng)字符出現(xiàn)不相等時,跳出循求不相同的兩個字符的ASCII碼值的差輸出。程序代碼如下:#include using namespace std;#include string.hint main( ) char str180, str280,c; int i=0,s; gets (str1); gets (str2); while
18、(str1i=str2i) & (str1i!= 0) i+; s= str1i-str2i; coutsendl;return 0;4編程實(shí)現(xiàn)功能:求二維數(shù)組周邊元素之和。思路:二維數(shù)組中的數(shù)據(jù)可以看成一個二維矩陣,例如下面的二維數(shù)組,輸出周邊元素之和為:sum=48,用兩個并列的for循環(huán)實(shí)現(xiàn)求累加和。 1 2 3 4 2 3 4 5 3 4 5 6 4 5 6 7 程序代碼如下:#include using namespace std;#include string.hconst M=4;const N=4;int main( ) int aMN,i,j,sum=0; for (i=0; iM; i+) for (j=0; jaij; for (i=
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年德語TestDaF考試模擬試卷閱讀理解難點(diǎn)分析與對策
- 2025年采購師(一級)實(shí)務(wù)操作考試試卷
- 2025電子商務(wù)師(高級)考試試卷:電商數(shù)據(jù)可視化與商業(yè)智能分析試題
- 2025年安全工程師考試事故案例分析模擬試卷
- 2025年初中歷史七年級下冊階段檢測試卷:歷史學(xué)科教學(xué)方法
- 2025年電子商務(wù)師(初級)職業(yè)技能鑒定試卷:電子商務(wù)數(shù)據(jù)分析競賽評分標(biāo)準(zhǔn)試題
- 2025年保育員(初級)實(shí)操技能試卷:幼兒教育信息化技術(shù)與應(yīng)用案例分析
- 便利店行業(yè)2025年轉(zhuǎn)型升級中的智能物流配送成本控制策略研究報告001
- 2025年航空航天零部件制造高精度加工技術(shù)發(fā)展趨勢報告
- 2025年不銹鋼絲網(wǎng)項(xiàng)目規(guī)劃申請報告
- 2025年高考政治一輪復(fù)習(xí):統(tǒng)編版必修3《政治與法治》必背考點(diǎn)知識講義
- 民政統(tǒng)計(jì)信息管理系統(tǒng)培訓(xùn)手冊街鄉(xiāng)鎮(zhèn)
- 中職英語新課標(biāo)詞匯表
- 2024秋期國家開放大學(xué)《國際法》一平臺在線形考(形考任務(wù)1至5)試題及答案
- 天翼云從業(yè)者認(rèn)證考試題庫及答案
- T-CEC 153-2018并網(wǎng)型微電網(wǎng)的負(fù)荷管理技術(shù)導(dǎo)則
- 超聲科晉升主任(副主任)醫(yī)師超聲診斷子宮癌肉瘤病例報告專題分析
- 《食品經(jīng)營許可證》申請書(范本)
- 2024至2030年中國博物館行業(yè)現(xiàn)狀調(diào)研及未來發(fā)展規(guī)劃分析報告
- 廣東省揭陽市2024年小升初語文真題試卷及答案
- 化工過程安全管理導(dǎo)則培訓(xùn)
評論
0/150
提交評論