




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、大工C/C+語(yǔ)言程序設(shè)計(jì)期末復(fù)習(xí)資料 第 PAGE 1頁(yè) 共 NUMPAGES 43頁(yè)P(yáng)AGE 大連理工大學(xué)網(wǎng)絡(luò)教育學(xué)院2017年秋C/C+語(yǔ)言程序設(shè)計(jì)期末考試復(fù)習(xí)題注意事項(xiàng):本復(fù)習(xí)題滿分共:400分。一、單選題1、下列while循環(huán)的執(zhí)行次數(shù)是( A )。while(int i=0) i+;大工C/C+語(yǔ)言程序設(shè)計(jì)期末復(fù)習(xí)資料 第 PAGE 43頁(yè) 共 NUMPAGES 43頁(yè)P(yáng)AGE A0B1C5D無(wú)限2、下列哪個(gè)函數(shù)不是類的成員函數(shù)。( D )A析構(gòu)函數(shù)B構(gòu)造函數(shù)C拷貝構(gòu)造函數(shù)D友元函數(shù)3、在執(zhí)行int a3=1,2,3,4,5,6;語(yǔ)句后,a00的值是( B )。A4B1C2D54、C
2、+中用3個(gè)保留字實(shí)現(xiàn)異常處理,除了throw和catch外,還有( C )。AifBclassCtryDreturn5、下面表達(dá)式中錯(cuò)誤的是( C )。Ab=a+Ba/=2Ca+b=5Da=5,b=6,c=76、在定義int a5;之后,對(duì)a的引用正確的是( D )。Aa5Ba4.3Ca(5)Da07、類中將關(guān)鍵字( A )寫在函數(shù)體之前函數(shù)頭之后,說(shuō)明該函數(shù)是一個(gè)常成員函數(shù)(或const成員函數(shù)),可以防止函數(shù)改變數(shù)據(jù)成員的值。AconstBstaticCfriendDvoid8、設(shè)int n=10,i=3;則賦值運(yùn)算n%=i+1執(zhí)行后,n的值是( C )。A0B3C2D19、C+中用3個(gè)保
3、留字實(shí)現(xiàn)異常處理,除了try和catch外,還有(C )。AifBclassCthrow Dreturn10、設(shè)有定義int x; double v;,則10+x+v值的數(shù)據(jù)類型是(B )。AintBdoubleCcharD不確定11、對(duì)于while、dowhile循環(huán)結(jié)果說(shuō)法正確的是( C)。A只是表達(dá)形式不同Bwhile結(jié)構(gòu)中的語(yǔ)句至少執(zhí)行一次Cdowhile結(jié)構(gòu)中的語(yǔ)句至少執(zhí)行一次D條件成立時(shí),他們有可能一次也不執(zhí)行12、下列運(yùn)算符中優(yōu)先級(jí)最高的為( A)。A!B% C-=D&13、有關(guān)構(gòu)造函數(shù)的說(shuō)法錯(cuò)誤的是(D )。A構(gòu)造函數(shù)名字和類的名字一樣B構(gòu)造函數(shù)在說(shuō)明類變量時(shí)自動(dòng)執(zhí)行C構(gòu)造函數(shù)
4、無(wú)任何函數(shù)類型D構(gòu)造函數(shù)有且只有一個(gè)14、通常的拷貝構(gòu)造函數(shù)的參數(shù)是(C )。A某個(gè)對(duì)象名B某個(gè)對(duì)象的成員名C某個(gè)對(duì)象的引用名D某個(gè)對(duì)象的指針名15、為了判斷兩個(gè)字符串s1和s2是否相等,應(yīng)當(dāng)使用( D)。Aif(s1=s2)Bif(s1=s2)Cif(strcpy(s1,s2) Dif(strcmp(s1,s2)=0)16、在定義int a36;后,第10個(gè)元素是(B)。Aa24Ba13Ca31D.a4217、不是C語(yǔ)言的浮點(diǎn)類型的是( )。DA. float B. double C. long double D. real18、下面不是字符常量是( )。A“t”t t19、C語(yǔ)言對(duì)嵌套if
5、語(yǔ)句的規(guī)定是:else總是與()配對(duì)。 DA. 其之前最近的ifB. 第一個(gè)ifC. 縮進(jìn)位置相同的ifD. 其之前最近且不帶else的if20、下面代碼段的執(zhí)行結(jié)果是( )。D int i;for(i=1;i10;i+) if(i%5=0)break; printf(%d ,i);printf(endn);end B1 2 3 4 5 end C1 2 3 4 5 D1 2 3 4 end 21、以下程序中調(diào)用scanf函數(shù)給變量a輸入數(shù)值的方法是錯(cuò)誤的,原因是( )。Bint a,*p=&a;scanf( “ %d ”, *p ); / 輸入a的數(shù)值A(chǔ). *p表示的是指針變量p的地址B.
6、*p表示的是變量a的值,而不是變量a的地址C. *p表示的是指針變量p的值D. *p只能用來(lái)說(shuō)明p是一個(gè)指針變量22、設(shè)int a10 = 15, 12, 7, 31, 47, 20 ,*p,下列語(yǔ)句中正確的是( )。BA. for ( p = a; a ( p + 10 ); a+ );B. for ( p = a; p ( a + 10); p+ );C. for( p = a, a = a + 10; p a; p+ );D. for( p = a; a age B. student.age C. p - age D. p.age28、 C+源文件的擴(kuò)展名為( )。AA. cppB. c
7、C. txtD.exe29、關(guān)于C+和C語(yǔ)言的描述中,( )是錯(cuò)誤的?CA. C是C+的一個(gè)子集B. C程序在C+環(huán)境可以運(yùn)行C. C+程序在C環(huán)境可以運(yùn)行D. C+是面向?qū)ο蟮亩鳦是面向過(guò)程的二、填空題1、表達(dá)式sqrt(81)和pow(6,3)的值分別為 和 。9、2162、空串的長(zhǎng)度為 ,存儲(chǔ)它需要占用 個(gè)字節(jié)。0、13、strlen(apple)的值為 。54、使用cin和cout進(jìn)行輸入輸出操作的程序必須包含頭文件 ,其語(yǔ)句格式為 。iostream.h #include 5、對(duì)一個(gè)一維字符數(shù)組a進(jìn)行初始化的數(shù)據(jù)為12345,則a0和a3元素對(duì)應(yīng)的初值分別為 和 。1、46、對(duì)一個(gè)類
8、中的數(shù)據(jù)成員的初始化可以通過(guò)構(gòu)造函數(shù)中的 實(shí)現(xiàn),也可以通過(guò)構(gòu)造函數(shù)中的 實(shí)現(xiàn)。初始化表、函數(shù)體7、隨機(jī)函數(shù)rand()%20的值在 至 區(qū)間內(nèi)。0、198、若需要把一個(gè)函數(shù)“void F();”定義為一個(gè)類AB的友元函數(shù),則應(yīng)在類AB 定義中加入一條語(yǔ)句: 。friend void F();9、根據(jù)給定的程序功能,將程序代碼補(bǔ)充完整,每空只填一條語(yǔ)句定義并調(diào)用排序函數(shù),對(duì)一維數(shù)組進(jìn)行降序排序。#include ; /*宏定義常量SIZE為10 */void sort(int a, int size ); /* 冒泡排序函數(shù)*/void main() int arraySIZE=2,6,4,8,
9、10,12,89,68,45,38, i; ; /* 調(diào)用排序函數(shù) */for( i=0;iSIZE;i+) ; /* 輸出數(shù)組元素 */ void sort(int a, int size ) int pass ,k ,t; for(pass=0; ;pass+) for( k=0; ksize-pass-1 ;k+) if( = 5 * GB3 ) /* 降序排序 */ t=ak; ak=ak+1; ak+1=t; 參考答案:本題考察數(shù)組排序#define SIZE 10; sort(array, SIZE) ;printf(%5d,arrayi); passak+1;10、根據(jù)給定的程序
10、功能,將程序代碼補(bǔ)充完整,每空只填一條語(yǔ)句,輸入一個(gè)正整數(shù),判斷是否為素?cái)?shù)。#include /* 引用頭文件*/void main( ) ; /* 定義變量m與i*/ printf(輸入一個(gè)正整數(shù) m:n); ; /*輸入整數(shù)m的值*/ for ( i =2; i =sqrt(m); i + ) /* 尋找能整除m的因子i*/ if ( ) break ; /*輸出是否為素?cái)?shù)*/ if ( = 5 * GB3 ) printf(%d 是素?cái)?shù).n, m) ; else printf(%d不是素?cái)?shù).n,m) ; 參考答案:本題考察數(shù)控制結(jié)構(gòu)#include int m, i;scanf(%d,&
11、m) ; m% i = 0isqrt(m)11、以下程序?qū)崿F(xiàn)字符串的復(fù)制,將程序補(bǔ)充完整。#include char* fuzhi(char *p1,char *p2 )int i;for(i = 0; ;i +)*(p1 + i) = *(p2 + i) ; ;return p1; int jishu(char *p)int i;for(i = 0; ;i +); ;int main () char a20 , b20; = 5 * GB3 ; / 輸入字符串,存儲(chǔ)在b 中fuzhi(a,b);printf(%sn,a);printf(the number is %dn,jishu(a);r
12、eturn 0;參考答案:本題考察數(shù)組及函數(shù)*(p2 + i)!=0;*p1 0;*p+ !0return i;gets(b);12、根據(jù)給定的程序功能,將程序代碼補(bǔ)充完整,每空只填一條語(yǔ)句,以下程序?qū)崿F(xiàn)二維數(shù)組的轉(zhuǎn)置,輸出轉(zhuǎn)置后的數(shù)組。#include /*數(shù)組大小*/void invert(int x N) int i,j,t;for(i=0;iN;i+) t=xij; ; xji=t; int main() int aNN=1,2,3,4,5,6,7,8,9, i,j; ; /*調(diào)用函數(shù)invert*/ for(i=0;iN;i+) for(j=0;jN;j+) = 5 * GB3 ;
13、coutendl; return 0; 本題考察二維數(shù)組參考答案#define N 3for(j=0;ji;j+) xij=xji; invert(a);coutaij;13、根據(jù)給定的程序功能,將程序代碼補(bǔ)充完整,每空只填一條語(yǔ)句,設(shè)計(jì)復(fù)數(shù)類Complex,實(shí)現(xiàn)算數(shù)運(yùn)算符重載。#include class Complex double dReal, dImag; /實(shí)部與虛部public: Complex(double r=0, double i=0) dReal=r; dImag=i; ; /重載運(yùn)算符+ Complex operator-() ; /重載取反符號(hào) void print(
14、)const; ;Complex Complex:operator + (const Complex &c2) / 重載加號(hào) Complex c; c.dReal=dReal+c2.dReal; /實(shí)部相加 ; /虛部相加 ; / 重載取反符號(hào) return Complex ( -dReal, -dImag); void Complex:print( )const / 輸出復(fù)數(shù)的實(shí)部與虛部,格式為(實(shí)部,虛部) = 5 * GB3 本題考察運(yùn)算符重載參考答案Complexoperator + (const Complex &c2);c. dImag = dImag +c2. dImag;ret
15、urn c;Complex Complex:operator-() ; cout ( dReal , dImag ) endl;14、根據(jù)給定的程序功能,將程序代碼補(bǔ)充完整,每空只填一條語(yǔ)句,抽象類Shape類派生矩形類 (Rectangle)和圓類(Circle),area()為求圖形面積的成員函數(shù)。 #include #include class Shapepublic: ; /定義純虛函數(shù)area ;class Rectangle:public Shape /矩形類int a,b; /矩形邊長(zhǎng)public: Rectangle(int x,int y); /構(gòu)造函數(shù)float area(
16、); /計(jì)算面積;Rectangle:Rectangle (int x,int y); ; /設(shè)置a b = y0 ? y:0; /設(shè)置b /定義成員函數(shù)area() return x*y; /定義圓類,公有繼承Shape類float r; / 半徑public: Circle(float x)r = x0? x:0; float area() = 5 * GB3 /計(jì)算并返回圓形面積;本題考察繼承與多態(tài)參考答案:virtual float area()=0 ; a=x0? x:0; float Rectangle:area() class Circle: public Shapereturn
17、 3.14*r*r ; 三、判斷題1、循環(huán)語(yǔ)句的循環(huán)體可能一次都不執(zhí)行。( )2、使用cin和cout進(jìn)行輸入輸出操作的程序必須包含頭文件math.h。( )3、C+源程序文件的擴(kuò)展名是.exe。( )4、關(guān)鍵字中,用以說(shuō)明類中公有成員的是private。( )5、一個(gè)類只能有一個(gè)對(duì)象。( )6、拷貝構(gòu)造函數(shù)不是類的成員函數(shù)。( )7、內(nèi)聯(lián)函數(shù)的關(guān)鍵字為friend。( )8、構(gòu)造派生類的對(duì)象時(shí),就要對(duì)基類數(shù)據(jù)成員、新增數(shù)據(jù)成員和成員對(duì)象的數(shù)據(jù)成員進(jìn)行初始化。( )9、一個(gè)派生類可以同時(shí)有多個(gè)基類,這種情況稱為單繼承。( )10、抽象類不能實(shí)例化。( )11、在C+類中可以包含私有、公有和友元
18、三種具有不同訪問(wèn)控制權(quán)的成員。( )12、定義枚舉類型的關(guān)鍵字是union。( )13、設(shè)有定義int x; double v;則5+x+v值的數(shù)據(jù)類型是int。( )14、strcat()函數(shù)的作用是求字符串長(zhǎng)度。( )15、說(shuō)明靜態(tài)數(shù)據(jù)成員時(shí),前邊要加關(guān)鍵字static。( )16、成員函數(shù)可以重載。( )17、delete的功能是動(dòng)態(tài)分配內(nèi)存。( )18、關(guān)鍵字中,用以說(shuō)明類中公有成員的是protected。( )19、流是一種抽象,它負(fù)責(zé)在數(shù)據(jù)的生產(chǎn)者和數(shù)據(jù)的消費(fèi)者之間建立聯(lián)系,并管理數(shù)據(jù)的流動(dòng)。( )20、類型兼容規(guī)則是指在需要基類對(duì)象的任何地方,都可以使用公有派生類的對(duì)象來(lái)替代。(
19、 )21、do-while循環(huán)可以寫成while循環(huán)。( ) 22、所謂指令,就是計(jì)算機(jī)可以識(shí)別的命令。( ) 23、使用內(nèi)聯(lián)函數(shù)是以犧牲增大空間開(kāi)銷為代價(jià)的。( ) 24、對(duì)象是系統(tǒng)中用來(lái)描述客觀事物的一個(gè)實(shí)體,它是用來(lái)構(gòu)成系統(tǒng)的一個(gè)基本單位。( )25、內(nèi)聯(lián)函數(shù)的關(guān)鍵字為void。( )26、友元關(guān)系可以繼承。( )判斷題答案1、 2、 3、 4、 5、 6、 7、 8、 9、 10、 11、 12、 13、 14、 15、 16、 17、 18、 19、 20、 21、 22、 23、 24、 25、 26、 四、閱讀下列程序,請(qǐng)?jiān)诖痤}卡上寫出輸出結(jié)果1、#includevoid mai
20、n() int x=1,y=2,z=3; x+=y+=z; cout(xy?y:x),; cout(xy?x+:y+),; coutyendl;輸出結(jié)果:6,5,62、#include void main()int i;for(i=4;i=10;i+)if(i%3=0)continue;couti;輸出結(jié)果:4578103、#includeclass CSampleprivate:int i;static int k;public:CSample();void Display();CSample:CSample()i=0;k+;void CSample:Display()couti=i,k=k
21、endl;int CSample:k=0;void main()CSample a,b;a.Display();b.Display();輸出結(jié)果:i=0,k=2i=0,k=24、#include void main()int x=1,y=0;switch(x)case 1:switch(y)case 0:coutfirst ;break;case 1:coutsecond ;break;case 2:coutthirdn;輸出結(jié)果:first third5、#includeclass CSampleint i;public:CSample();void Display();CSample();
22、CSample:CSample()coutConstructor,;i=0;void CSample:Display()couti=i,;CSample:CSample()coutDestructorendl;void main()CSample a;a.Display();輸出結(jié)果:Constructor,i=0,Destructor6、#includeconst int N=8;void main()int aN=1,2,3,4,5,6,7,8;int i,x;for(i=0; iN/2; i+)x=ai; ai=aN-1-i;aN-1-i=x;for(i=0; iN; i+)coutai
23、;輸出結(jié)果:876543217、#include class CSampleint i;public:CSample();CSample(int val);void Display();CSample();CSample:CSample()coutConstructor1endl;i=0;CSample:CSample(int val)coutConstructor2endl;i=val;void CSample:Display()couti=iendl;CSample:CSample()coutDestructorendl;void main()CSample a,b(10);a.Displ
24、ay();b.Display();輸出結(jié)果:Constructor1Constructor2i=0i=10DestructorDestructor8、本題重點(diǎn)考察繼承與多態(tài) # include class TwoDimensionalShape /二維圖形類public: virtual void show() cout這是一個(gè)二維圖形0? Len: 1; double getArea()return side*side; void show() cout邊長(zhǎng)為side的正方形,面積為getArea()endl;/矩形類class Retangle:public Square double l
25、ongSide;public: Retangle(double l, double w) :Square(l),longSide(w) double getArea()return side*longSide; void show( ) cout邊長(zhǎng)為side和longSide的長(zhǎng)方形,面積為getArea()endl;int main() TwoDimensionalShape t2 = Square(2),Retangle(3,4.5); t0.show(); t1.show(); TwoDimensionalShape * members3 ; /二維圖形指針數(shù)組 members0= n
26、ew Square(); members1= t; members2=new Retangle(3,4.5);for(int i=0;ishow(); return 0;運(yùn)行結(jié)果:這是一個(gè)二維圖形這是一個(gè)二維圖形邊長(zhǎng)為1的正方形,面積為1這是一個(gè)二維圖形邊長(zhǎng)為3和4.5的長(zhǎng)方形,面積為13.59、本題重點(diǎn)考察類的構(gòu)造與析構(gòu)函數(shù)#include #include class Person int age; /年齡 char *name; /姓名 public:Person ( ): age(0) name = new char10;strcpy(name,noName); coutdefault
27、 construct 0 ? a: 0;coutconstruct nameendl; Person () /析構(gòu)函數(shù) coutdestruct nameendl;if(name )delete name; ;int main() Person p1,p2(30,Linda); coutendl;return 0;運(yùn)行結(jié)果:default constructconstruct Lindadestruct Lindadestruct noName10、本題重點(diǎn)考察函數(shù)與字符數(shù)組#includeint num4,i;void count(char str ,int n) for( i=0; i n
28、; i+) if(1=stri& stri=9) num0+; else if(A=stri & stri=Z) num1+; else if(a=stri & stri=z) num2+; else num3+;void main( ) char str =Lin247; printf(%sn,str); count ( str, strlen(str) ; for( i=0; i4; i+) printf(%dn, numi );運(yùn)行結(jié)果:Lin247312111、本題重點(diǎn)考察類的定義#includeusing namespace std;class Student int age; ch
29、ar name10;public:Student (int a =18, char *str = noName)strcpy(name,str); age= a0 ? a: 0; Student(Student& s):age(s.age) strcpy(name,); coutcopy construct endl; Student ()coutdestruct names.age; const char* getName()const return name; ;int main() Student p1, p2(22,Linda); if(pare(p2) cout p1.getName
30、() is older.endl; else cout p2.getName() is older.endl; return 0; 運(yùn)行結(jié)果:copy constructdestruct LindaLinda is older.destruct Lindadestruct noName五、簡(jiǎn)答題(本大題共8小題,共40分)1、簡(jiǎn)述結(jié)構(gòu)化的程序設(shè)計(jì)、面向?qū)ο蟮某绦蛟O(shè)計(jì)的基本思想。解答要點(diǎn):結(jié)構(gòu)化的程序設(shè)計(jì)將數(shù)據(jù)和對(duì)數(shù)據(jù)的操作分離,程序是由一個(gè)個(gè)的函數(shù)組成的,面向?qū)ο蟮某绦蛟O(shè)計(jì)將數(shù)據(jù)和操作封裝在一起,程序是由一個(gè)個(gè)對(duì)象組成的,對(duì)象之間通過(guò)接口進(jìn)行通信,它能夠較好地支持程序代碼的復(fù)用。2、 虛析構(gòu)函
31、數(shù)有什么作用?解答要點(diǎn):對(duì)象銷毀時(shí),需要調(diào)用析構(gòu)函數(shù)。在多態(tài)調(diào)用時(shí),是用基類的指針訪問(wèn)派生類的對(duì)象。如果析構(gòu)函數(shù)是非虛函數(shù),則基類指針只能訪問(wèn)基類的析構(gòu)函數(shù),而不能訪問(wèn)派生類的析構(gòu)函數(shù),導(dǎo)致派生類對(duì)象銷毀時(shí),沒(méi)有調(diào)用派生類的析構(gòu)函數(shù),只是調(diào)用了基類的析構(gòu)函數(shù)。如果把析構(gòu)函數(shù)定義成虛函數(shù),則可克服這個(gè)問(wèn)題。3、 拷貝構(gòu)造函數(shù)在哪幾種情況下調(diào)用?解答要點(diǎn):用一個(gè)對(duì)象初始化另一個(gè)對(duì)象時(shí)當(dāng)用對(duì)象作為函數(shù)參數(shù)傳遞時(shí)當(dāng)函數(shù)返回對(duì)象時(shí)4、 函數(shù)重載與函數(shù)覆蓋有什么不同,它們與多態(tài)有什么關(guān)系? 解答要點(diǎn):函數(shù)重載是指函數(shù)名相同,而函數(shù)的參數(shù)個(gè)數(shù)或類型不同;覆蓋是指在派生類中成員函數(shù)與基類成員函數(shù)的函數(shù)名、參數(shù)
32、個(gè)數(shù)、類型與返回值均相同;C+中正是通過(guò)虛函數(shù)的覆蓋,實(shí)現(xiàn)多態(tài)的功能。5、 C+繼承是如何工作的?解答要點(diǎn):繼承使得派生類能夠使用基類的公有和保護(hù)成員,從而實(shí)現(xiàn)代碼的復(fù)用,派生類可以增加成員,也可以隱藏和覆蓋基類的成員。對(duì)于公有繼承,基類成員的訪問(wèn)權(quán)限在派生類保持不變。6、 類與對(duì)象有什么區(qū)別?解答要點(diǎn):類是類型,是對(duì)象的抽象,對(duì)象是類的具體實(shí)例。一個(gè)類可以有多個(gè)對(duì)象,每個(gè)對(duì)象都有自己的存儲(chǔ)單元,而類不占存儲(chǔ)單元。7、實(shí)現(xiàn)將輸入的字符串反序輸出,如輸入windows 輸出swodniw。找出并改正程序中的語(yǔ)法及邏輯錯(cuò)誤(在原程序中畫出出錯(cuò)語(yǔ)句,在右側(cè)修改成正確的語(yǔ)句,同一類錯(cuò)誤算一處錯(cuò)誤)。v
33、oid main() char c100,c1; int i ,j, k; printf(Enter a string: ); scanf(%c,c); k=strlen(c); for (i=0,j=k-1;ik ;i+,j-) c1=ci;ci=cj;cj=c1; printf(%sn,c); 本題考察字符數(shù)組參考答案:缺少頭文件#include 缺少頭文件#include scanf(%c,c); 改為 scanf(%s,c); for (i=0,j=k-1;ik;i+,j-) 改為for (i=0,j=k-1;ik/2;i+,j-) c1=ci;ci=cj;cj=c1; 改為 c1=c
34、i;ci=cj;cj=c1; 8、分析以下代碼段,回答問(wèn)題。 char a=how are you; char *p=how are you;a2=k;和p2=k;哪個(gè)是錯(cuò)誤的用法?為什么?a+;和p+;哪個(gè)是錯(cuò)誤的用法?為什么?本題考察字符數(shù)組與字符串參考答案:p2=k 錯(cuò)誤,因?yàn)橹羔榩只能指向字符串,不能存儲(chǔ)字符串和字符!a+ 錯(cuò)誤,因?yàn)閿?shù)組名為常量,其值不能修改!9、count函數(shù)統(tǒng)計(jì)字符串str中數(shù)字的數(shù)目,找出并改正函數(shù)定義中存在的錯(cuò)誤。int count(char str ) int i, num; for( i=0; i sizeof(str); i+) if( 0=stri=9
35、)num+1;參考答案(1)int i, num; 改為int i, num=0;(2)i sizeof(str);改為stri!=0 或者strlen(str)(3)if( 0=stri=0& stri=9 )(4)num+1; 改為num+;或者+num;(5) 缺少return num; 或?qū)⒑瘮?shù)類型改為void 函數(shù)中輸入num值六、編程題 1、編寫一個(gè)程序輸入一華氏溫度,編程輸出攝氏溫度。已知:華氏溫度(F)轉(zhuǎn)換為攝氏溫度(C)的計(jì)算公式為: #includevoid main()float c,f;coutf;c=(f-32)*5/9;cout攝氏溫度:cendl;2、編寫一個(gè)程序
36、將輸入的一個(gè)三位正整數(shù)逆轉(zhuǎn),例如,輸入123,輸出321。#includevoid main()int n,i,j,k;coutn;i=n/100;/求百位數(shù)n=n-i*100;j=n/10;/求十位數(shù)n=n-j*10;k=n;/求個(gè)位數(shù)cout逆轉(zhuǎn)數(shù):kjiendl;3、編寫一個(gè)程序,輸入3個(gè)職工的編號(hào)和姓名,然后顯示出來(lái)。#include#include#includeclass Personprivate:int no;char name10;public:void setdata(int bh,char xm)no=bh;strcpy(name,xm);void dispdata(vo
37、id)coutsetw(5)nosetw(10)nameendl;void main()Person stud3;stud0.setdata(1,張三);stud1.setdata(2,李四);stud2.setdata(3,王五);for(int i=0;i3;i+)studi.dispdata();4、編寫一個(gè)程序,求解猴子吃桃問(wèn)題。猴子第一天摘下若干個(gè)桃子,當(dāng)即吃了一半,還不過(guò)癮,又多吃了一個(gè)。第二天早上又將剩下的桃子吃掉一半,又多吃了一個(gè)。以后每天早上都吃前一天剩下桃子的一半零一個(gè)。到第10天早上想再吃時(shí),見(jiàn)只剩一個(gè)桃子了。求第一天共摘多少桃子。#include void main()
38、int day, x1, x2;day=9;x2=1; /(以上部分2分)while(day0) /(以下循環(huán)3分)x1=(x2+1)*2;x2=x1;day-;printf(“total=%dn”,x1);5、編寫C程序求解方程。輸入方程系數(shù)a、b與c,計(jì)算方程的根。 若令根的判別式為,分別考慮如下幾種情況: 若且, 輸出一個(gè)根的值; 若且,輸出“無(wú)實(shí)根”; 若且,輸出兩等根的值; 若且,輸出兩實(shí)根的值。分析:本題考察基本數(shù)據(jù)類型與輸入輸出操作、運(yùn)算符與表達(dá)式以及選擇結(jié)構(gòu)的相關(guān)知識(shí)點(diǎn)。參考答案#include (1分)#include (1分)int main()(1分)double a,b
39、,c ,d, x1,x2; scanf(%lf,%lf,%lf,&a,&b,&c); (1分)d=b*b-4*a*c; (1分)if(a=0 & b!=0 ) (1分)printf(%f, -c/b); else if(d0) (1分) printf(無(wú)實(shí)根n);else if (d=0) (1分)printf(%8.4fn, -b/(2*a); else(2分) x1=(-b+sqrt(d)/(2*a); x2=(-b-sqrt(d)/(2*a); printf(兩實(shí)根:%8.4f ,%8.4fn,x1,x2); return 0;6、編寫C程序計(jì)算三角形面積。輸入三角形的三邊長(zhǎng)(假設(shè)都為整
40、數(shù))。如果不能構(gòu)成三角形則輸出“錯(cuò)誤”,如果能構(gòu)成三角形則輸出三角形的邊長(zhǎng)和面積,按海倫公式計(jì)算三角形面積: 分析:本題考察基本數(shù)據(jù)類型與輸入輸出操作、運(yùn)算符與表達(dá)式以及選擇結(jié)構(gòu)的相關(guān)知識(shí)點(diǎn)。參考程序#include (1分)#include (1分)int main()int a ,b ,c ; double s, area; (1分)scanf(%d%d%d,&a,&b,&c); (1分)if(a+bc & b+ca& c+ab) (2分)s = (a+b+c)/2.0; area = sqrt(s*(s-a)*(s-b)*(s-c); (2分)printf(a=%d,b=%d,c =%d
41、,area=%fn ,a,b,c,area); else printf(錯(cuò)誤); (2分)7、編寫函數(shù)int strCompare( char * pStr1, char* pStr2);實(shí)現(xiàn)字符串的長(zhǎng)度比較,函數(shù)返回pStr1與pStr2指向字符串的長(zhǎng)度差,在main()函數(shù)中輸入4個(gè)字符串,長(zhǎng)度不超過(guò)10,調(diào)用該函數(shù)搜索并輸出最長(zhǎng)的字符串。分析:本題考察控制結(jié)構(gòu)、數(shù)組與函數(shù)以及字符串的相關(guān)知識(shí)點(diǎn)參考程序#include int strCompare(char* pStr1, char* pStr2) return strlen(pStr1)-strlen(pStr2); int main(
42、) int i; char c520; for(i=0; i4;i+) gets(ci); strcpy(c4,c0); for(i=0; i0) strcpy(c4,ci); puts(c4); return 0;8、已知如下平面點(diǎn)類Point,以點(diǎn)類為基類,派生出矩形類。矩形在平面坐標(biāo)系下水平放置,由左下方的頂點(diǎn)、長(zhǎng)和寬定義。矩形類增加一個(gè)成員函數(shù),判斷任一坐標(biāo)點(diǎn)是在矩形內(nèi),還是在矩形的邊緣上,還是在矩形外。請(qǐng)給出矩形類的完整定義。class Point public: Point( int a = 0, int b = 0 ):x(a), y(b) ; int getX( ) const
43、 return x; int getY( ) constreturn y; protected: int x, y; /橫縱坐標(biāo);分析:本題考察類的封裝及繼承相關(guān)知識(shí)點(diǎn)參考程序 class Rectangle: public Point /3分 double width, length;public:Rectangle(int,int,double,double); int location(Point& p);Rectangle:Rectangle(int x,int y,double w,double l):Point(x,y) /2分 width = (w0)?w:0;length = (l0)?l:0;int Rectangle:location(Point& p) /3分 if( p.xx & p.xy & p.yy+length) return 1; /在矩形內(nèi) else if(p.xx+width | p.yy+length) return 0; /矩形外 else return -1; /矩形上 9、設(shè)計(jì)描述時(shí)間的類Time,包括分別表示小時(shí)、分鐘和秒的int類型的數(shù)據(jù)成員、構(gòu)造函數(shù)以及將時(shí)間以XX:XX:X
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 美、日、印發(fā)展信息產(chǎn)業(yè)的模式及其對(duì)我國(guó)的啟示
- 繪畫合伙人合同協(xié)議書
- 2025實(shí)習(xí)生勞動(dòng)合同模板
- 2025企業(yè)租賃辦公樓合同協(xié)議樣本
- 2025版本的合肥市房地產(chǎn)買賣合同
- 合伙人買車合同協(xié)議書
- 2025年農(nóng)業(yè)綠色發(fā)展政策支持與高效節(jié)水灌溉技術(shù)應(yīng)用報(bào)告
- 2025店鋪?zhàn)赓U合同范本下載
- 2025貨運(yùn)服務(wù)合同范本
- 2025有關(guān)版權(quán)轉(zhuǎn)讓合同模板
- 解剖學(xué)公開(kāi)課課件內(nèi)分泌
- 銀屑病臨床病例討論
- 【MOOC】工程經(jīng)濟(jì)學(xué)原理-東南大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 涉密人員審查備案登記表
- 2025高考數(shù)學(xué)專項(xiàng)復(fù)習(xí)第三章 函數(shù)與基本初等函數(shù)第1節(jié) 函數(shù)的概念及其表示含答案
- 2023-2024學(xué)年廣東省深圳市深中共同體聯(lián)考八年級(jí)(下)期中地理試卷
- 高層建筑汽車吊吊裝作業(yè)方案
- 24秋新人教版地理七年級(jí)上冊(cè)大單元整體設(shè)計(jì)-第四章 天氣與氣候課件
- 大學(xué)生創(chuàng)新創(chuàng)業(yè)基礎(chǔ)(創(chuàng)新創(chuàng)業(yè)課程)完整全套教學(xué)課件
- CJJ/T47-2016生活垃圾轉(zhuǎn)運(yùn)站技術(shù)規(guī)范
- DL∕T 5156.2-2015 電力工程勘測(cè)制圖標(biāo)準(zhǔn) 第2部分:巖土工程
評(píng)論
0/150
提交評(píng)論