




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、期未復習模擬習題及答案一、選擇題1、當執(zhí)行以下程序段時 ( B ) A)循環(huán)體將執(zhí)行一次 B)循環(huán)體將執(zhí)行兩次 C)循環(huán)體將執(zhí)行無限次 D)系統(tǒng)將提示有語法錯誤 x=-1; do x=x+1; while(!x); 2、設有int a =10,11,12,*p=&a0;則執(zhí)行完*p+;*p+=1;后a0,a1,a2的值依次是 ( C ) A.10,11,12 B.11,12,12 C.10,12,12 D.11,11,123、在C+語言程序中( B ) (A) 函數(shù)的定義可以嵌套,但函數(shù)的調(diào)用不可以嵌套 (B) 函數(shù)的定義不可以嵌套,但函數(shù)的調(diào)用可以嵌套 (C) 函數(shù)的定義和函數(shù)的調(diào)用
2、均不可以嵌套 (D) 函數(shù)的定義和函數(shù)的調(diào)用均可以嵌套 4、以下敘述中不正確的是( 都正確 ) (A)在函數(shù)中,通過return語句傳回函數(shù)值 (B)在函數(shù)中,可以有多條return語句(C)在C+中,main后的一對圓括號中也可以帶有形參 5、執(zhí)行語句:cout<<strlen(”abctdefg”); 后,顯示的值為( C ) A、11 B、10 C、9 C、86、下列各個錯誤中,屬于編譯錯誤的是( D )。 A、數(shù)組下標超界 B、"= ="誤寫為"=" C、死循環(huán) D、括號不配對7、要為字符型變量a賦初值,下列語句中哪一個是正確的( A
3、 )。 A、char a='3' B、char a="3" C、char a=%; D、char a=*;8、對C程序在作邏輯運算時判斷操作數(shù)真、假的表述,下列哪一個是正確的( A )。 A、0為假,非0為真 B、只有1為真 C、-1為假,1為真 C、0為真,非0為假9、將整型變量a、b中的最大值為變量c賦值,下列語句中正確的是( B )。 A、c= =(a>b)? a:b; B、c=(a>b)? a:b; C、c=if(a>b)a else b; D、(a>b)? c=a:c=b;10、下列語句中,哪一個可以按照從z到a的順序輸出2
4、6個小寫英文字母( D )。 A、for(i='z' i>='a' i+) cout<<i; B、for(i='z' i>='a' cout<<i-); C、for(i='z' i>='a' i+) cout<<i ; D、for(i='z' i>='a' -i ) cout<<i ;11、下列各語句定義了數(shù)組,其中哪一個是正確的( D )。 A、int a5,b2,3; B、char no(30
5、); C、int x; D、int x5=1,2,3;12、假如指針P已經(jīng)指向某個整型變量x,則&*P相當于( C )。 A、x B、 * P C、 &x D、 * * p13、數(shù)組定義為"int a55;", 引用"*(a+1)+3"表示( B )。 A、a10+3 B、 a數(shù)組第1行第3列元素的地址 C、a01+3 D、 a數(shù)組第1行第3列元素的值14、與定義int *p4等價的是( C ) (A)int p4; (B)int * p; (C)int * (p4) ; (D)int (*p)4;15、C+語言可執(zhí)行程序的開始執(zhí)行點是(
6、 C ) (A) 程序中第一條可執(zhí)行語言 (B) 程序中第一個函數(shù) (C) 程序中的main函數(shù) (D) 包含文件中的第一個函數(shù) 16、以下字符中,不正確的C語言轉義字符是: (D) (A) ' t' (B) ' 011' (C) ' n' (D) ' 018'17、假設所有變量均為整型,表達式 (a=10,b=5,ab? a+:b+,a+b)的值是(C) (A)7 (B)8 (C)16 (D)2 18、程序運行輸出了錯誤的結果,可以排除下列哪一個因素( C )。 A算法錯誤 B、運行時輸入數(shù)據(jù)錯誤 C、未通過編譯 D、系統(tǒng)資源配
7、置不當19、邏輯運算符中,運算優(yōu)先級按從高到低依次為( D )。 A、&&, !, | B、|,&&, ! C、&&, |, ! D、!,&&, |20、下列各語句序列判別變量x, y的大小,若x<y則交換它們的值,其中正確的是( B)。 A、if (x<y) x=y;y=x; B、if (x<y) t=x;x=y; y=t; C、if ( x<y) x=y;y=x; D if (x<y) t=x;x=y; y=t;21、假如指針p1已經(jīng)指向某個整型變量,要使指針p2也指向同一個變量,哪一個語句是正確
8、的( C )。 A、p2=&p1; B、p2=*p1; C、p2=&*p1; D、p2=*p1;22、數(shù)組定義為"ingt a45;", 引用"a1+3"表示( A )。 A、a數(shù)組第1行第3列元素的地址 B、a數(shù)組第1行第3列元素的值 C、a數(shù)組第4行的首地址 D、a數(shù)組第4列的首地址 23、以下敘述中正確的是( A )A、 a是實型變量,C允許進行以下賦值a=10,因此可以這樣說:實型變量中允許存放整型值。B、 在賦值表達式中,賦值號左邊既可以是變量也可以是任意表達式。C、 執(zhí)行表達式a=b后,在內(nèi)存中a和b存儲單元中的原有值都將改變
9、,a的值已由原值改變?yōu)閎的值,b的值由原值變?yōu)?。D、 已有a=3,b=5。當執(zhí)行了表達式a=b,b=a后,已使a中的值為5,b中的值為3。24、以下敘述中正確的是( C )A、 在C程序中無論是整數(shù)還是實數(shù),只要在允許的范圍內(nèi)都能準確無誤的表示。B、 C程序有主函數(shù)組成。C、 C程序由函數(shù)組成。D、 C程序由函數(shù)和過程組成。25、若變量已正確定義,要將a和b中的數(shù)進行交換,下面不正確的語句組是( C )A、a=a+b,b=a-b,a=a-b; B、t=a,a=b,b=t;C、a=t,t=b,b=a; C、t=b;b=a;a=t;26、為表示關系x>=y>=z,應使用的C語言表達式
10、是( A )A、(x>=y)&&(y>=z) B、(x>=y)AND(y>=x)C、(x>=y>=z) C、(x>=y)&(y>=z)27、以下函數(shù)的類型F是( C )A、與參數(shù)x的類型相同 B、無法確定 C、void類型 D、int 類型F ff(float x) cout<<x*x;28、下列各語句定義了數(shù)組,其中哪一個是不正確的( D )。A、int s_15,s_243; B、float x, a45;C、char string ="hello!" D、int x (10),y(10
11、);29、假設所有變量均為整型,表達式 (a=2,b=5,ab? a+:b+,a+b)的值是( A ) (A)7 (B)8 (C)9 (D)2 30、將整型變量a、b中的最大值為變量c賦值,下列語句中正確的是( B )。A、c= =(a>b)? a:b; B、c=(a>b)? a:b;C、c=if(a>b)a else b; D、(a>b)? c=a:c=b;二、填空題1、設int x=17,y=5; 執(zhí)行語句x* =x+ +/ - -y后x的值為 69 。2、已知直角三角形的直角邊長a,b,計算其面積的算術表達式為 double(a*b)/2 。3、計算a- b的絕對
12、值與a+b的絕對值之乘積的算術表達式為 abs(a-b)*abs(a+b) 。4、判斷變量a是變量a、b、c中最大值的邏輯表達式為 a>=b&&b>=c 。5、判斷整型變量m是否能被n整除的邏輯表達式為 m%n=0 。6、求解賦值表達式x= (a = 3, a* a), 表達式值、x、a的值依次為 9 , 3 。7、若a=13, b=25, c= -17, 條件表達式(y= (a<b) ? a:b)< c)? y: c的值為: -17 。8、整型變量m的值為31,語句printf("m =%x",m);的輸出結果為 m=1F 。9、定
13、義a為共有5個元素的一維整型數(shù)組、同時定義p為指向a數(shù)組地址的指針變量的語句為: int a5,(*P)5=&a; 。10、當a=5,b=4,c=2時,表達式a>b!=c的值是 1 。11、語句"printf("%x,%o",16,12);"的輸出結果是 10,14 。12、設 a=12 則表達式a+=a和a*=2運行后a 的值分別為 48 。13、有定義: static int a3=1,2,3,4,0,4,8,9,10,則cout<<*(*(a+1)+2);語句的輸出結果為 4 。14、若已知a=10,b=15,c=1,d=
14、2,表達式a*b&&c的運算結果 1 。15、設x和y均為int型變量,則以下語句:x+=y;y=x-y;x-=y;的功能是交換x與y的值。16、定義int a=12,b=12;則語句 cout<<(-a,+b);的輸出結果是: 13 。 17、執(zhí)行語句:for(i=1;i+<4;)后;變量i的值是 5 。18、在C+語言中,指針變量的值增1,表示指針變量指向下一個_內(nèi)存單元_,指針變量中具體增加的字節(jié)數(shù)由系統(tǒng)自動根據(jù)指針變量的_所指向的數(shù)據(jù)類型_決定。19、語句cout<<strlen(t0x85xffn);的輸出結果是_5_ 。20、假設所有變
15、量均為整型,表達式 (a=2,b=5,ab? a+:b+,a-b)的值是 -4 。 21、在C+語言中,能代表邏輯值"真"的是 非0 。22、為表示關系x>=y>=z,應使用C語言表達式 x>=y&&y>=z 。23、算術表達式,對應的C+表達式是(-b+sqrt(b*b-4*a*c)/(2*a)。24、typedef char nameTable10NN,把nameTable 定義為具有10行的字符串數(shù)組類型。25、P為一指針變量,將P所指向單元的數(shù)據(jù)增1并作為表達式的值的表達式為+*P。26、已知數(shù)組a定義為:int a46;,p
16、是一個一維數(shù)組;要使下標訪問pij與aij等效,p應定義為 int * p4=a0,a1,a2,a3; 27、假定AB為一個類,則執(zhí)行“AB a10”語句時,系統(tǒng)自動調(diào)用該類構造函數(shù)的次數(shù)為10次。28、當一個類對象被撤消時將自動調(diào)用該類的析構系數(shù)。29、假定AB為一個類,則執(zhí)行“AB *p”語句時,系統(tǒng)自動調(diào)用該類構造函數(shù)的次數(shù)為0次。30、假定一個構造類型定義為“struct Dint a; unionint b;doouble c;D*d3;”,該類型的大小為24字節(jié)。三、給出下列程序運行后的結果(每小題5分,共20分)1、 以下程序的輸出結果為 -1 。main() int x=2;
17、while (x-); cout<<x<<endl;2、以下程序的運行結果是 6 。 main() int m=5; if (m+ > 5) cout<<m<<endl; else cout<< m<<endl;3、當執(zhí)行以下程序段后,i的值為 5 、j的值為 4 、k的值為 6 。int a,b,c,d,i,j,k;a=10; b=c=d=5; i=j=k=0;for( ; a>b; +b) i+;while (a>+c) j+;do k+; while (a>d+);4、以下程序的輸出結果是 8
18、 。main() int k=2,m=4,n=6; int *pk=&k, *pm=&m, *p; *(p=&n)=*pk*(*pm); cout<<n<<endl;5、以下程序的輸出結果是 4 。fun1(int a, int b) int c;a+=a; b+=b;c=fun2 ( a, b );return c*c;fun2( int a, int b) int c; c=a*b%3; return c;main() int x=11,y=19; cout<<fun1(x,y) <<endl;6、以下程序的輸出結果是
19、 z=7 , r=21 。 func(int a, int b) int c; c=a+b; return c;main() int x=6,y=7,z=8,r; r=func(x-,y+,x+y),z-); cout<<z<<” , “<<r<<endl;7、以下程序的輸出結果為 2 3 main() int aa33=2,4,6,i,*p=&aa00;for(i=0;i<2;i+) if(i=0) aaii+1=*p+1; else +p;cout<<*p;cout<<endl;8、下列程序運行的輸出結果
20、: 7 , 5 。 #define X 5 #define Y X+1 #define Z Y*X/2 main() int a; a=Y; cout<<Z<<” “<<-a<<endl; 9、下列程序運行的輸出結果:constructor! 7constructor! 5#include <iostream.h>class Aint a,b;public:A(int aa=0,int bb=0):a(aa),b(bb)cout<<"constructor! "<<a+b<<en
21、dl;void main()A x(2,5),y5,*p=&x;10、下列程序運行的輸出結果: abc in #include <iostream.h>#include <string.h>void main( ) char s110=“abc” char s220=“inter”; int k=0,j=0; while (s2k) k+; while(s1j) s2-k=s1+j; cout<<s1<<endl; cout<<s2<<endl;四、寫出下列每個函數(shù)的功能(每小題5分,共20分)1、findmax
22、(int s , int t) int k,p; for(p=0, k=p; p<t; p+) if (sp>sk) k=p; return k;答: 找出具有長度p的整型數(shù)組s 中最大數(shù)的下標并返回2、#include <iostream.h>#include <stdio.h>#include <ctype.h>void main()int num26=0, i;char c;cin>>c;while(c!='')if (isupper(c) numc-'A'+=1;cin>>c;for
23、( i=0; i<26; i+)if (numi) cout<< char(i+'A')<<numi<<endl;答 : 程序的功能是輸入若干個字符,統(tǒng)計每個大寫字母的出現(xiàn)頻度,若大寫字母在文中不出現(xiàn),則不統(tǒng)計,程序以輸入”結束。3、#include "string.h"void fun(char str) int i,j,k; for(i=0,j=strlen(str)-1; i<j; i+,j-) k=stri; stri=strj; strj=k; 答:把一個字符串中的字符排列順序倒過來。4、#inclu
24、de<iostream.h>void main() for (int i=0;i<6;i+) int j; for (j=0;j<5-i;j+) cout<<' ' for (j=0;j<10;j+) cout<<'*' cout<<endl; 答:打印以星號組成的平行四邊形,共打印6行,每行10個星號;結果如下: 5、#include<iomanip.h>long fact(long n) if(n<=1L) return n; return fact(n-1)+fact(n-
25、2); void main() cout<<fact(4)<<endl;答:輸出斐波那契數(shù)列的第四項的值 結果是3 ; 注斐波那契數(shù)列為 0,1,1,2,3,5,8,13,21, ;開始為第0項,每一項是前二項之和。6、#include <iostream.h>class compint a; int b;public:comp(int x=0,int y=0):a(x),b(y) double operator*(comp &x)double c;c=a*x.a+b*x.b;return c;void input(int x,int y)a=x;b
26、=y;void output()cout<<'('<<a<<','<<b<<")"<<endl;void main()comp x(10,20),y;double z;y.input(2,3);z=x*y; x.output();y.output();cout<<z<<endl;答:程序的輸出為:(10,20)(2,3)80.0000007、#include <iostream.h>#define SIZE 10void main()i
27、nt dataSIZE;int m;cout<<"請輸入"<<SIZE<<"個整數(shù):"for(m=0;m<SIZE;m+)cin>>datam;int j=0,k=0;for(int i=1;i<SIZE;i+)if(datai>dataj)j=i;else if(datai<datak)k=i;if(k>0)int d=data0;data0=datak;datak=d;if(j!=1)int d=data1;data1=dataj;dataj=d;for (m=0;m<
28、;SIZE;m+)cout<<datam<<" "答:程序輸入10個整數(shù),若最小的數(shù)不在第0個位置,則與第0個位置的數(shù)交換位置,使得最小的數(shù)在第0個位置;若最大的數(shù)不在第1個位置,則與第1個位置的數(shù)交換位置,使得最大的數(shù)在第1個位置;最后輸出排列后的10個數(shù)。8、#include<iostream.h>void main() int n=1,d=2; double s=0.0,s0; while (s0=double(n)/d)>=0.000001) s+=s0; n+=2; d+=d; cout<<“合計:”<&
29、lt;s<<endl; 答:計算 1/2+3/4+5/8+7/16+9/32+(2n-1)/2n 的值,精度準確到當項值小于0.000001時,裁去余項99、#include<iomanip.h>#define SIZE 25 void main() int a45=2,3,-5,0,2,12,-1,27,8,10,91,22,-32,1,9,1,2,3,4,5; int b45=25,13,65,0,5,-2,0,18,10,45,53,33,3,9,0,7,61,26,-37,-1; int c45; int i, j; for(i=0;i<4;i+) for
30、(j=0;j<5;j+) cij=aij+bij; for(i=0;i<4;i+) cout<<endl; for(j=0;j<5;j+) cout<<setw(5)<<cij; 答:計算矩陣CAB,即二維數(shù)組c的每個元素為二維數(shù)組a和二維數(shù)組b的對應位置的元素之和。最后輸出矩陣C(每個元素顯示5個字符的寬度,共4行5列)五、 編程題1、 輸入一行數(shù)字字符(以回車符結束輸入),請用數(shù)組元素作為計數(shù)器來統(tǒng)計每個數(shù)字字符的個數(shù),并輸出統(tǒng)計結果。用下標為0的元素統(tǒng)計字符0的個數(shù),下標為1的元素統(tǒng)計字符1的個數(shù),。#include<iostr
31、eam.h>main()int num10=0, i;char c;cin>>c;while(c!='n') numc-'0'+=1;cin>>c;for( i=0; i<10; i+)if (numi) cout<< char(i+'0')<<numi<<endl;2、下面findmax函數(shù)將計算數(shù)組中的最大元素及其下標值和地址值,請編寫*findmax()函數(shù)。 #include<iostream.h> *findmax(int *s, int t, int
32、*k)int p; for(p=0, *k=p; p<t; p+) if (sp>s*k) *k=p; return s+*k;main() int a10=12,23,34,45,56,67,78,89,11,22,k,*add; add=findmax(a,10,&k); cout<<ak<<k<<add<<endl;注意與第四大題第1小題的區(qū)別3、編寫程序,求135799101的值。 #include<iostream.h>main()int I,s=0;for (I=0;I<=50;I+)if (I/2=0) s+=2*I+1;else s-=2*I+1;cout <<”計算結果為:”<<s<<endl;4、以下程序將字符串中的第m個字符開始的全部字符復制成另一個字符串,在主函數(shù)中輸入字符串及m的值并輸出復制結果,在被調(diào)用函數(shù)copystr中完成復制。請編寫copystr函數(shù)。#include<iostream.h> #include<string.h> main() int m;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 教學方法革新中的數(shù)字化教學平臺
- 心肌梗死大鼠梗死區(qū)周圍C3G蛋白表達:動態(tài)變化與機制解析
- 序貫免疫策略:登革病毒免疫新路徑的探索與展望
- 寓教于樂:小學植物知識教育教玩具的創(chuàng)新設計與實踐探索
- 2025年壓力管道作業(yè)特種作業(yè)操作證考試試卷及答案解析
- 倉庫資源配置的優(yōu)化策略計劃
- 教育機構數(shù)字化轉型的領導力培訓計劃
- 優(yōu)化庫存周轉率的管理策略計劃
- 車輛營運股份合同范本
- 污泥轉運處理合同范本
- 公路工程標準施工招標文件(2018年版)
- DL∕T 5776-2018 水平定向鉆敷設電力管線技術規(guī)定
- (正式版)SH∕T 3548-2024 石油化工涂料防腐蝕工程施工及驗收規(guī)范
- 我們的互聯(lián)網(wǎng)時代課件PPT模板
- 維修電工高級技師論文(6篇推薦范文)
- 新編簡明英語語言學教程第二版課后參考答案
- 最新房地產(chǎn)開發(fā)預算表
- 最新零售藥店GSP認證條款
- 斗輪機安裝調(diào)試及使用說明書
- 家庭住房情況查詢申請表
- 2019年甘肅省天水市中考生物試題(word版,含答案)
評論
0/150
提交評論