已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1 電大 C+語言程序設(shè)計課程期末針對性訓(xùn)練 訓(xùn)練第一套 一、單選題(每小題 2分,共 20 分) 1在每個 C+程序中都必須包含有這樣一個函數(shù),該函數(shù)的函數(shù)名為( A )。 A. main B. MAIN C. name D. function 2設(shè) x和 y均為 bool量,則 x & y為真的條件是( D )。 A. 其中一個為假 B. 其中一個為真 C. 它們均為假 D. 它們均為真 3. 邏輯表達(dá)式 x0 | y=5的相反表達(dá)式為( B )。 A. x=0 | y!=5 B. x0 | y!=5 D. x0 & y=5 4. 假定 p是一個指向 float型數(shù)據(jù)的指針,則 p+1所指數(shù)據(jù)的地址比 p所指數(shù)據(jù)的地址大( C )個字節(jié)。 A. 1 B. 2 C. 4 D. 8 5. 枚舉類型 中的每個枚舉常量的值都是一個( A )。 A. 整數(shù) B. 浮點數(shù) C. 字符 D. 邏輯值 6. 循環(huán)體至少被執(zhí)行一次的語句為( C )語句。 A. for循環(huán) B. while 循環(huán) C. do循環(huán) D. 任一種循環(huán) 7. 在下面的字符數(shù)組定義中,( D )語句有語法錯誤。 A. char a20=”abcdefg”; B. char a=”x +y=55.”; C. char a15=1,2; D. char a10=5; 8. 若用數(shù)組名作為函數(shù)調(diào)用的實參,傳遞給形參的是( A )。 A. 數(shù)組的首地址 B. 數(shù)組中第一個元素的值 C. 數(shù)組全部元素的值 D. 數(shù)組元素的個數(shù) 9假定 AB為一個類,則執(zhí)行“ AB a(4), b5, *p2;”語句時,自動調(diào)用該類構(gòu)造函數(shù)的次數(shù)為( A )。 A. 6 B. 7 C. 9 D. 11 10當(dāng)使用 fstream流類定義一個流對象并打開一個磁盤文件時,文件的隱含打開方式為( D )。 A. ios:in B. ios:out C. ios:in | ios:out D. 沒有 二、填空題(每小題 2分,共 20 分) 1. 若需要定義一個標(biāo)識符常量,并且使 C+能夠進(jìn)行類型檢查,則應(yīng)在定義語句的開始使用保留字 _ const _。 2. 算術(shù)表達(dá)式 1432 baxy對應(yīng)的 C+表達(dá)式為 _(x*y*y)/(3*a)+4*b-1 _。 3. 邏輯表達(dá)式 xy & x!=10的相反表達(dá)式為 _ x=y | x=10_。 4. 每個字符指針變量占用內(nèi)存 _4_個字節(jié)。 2 5. 執(zhí)行“ typedef int DataType;”語句后,在使用 int定義整型變量的地方都可以使用標(biāo)識符 _ DataType _來定義整型變量。 6. 對于在所有函數(shù)定 義之外定義的變量,若沒有被初始化則系統(tǒng)隱含對它賦予的初值為 _0_。 7假定 p 所指對象的值為 25, p+1 所指對象的值為 46,則執(zhí)行“ *(p+);”語句后, p所指對象的值為 _46_。 8假定一個結(jié)構(gòu)類型的定義為“ struct Aint a; double* b; A* c;”,則該類型的大小為 _12_字節(jié)。 9假定一維數(shù)組的定義為“ int a8;”,則該數(shù)組所含元素的個數(shù)為 _8_。 10. 若 while 循環(huán)語 句的開始為 ”while(i+=10)” ,若 i 的初值為 0,同時在循環(huán)體中不會修改 i 的值,則其循環(huán)體將被重復(fù)執(zhí)行 _11_次后正常結(jié)束。 三、寫出下列每個程序運(yùn)行后的輸出結(jié)果(每小題 6分,共 30分) 1. #include void main() int s1=0, s2=1; for(int i=1; i=6; i+) s1+=i; s2*=i; couts1,s2endl; 輸出結(jié)果: 21,720 2. #include void main() int a10=68,79,86,65,46,94,37,78,60,53; int c=0; for(int i=0;i=60) c+; cout”c=”cendl; 輸出結(jié)果: c=7 3. #include void main() int a34=1,2,7,8,5,6,11,15,9,20,3,4; int m=a00; for(int i=0;i3;i+) for(int j=0;jm) m=aij; coutmendl; 輸出結(jié)果: 20 3 4. #include void main() int a=10, b=15; couta b ; a*=3; int b=a+20; couta b ; couta bendl; 輸出結(jié)果: 10 15 30 50 30 15 5. #include void main() int a8=6,19,4,12,20,5,18,25; int* p=a; for(p=a; pa+8;p+) if(*p10) cout*p ; coutendl; 輸出結(jié)果: 6 4 5 四、寫出下列每個函數(shù)的功能(每小題 8分,共 24分) 1. bool WB(int a, int n, int x) for(int i=0;in;i+) if(ai=x) return true; return false; 函數(shù)功能: 從數(shù)組 a中順序查找值為 x的元素,若查找成功則返回真,否則返回假。 2. int LJ(int a, int n) int k=0; for(int i=1;iak) k=i; return ak; 函數(shù)功能: 求出數(shù)組 a中 n個元素的最大值并返回。 3. 假定結(jié)構(gòu)類型 Dnode中的 data 域為結(jié)點值域, next域為結(jié)點指針 域。 DNode* QB(int n) 4 if(n=0) return NULL; DNode* f=new DNode; cinf-data; DNode* p=f; while(-n) p=p-next=new DNode; cinp-data; p-next=NULL; return f; 函數(shù)功能: 建立一個具有 n個結(jié)點的鏈表,每個結(jié)點的值依次由鍵盤輸入,該函數(shù)返回其表頭指針。 五、按題目要求編寫程序( 6分) 已知 6 a 30、 15 b 36,求出滿足不定方程 2a+5b=126的全部整數(shù)組解。如 (13,20)就是其中的一組解,并按此格式輸出每組解。 答: #include void main() int a,b; for(a=6;a=30; a+) for(b=15;b=36;b+) if(2*a+5*b=126) cout(a,b)endl; 5 訓(xùn)練第二套 一、單選題(每小題 2分,共 20 分) 1. 枚 舉類型中的每個枚舉常量的值都是一個( A )值。 A. 整數(shù) B. 浮點數(shù) C. 字符 D. 邏輯 2設(shè) x和 y均為 bool量,則邏輯表達(dá)式 x | y為假的條件是( C )。 A. 它們均為真 B. 其中一個為真 C. 它們均為假 D. 其中一個為假 3. 聲明或定義一個內(nèi)聯(lián)函數(shù)時,必須在函數(shù)開始使用保留字( D )。 A. static B. const C. extern D. inline 4. 在下面的函數(shù)聲明中,存在著語法錯誤的是( D )。 A. BC(int a, int); B. BC(int, int); C. BC(int, int=5); D. BC(int x; int y); 5. 假定 a為一個整型數(shù)組名,則元素 a4與( C )的表示等價。 A. a+4 B. *a+4 C. *(a+4) D. *(a+16) 6. 下面循環(huán)語句執(zhí)行結(jié)束后輸出的 i值為( B )的值。 for(int i=0; in/2) coutiendl; break; A. n/2 B. n/2+1 C. n-1 D. n 7. 將兩個字符串連接起來組成一個字符串時,選用( C )函數(shù)。 A. strlen() B. strcpy() C. strcat() D. strcmp() 8. 預(yù)處理命令在程序中都是以 ( B )字符開頭的。 A. * B. # C. & D. 9. 假定有定義“ struct BOOKchar title40; float price;”,則不正確的變量定義語句為( D )。 A. BOOK x; ; B. BOOK x=C+ Programming,27.0; C. BOOK *x=new BOOK; D. BOOK x=new BOOK; 10. 假定 AB 為一個類, px 為指向該類動態(tài)對象數(shù)組的指針,該數(shù)組長度為 n,則執(zhí)行“ delete px;”語句時,自動調(diào)用該類析構(gòu)函數(shù)的次數(shù)為( B )。 A. 1 B. n C. n-1 D. n+1 二、填空題(每小題 2分,共 20 分) 1已知 AZ的 ASCII 碼為 6590,當(dāng)執(zhí)行“ char ch=14*4+12;coutch;”語句序列后,得到的輸出結(jié)果為 _D_。 2 double類型的長度為 _8_。 3. 表達(dá)式 x=x+1表示成增量表達(dá)式為 _+x _。 4. 邏輯表達(dá)式 ab & b!=15_。 6 5. 假定一個二維數(shù)組的定義為“ char* a54;”,則該數(shù)組所含元素的個數(shù)為 _20_,所占存儲空間的字節(jié)數(shù)為 _80_。 6當(dāng)函數(shù)中的 _局部 _變量沒有被賦初值時,它的值是不確定的。 7假定一個結(jié)構(gòu)類型的定義為“ struct Adouble a,b; A* c;”,則該類型的大小為 _20_字節(jié)。 8. 假定要訪問一個結(jié)構(gòu)指針 p 所指對象中的數(shù)據(jù)成員 data,則表示方法為 _ p-data _。 9假定用戶沒有給一個名為 AB的類定義構(gòu)造函數(shù),則系統(tǒng)為其隱含定義的構(gòu)造函數(shù)為 AB()_。 10. 當(dāng)在程序中執(zhí)行到 break 語句時,就立即結(jié)束本層循環(huán)類語句或 switch語句的執(zhí)行。 三、寫出下列每個程序運(yùn)行后的輸出結(jié)果(每小題 6分,共 30分) 1. #include void main() int s=0; for(int i=1;i=8;i=+2) s+=i*i; couts=sendl; 輸出結(jié)果: s=84 2. #include void main() int i=1,s=0; while(s20) if(i%2!=0) s+=i; i+; couti,sendl; 輸出結(jié)果: 10,25 3. #include void main() int a8=36,25,48,14,55,20,47,82; int b1, b2; b1=b2=a0; for(int i=1; i8; i+) if(aib2) b2=ai; coutb1,b2endl; 7 輸出結(jié)果: 14,82 4. #include int LB(int *a, int n) int s=1; for(int i=0;in;i+) s*=*a; a+; return s; void main() int a5=1,2,3,4,5; coutLB(a,5)endl; 輸出結(jié)果: 120 5. #include struct Worker char name15; /姓名 int age; /年齡 float pay; /工資 ; void main() Worker x=wangfong,46,1640; Worker y, *p; y=x; p=&x; y.age y.payendl; coutname age+5 pay-300endl; 輸出結(jié)果: wangfong 46 1640 wangfong 51 1340 四、寫出下列每個函數(shù)的功能(每小題 8分,共 24分) 1. int WC(int a, int n, int k) int c=0; for(int i=0;i=k) c+; return c; 函數(shù)功能: 統(tǒng)計出數(shù)組 a的 n個元素中大于等于參數(shù) k的值的元素個數(shù)并返回。 2. bool SG(int x) /x為大于等于 2的整數(shù) int a=int(sqrt(x); /sqrt(x)為求 x的平方根 int i=2; 8 while(ia) return true; else return false; 函數(shù)功能: 判斷 x是否為一個素數(shù)(或質(zhì) 數(shù)),若是則返回真,否則返回假。 3. 假定結(jié)構(gòu)類型 Worker中的 name域表示姓名, age域表示年齡, pay域表示工資。 void QA(Worker a, int n) for(int i=0; ai.ageai.pay; 函數(shù)功能: 從鍵盤上輸入 n個 Worker結(jié)構(gòu)類型的記錄依次保存到一維數(shù)組 a的對應(yīng)元素中。 五、 按題目要求編寫函數(shù)( 6分) 假定函數(shù)聲明為“ void Print(int a, int n);”,在函數(shù)體中按下標(biāo)從大到小的次序輸出數(shù)組 a 中的 n 個元素的值,并要求每行輸出 6個元素,當(dāng)然最后一行可以不足 6 個。 答: void Print(int a, int n) int i,j=0; for(i=n-1; i=0; i-) coutai ; if(+j%6=0) coutendl; coutendl; 9 訓(xùn)練第三套 一、單選題(每小題 2分,共 20 分) 1. 由 C+源程序文件編譯而成的目標(biāo)文件的缺省擴(kuò)展名為( A )。 A. obj B. lik C. exe D. cpp 2. 程序運(yùn)行中需要從鍵盤上輸入多于一個數(shù)據(jù)時,各數(shù)據(jù)之間應(yīng)使用 ( D )符號作為分隔符。 A. 空格或逗號 B. 逗號或回車 C. 逗號或分號 D. 空格或回車 3. 設(shè) x是一個 bool型的邏輯量, y的值為 10,則表達(dá)式 x & y的值為( C )。 A. 1 B. 0 C. 與 x值相同 D. 與 x值相反 4. for 語句能夠被改寫為( D )語句。 A. 復(fù)合 B. if C. switch D. while 5. 在下面的 do循環(huán)語句中,其循環(huán)體被執(zhí)行的次數(shù)為( A )。 int i=0; do i+; while(i*i10); A. 4 B. 3 C. 5 D. 2 6. 在下面的一維數(shù)組定義中,( C )語句有語法錯誤。 A. int a=1,2,3; B. int a10=0; C. int a; D. int a5; 7. 下面的( C )保留字不能作為函數(shù)的返回類型。 A. void B. int C. new D. long 8. 下面的函數(shù)聲明中, ( B )是“ void BC(int a, int b);”的重載函數(shù)。 A. int BC(int x, int y); B. void BC(int a, char b); C. float BC(int a, int b, int c=0); D. int BC(int a, int b=0); 9. 當(dāng)類中一個字符指針成員指向具有 n個字節(jié)的存儲空間時,它所能存儲字符串的最大長度為( C )。 A. n B. n+1 C. n-1 D. n-2 10. 假定 AB 為一個類,則該類的拷貝構(gòu)造函數(shù)的聲明語句為( D )。 A. AB&(AB x); B. AB(AB x); C. AB(AB* x); D. AB(AB&); 二、填空題(每小題 2分,共 20 分) 1執(zhí)行“ cout5的相反表達(dá)式為 _ x+y=5_。 5. 假定一個二維數(shù)組的定義為 “ int a36;”,則該數(shù)組含有 _18_個元素。 6. 執(zhí)行“ typedef int ABC20;”語句把 ABC定義為具有 20個整型元素的 _數(shù)組類型 _。 10 7假定 p所指對象的值為 36, p+1所指對象的值為 49,則 *+p的值為 _49_。 8. 假定 a是一個一維數(shù)組,則 ai的指針訪問方式為 _*(a+i)_。 9對一個類中的數(shù)據(jù)成員的初始化可以通過構(gòu)造函數(shù)中的初始化表實現(xiàn),也可以通過構(gòu)造函數(shù)中的 _函數(shù)體_實 現(xiàn)。 10當(dāng)一個類對象離開它的作用域時,系統(tǒng)將自動調(diào)用該類的 _析構(gòu)函數(shù) _。 三、寫出下列每個程序運(yùn)行后的輸出結(jié)果(每小題 6分,共 30分) 1. #include #include int SD(int a, int b, char op) switch(op) case +: return a+b; case -: return a-b; default: cout操作符 op出錯,退出運(yùn)行 !;exit(1); void main() int x=20, y=6; coutSD(x,y,+) SD(x,y,-)endl; 運(yùn)行結(jié)果: 26 14 2. #include #include void main() char* a5=student,worker,cadre,soldier,apen; char *p1; p1=a0; for(int i=1;i0) p1=ai; coutp1endl; 運(yùn)行結(jié)果: worker 3. #include int WF(int x, int y) x=x+y; y=x+y; return x+y; 11 void main() coutWF(8,5)endl; 運(yùn)行結(jié)果: 31 4. #include const int n=9; void main() int an=2,4,6,8,10,12,14,16,18; int s=0; for(int i=0; in; i+) if(i%3=0) s+=ai; cout”s=”sendl; 運(yùn)行結(jié)果: 24 5. #include void main() int* d=new int5; int i; for(i=0;i5;i+) di=2*i+1; coutdi ; coutx; y+=x*x; while(-n0); return y; 函數(shù)功能: 求出從 鍵盤上輸入的 n個整數(shù)的平方和并返回。 12 2. bool WE(int a, int b, int n) for(int i=0;in;i+) if(ai!=bi) break; if(i=n) return true; return false; 函數(shù)功能: 判斷具有 n個元素的兩個數(shù)組 a和 b中對應(yīng)元素值是否全部相等,若是則返回真,否則返回假。 3. void LK(int a, int n, int& m) float s=0; int i; for(i=0;in;i+) s+=ai; s/=n; m=0; for(i=0;i=s) m+; 函數(shù)功能: 統(tǒng)計出數(shù)組 a的前 n個元素中大于等于其平均值的元素個數(shù)并由引用參數(shù) m帶回。 五、按題目要求編寫函數(shù)( 6分) 假定一個函數(shù)聲明為“ void AD(int a, int n);”,要求把數(shù)組 a中的 n個元素值按相反的次序仍保存在數(shù)組 a中。 答: void AD(int a, int n) for(i=0; in/2; i+) int x=ai; ai=an-1-i; an-1-i=x; 13 訓(xùn)練第四套 一、單選題(每小題 2分,共 20 分) 1. C+程序的基本功能模塊為( D )。 A. 表達(dá)式 B. 標(biāo)識符 C. 語句 D. 函數(shù) 2. 存儲以下數(shù)據(jù),占用存儲字節(jié)最多的是( A )。 A. 0 B. 0 C. ”0” D. n 3. 在下面的一維數(shù)組定義中,有語法錯誤的是( C )。 A. int a=1,2,3; B. int a10=0; C. int a; D. int a5; 4. 在下面的語句或語句組中,( B )不正確。 A. int a5; B. int M=10; int aM; C. int a=1,5,10,45; D. const int N=12; int aN; 5 C+語言中的每條簡單語句以 _B_作為結(jié)束符。 A. 逗號 B. 分號 C. 空格 D. 換行符 6. 含隨機(jī)函數(shù)的表達(dá)式 rand()%20 的值在 ( C )區(qū)間內(nèi)。 A. 119 B. 120 C. 019 D. 020 7. 當(dāng)處理一個特定的問題時,若循環(huán)次數(shù)已知,則通常采用( A )來解決。 A. for循環(huán) B. while 循環(huán) C. do循環(huán) D. switch語句 8. 在下面循環(huán)語句中內(nèi)層循環(huán)體 S語句的執(zhí)行總次數(shù)為( D )。 for(int i=0; in; i+) for(int j=i; jy的邏輯值為 _假( false 或 0) _。 6假定一個一維數(shù)組的定義為“ char* a8;”,則該數(shù)組所占用存儲空間的字節(jié)數(shù)為 _32_。 14 7. 假定 x=10,則表達(dá)式 2+x+的值為 _12_。 8假定 p所指對象的值為 25, p+1所指對象的值為 46,則 *p+的值為 _25_。 9. 假定要動態(tài)分配一個類型為 Worker 的具有 n 個元素的數(shù)組,并由 r 指向這個動態(tài)數(shù)組,則使用的語句為Worker* r=_ new Workern;_。 10. 設(shè) px指向一個類的動態(tài)分配的對象,則執(zhí)行“ delete px;”語句時,將自動調(diào)用該類的 _析構(gòu)函數(shù) _。 三、寫出下列每個程序運(yùn)行后的輸出結(jié)果(每小題 6分,共 30分) 1. #include void SB(char ch) switch(ch) case A: case a: coutwell! ; break; case B: case b: coutgood! ; break; case C: case c: coutpass! ; break; default: coutbad!;break; void main() SB(A); SB(c); SB(b); coutendl; 運(yùn)行結(jié)果: well! pass! good! 2. #include void main() int a6=36,25,48,14,55,40; int b1=a0; for(int i=1;ib1) b1=ai
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 機(jī)器人視覺課程設(shè)計論文
- 田間活動課程設(shè)計
- 電解鋅課程設(shè)計
- 電子信息課課程設(shè)計
- 窯爐課程設(shè)計問題
- 燕子彩繪課程設(shè)計
- 液體制劑車間課程設(shè)計
- 給水廠課程設(shè)計開題報告
- 電機(jī)驅(qū)動模塊課程設(shè)計
- 果蔬榨汁機(jī)課程設(shè)計
- 光伏發(fā)電項目技術(shù)標(biāo)投標(biāo)文件
- 網(wǎng)球肘完整版本
- 老齡辦年終工作總結(jié)
- 中國古代戲曲的源頭-儺戲課件
- 關(guān)于調(diào)整縣人民醫(yī)院預(yù)算管理委員會成員的通知
- 2022男德經(jīng)守則全部
- 《工程計量》課件
- 2024年度企業(yè)網(wǎng)絡(luò)搭建及應(yīng)用技能大賽方案
- 業(yè)委會換屆工作交接清單
- 進(jìn)口公司創(chuàng)業(yè)計劃書
- 2023-2024學(xué)年福建省泉州市晉江市八年級(上)學(xué)期期末數(shù)學(xué)試題(含解析)
評論
0/150
提交評論