




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、習題 4一、單項選擇題1. 若有說明 int a34;則a數(shù)組元素的非法引用是【 】A. a02*1 B. a13 C. a4-20 D. a04【答案】 D【解析】數(shù)組下標從0開始,a04的列下標越界。2. 在C+語言中,引用數(shù)組元素時,其數(shù)組下標的數(shù)據(jù)類型允許是【 】A. 整型常量 B. 整型表達式 C. 整型常量或整型表達式 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. 因為數(shù)組長度與初值的個數(shù)不相同,所以此語句不正確【答案】 B5. 若有說明:int a 4=0,0;則下面不正確的敘述是【 】A. 數(shù)組a的每個元素都可得到初值0B. 二維數(shù)組a的第一維大小為1C. 當初值的個數(shù)能被第二維的常量表達式的值除盡時,所得商數(shù)就是第一維的大小D. 只有元素a00和a01可得到初值,其余元素均得不到確定的初值【答案】 D
3、【解析】二維數(shù)組初始化時,行大小可以省略,被省略的大小根據(jù)初值的個數(shù)系統(tǒng)來確定,本題中,有2個初值說明是1行4列,所以第一維為1。元素a00和a01賦初值為0 ,其余元素初值系統(tǒng)默認為0。6. 以下能對二維數(shù)組c進行正確的初始化的語句是【 】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進行正確初
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ù)組元素的隨機排列【答案】 B【解析】每層外層for循環(huán)結束會增加對一個元素的排序,確定c0 ,c1的大小順序,如圖4-1所示。圖4-1 第一次排序第二次將c2分別與前2兩個元素比較,插入最前面,確定c0 ,c1, c2 的大小順序,如圖4-2所示。圖4-2 第二次排序以此類推,外層6次循環(huán)后,將無序的數(shù)組實現(xiàn)大到小的降序排列。9. 下列選項中錯誤的說明語句是【 】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ù)組的下標從0開始B. 字符數(shù)組中的字符串可以進行整體輸入/輸出C. 可以在賦值語句中通過賦值運算符“=”對字符數(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. 以上表達都錯誤【答案】 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ù)組定義: char array=China; 則數(shù)組 array所占的空間為_個字節(jié)?!敬鸢浮?63. 假定int類型變量占用兩個字節(jié),其有定義:int x10=0,2,4;,則數(shù)組x在內存中所占字節(jié)數(shù)是_?!敬鸢浮?/p>
8、 204. 下面程序的功能是輸出數(shù)組s中最大元素的下標,請?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;【解析】 此處相當于補充了2條語句,等價于sj =si; j+;。6. 已知:char a20= abc,b20= defghi;則執(zhí)行coutstrlen(strcpy(a,b);語句后的輸出結果為_?!敬鸢浮?67. 有如下定義語句:int aa3=12,23,34,4,5,6,78,89,45;,則45在數(shù)組aa中的行列坐標各為 _?!敬鸢浮?2和28. 若二維數(shù)組a有m列,則計算任一元素aij在數(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;的輸出結果是_?!敬鸢浮?951【解析】 定義的二維數(shù)組可以描述一個方陣: 9 8 76 5 43 2 1語句功能是實現(xiàn)該方陣主對角線上元素的輸出。10. 已知:char a15,b15=I love china;則在程序中能將字符串I love china賦給數(shù)組a的語句是_?!敬鸢浮?strcpy(a,b);三、讀程序寫結果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、析】 程序功能是實現(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,所以結果輸出字符串a。四、編程題1編程實現(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ù)組中的內容應該是: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編程實現(xiàn)功能:從鍵盤上輸入若干個學生的成績,當輸入負數(shù)時表示輸入結束,計算學生的平均成績,并輸出低于平均分的學生成績。思路:使用循環(huán)輸入學生的成績,注意循環(huán)條件有2個,分別是輸入成績個數(shù)大于數(shù)組的大小和輸入成績?yōu)樨摂?shù)時結束,同時記錄輸入成績的個數(shù)n。結束輸入后,計算平均值和篩選小于60分的成績并
16、輸出。程序代碼如下:#include using namespace std;int main( ) const N=800; float xN,sum=0,ave,a; int n=0,i; cout輸入學生成績:a; while (a=0 & na; cout輸入的n名學生成績?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編程實現(xiàn)功能:對從鍵盤上輸入的兩個字符串進行比
17、較,然后輸出兩個字符串中第一個不相同字符的ASCII碼值之差。例如:輸入的兩個字符串分別為abcdefg和abceef,則輸出為-1。思路:題目要求實現(xiàn)的功能,相當于字符串處理函數(shù)strcmp的功能,即:圖4-3 字符串比較示意圖使用循環(huán)逐個比較兩個字符串的每個字符,當字符出現(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編程實現(xiàn)功能:求二維數(shù)組周邊元素之和。思路:二維數(shù)組中的數(shù)據(jù)可以看成一個二維矩陣,例如下面的二維數(shù)組,輸出周邊元素之和為:sum=48,用兩個并列的for循環(huán)實現(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)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)療技術發(fā)展對教育政策的影響分析
- 全球教育技術發(fā)展現(xiàn)狀與未來趨勢分析
- 教育技術助力教師應對教學挑戰(zhàn)
- 商業(yè)教育中的數(shù)據(jù)隱私保護實踐
- 創(chuàng)新引領未來中醫(yī)教育的變革之路
- 抖音商戶直播樣品質量抽檢制度
- 質量培訓課件事例
- 八大城市物流企業(yè)物流園區(qū)綠色物流解決方案研究報告
- 公交優(yōu)先政策在2025年城市交通擁堵治理中的優(yōu)化策略研究報告
- BI-1206-生命科學試劑-MCE
- 衛(wèi)生監(jiān)督協(xié)管員培訓課件
- 銷售勞動合同補充協(xié)議書(2篇)
- 國開(北京)2024年秋《財務案例分析》形考作業(yè)答案
- 廠區(qū)食堂二次供水水箱清洗協(xié)議
- DB52T 1512-2020 水利水電工程隧洞施工超前地質預報技術規(guī)程
- 單位綜合評價評語
- 牲畜用飲水槽相關項目實施方案
- 《數(shù)學課程標準》義務教育2022年修訂版(原版)
- 民政統(tǒng)計信息管理系統(tǒng)培訓手冊街鄉(xiāng)鎮(zhèn)
- 超聲科晉升主任(副主任)醫(yī)師超聲診斷子宮癌肉瘤病例報告專題分析
- 教學樓加固工程施工組織
評論
0/150
提交評論