(完整版)C++試題_第1頁
(完整版)C++試題_第2頁
(完整版)C++試題_第3頁
(完整版)C++試題_第4頁
(完整版)C++試題_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、F卷一、單項選擇題1. C+源程序文件的默認擴展名為.cpp2. 由C+堿程序文件編譯而成的目標文件的默認擴展名為.obj3. 由C+出標文件連接而成的可執(zhí)行文件的默認擴展名為.exe4. C+ 程序從上機到得到結果的幾個操作步驟依次是編輯、編譯、連接、運行5. 以下標識符中不全是保留字的是( B ) 。A. case for int B. default then whileC. bool class long D. goto return char6. 能作為C+®序的基本單位是(C )。A. 字符 B. 語句 C. 函數(shù) D. 源程序文件7. 程序中主函數(shù)的名字為main8.

2、C+ 程序的基本模塊為( D) 。A. 表達式 B. 標識符 C. 語句 D. 函數(shù)9. 可用作C+畸言用戶標識符白一組標識符是(B )。A. void define +WORDB. a3_b3 _123 YNC. for -abc CaseD. 2a DOsizeof10. 存儲以下數(shù)據(jù),占用存儲字節(jié)最多的是( D ) 。A. 0 B. 0 C.“ 0”D. 0.011. 程序運行中需要從鍵盤上輸入多于一個數(shù)據(jù)時, 各數(shù)據(jù)之間應使用 ( D ) 符號作為分隔符。A. 空格或逗號B. 逗號或回車C. 逗號或分號D. 空格或回車12. 設" int a=12;”,則執(zhí)行完語句"

3、; a+=a*a; "后,a的值是(C )。A. 12 B. 144 C. 156 D. 28813. 假設在程序中 a 、 b、 c 均被定義成整型, 所賦的值都大于 1,則下列能正確表示代數(shù)式的表達式是 ( D ) 。A. 1.0/a*b*c B. 1/(a*b*c) C. 1/a/b/(float)c D.1.0/a/b/c14. 設” int a=15,b=26; ” ,則” cout<<(a,b); ”的輸出結果是( D )。A. 15 B. 26,15 C. 15,26 D. 2615. 設 x 是一個 bool 型的邏輯量, y 的值為10,則表達式x &a

4、mp;&y 的值為( C ) 。A. 1 B. 0 C. 與 x 值相同 D. 與 x 值相反16. x>0 && x<=10 的相反表達式為( A ) 。A. x<=0 | x>10 B. x<=0 && x>10C. x<=0 |x<=10 D. x>0 && x>1017. x>0 | y=5 的相反表達式為( B ) 。A. x<=0 | y!=5 B. x<=0 && y!=5C. x>0 | y!=5D. x>0 &

5、;& y=518 設 x 和 y 均為 bool 量,則 x && y 為真的條件是( A ) 。A. 它們均為真B. 其中一個為真C. 它們均為假 D. 其中一個為假19 設 x 和 y 均為 bool 量,則 x | y 為假的條件是( C ) 。A. 它們均為真B. 其中一個為真C. 它們均為假 D. 其中一個為假20. 字符串" a+b=12n”的長度為(B )。 長度算的不是字節(jié),“ 12”算為2A. 6 B. 7 C. 8 D. 921. 假定下列 x 和 y 均為 int 型變量,則不正確的賦值為(B )。X+沒有意義A. x+=y+ B. x+

6、=y+ C. x=+y D.+x=+y22. 下列的符號常量定義中,錯誤的定義是( C ) 。A. const M=10; B. const int M=20;C. const char ch; D. const bool mark=true;23. 循環(huán)語句“ for(int i= 0; i<n; i+) cout<<i*i<< ;中循環(huán)體執(zhí)行的次數(shù)為 ( C ) 。A. 1 B. n-1 C. n D. n+124. 在下面循環(huán)語句中循環(huán)體執(zhí)行的次數(shù)為( B ) 。for(int i=0; i<n; i+)if(i>n/2) break;A. n/

7、2 B. n/2+1 C. n/2-1 D. n-125. 在下面循環(huán)語句中內(nèi)層循環(huán)體S語句的執(zhí)行總次數(shù)為( D )。for(int i=0; i<n; i+)for(int j=i; j<n; j+) S;A. n 2 B. (n+1)/2 C. n(n-1)/2 D.n(n+1)/226. 在下面循環(huán)語句中循環(huán)體執(zhí)行的次數(shù)為( C ) 。int i=0,s=0; while(s<20) i+; s+=i;A. 4 B. 5 C. 6 D. 727. 在下面循環(huán)語句中循環(huán)體執(zhí)行的次數(shù)為( B ) 。int i=0; do i+; while(i*i<10);A. 4

8、B. 3 C. 5 D. 228. 當處理特定問題時的循環(huán)次數(shù)已知時,通常采用( A ) 來解決。A. for 循環(huán) B. while 循環(huán) C. do 循環(huán) D. switch 語句29. 循環(huán)體至少被執(zhí)行一次的語句為( C ) 。A. for 循環(huán) B. while 循環(huán) C. do 循環(huán) D.任一種循環(huán)30. switch 語句能夠改寫為( B )語句。A. for B. if C. do D. while31. do 語句能夠改寫為( D )語句。A. 復合 B. if C. switch D. while32. 在下面的一維數(shù)組定義中,哪一個有語法錯誤。 ( C )A. int a=

9、1,2,3; B. int a10=0;C. int a; D. int a5;33. 在下面的字符數(shù)組定義中,哪一個有語法錯誤。 ( D ) 。A. char a20= ” abcdefg ” ; B. char a= ” x+y=55. ” ;C. char a15;D.char a10= 5 ;34. 在下面的二維數(shù)組定義中,正確的是 ( C ) 。A. int a5;B. int a5;C. int a3=1,3,5,2; D. int a(10);35. 假定一個二維數(shù)組的定義語句為“ inta34=3,4,2,8,6;” ,則元素 a12 的值為( C )。A. 2 B. 4 C.

10、 6 D. 836. 假定一個二維數(shù)組的定義語句為“ inta34=3,4,2,8,6;” ,則元素 a21 的值為A. 0 B. 4 C. 8 D. 637. 若定義了函數(shù)double *function(), 則函數(shù) function 的返回值為( B ) 。A. 實數(shù)型 B. 實數(shù)的地址C. 指向函數(shù)的指針D.函數(shù)的地址38. 以下說法中正確的是( B ) 。A. C+程序總是從第一個定義的函數(shù)開始執(zhí)行B. C+程序總是從 main函數(shù)開始執(zhí)行C. C+函數(shù)必須有返回值,否則不能使用函數(shù)D. C+程序中有調(diào)用關系的所有函數(shù)必須放在同一個程序文件中39. 以下敘述中不正確的是( C ) 。

11、A. 在一個函數(shù)中,可以有多條 return 語句B. 函數(shù)的定義不能嵌套,但函數(shù)的調(diào)用可以嵌套C. 函數(shù)必須有返回值D. 不同的函數(shù)中可以使用相同名字的變量40. 函數(shù)重載是指( A ) 。A. 兩個或兩個以上的函數(shù)取相同的函數(shù)名,但形參的個數(shù)或類型不同B. 兩個以上的函數(shù)取相同的名字和具有相同的參數(shù)個數(shù),但形參的類型可以不同C.兩個以上的函數(shù)名字不同,但形參的個數(shù)或類型相同D. 兩個以上的函數(shù)取相同的函數(shù)名,并且函數(shù)的返回類型相同41. 以下關于函數(shù)模板敘述正確的是( C ) 。A. 函數(shù)模板也是一個具體類型的函數(shù)B. 函數(shù)模板的類型參數(shù)與函數(shù)的參數(shù)是同一個概念C. 通過使用不同的類型參數(shù)

12、,函數(shù)模板可以生成不同類型的函數(shù)D. 用函數(shù)模板定義的函數(shù)沒有類型42. 下列( C )的調(diào)用方式是引用調(diào)用。A.形參和實參都是變量B. 形參是指針,實參是地址值C. 形參是引用,實參是變量D. 形參是變量,實參是地址值43. 為了提高程序的運行速度,可將不太復雜的功能用函數(shù)實現(xiàn),此函數(shù)應選擇( A ) 。A. 內(nèi)聯(lián)函數(shù) B. 重載函數(shù) C. 遞歸函數(shù) D. 函數(shù)模板44. 函數(shù)原型語句正確的是( B ) 。A. int Function(void a); B.void Function (int);C. int Function(a); D.void int(double a);45. C+

13、 中函數(shù)返回值的類型是由( B )決定的。A. return 語句中表達式的類型 B. 該函數(shù)定義時的類型C.調(diào)用函數(shù)時的調(diào)用語句D.系統(tǒng)根據(jù)結果46. 以下函數(shù)的返回結果是( A )int function(char *x) char *p=x; while(*p+); return(p-x-1);A. 求字符串的長度B. 將字符串 x 連接到字符串 p 后面C. 將字符串 x 復制到字符串 p 中 D. 將字符串 x 反向存放47. 函數(shù)調(diào)用 func(exp1,exp2),(exp3,exp4,exp5) 中所含實參的個數(shù)為 ( B ) 個。A. 1 B. 2 C. 4 D. 548.

14、設有如下函數(shù)定義int f(char *s) char *p=s;while(*p!= 0 ) p+;return(p-s);在主函數(shù)中用 cout<<f( “ good” ) 調(diào)用上述函數(shù), 則輸出結果為( B )。A. 3 B. 4 C. 5 D. 649. 以下正確的函數(shù)原型語句是 ( C ) 。A. double fun(int x,int y)B. doublefun(int x;int y)C. double fun(int,int);D. doublefun(int x,y);50. 以下正確的說法是( B ) 。A. 用戶調(diào)用標準庫函數(shù)前,必須重新定義B. 用戶可以

15、重新定義標準庫函數(shù),若如此,該函數(shù)將失去原有含義C. 系統(tǒng)不允許用戶重新定義標準庫函數(shù)D. 用戶調(diào)用標準庫函數(shù)前,不必使用預編譯命令將該函數(shù)所在文件包括到用戶源文件中二、填空題1. C+ 語言是在 語言的基礎上發(fā)展起來的。2. C+ 語言的編譯單位是擴展名為 的文件。3. 行尾使用注釋的開始標記符為 。4. 多行注釋的開始標記符和結束標記符分別為 和5. 用于輸出表達式值的標準輸出流對象是 。6. 用于從鍵盤上為變量輸入值的標準輸入流對象是 7. 一個完整程序中必須有一個名為 的函數(shù)。8. 一個函數(shù)的函數(shù)體就是一條語句。9. 當執(zhí)行 cin 語句時,從鍵盤上輸入每個數(shù)據(jù)后必須接著輸入一個 符,

16、然后才能繼續(xù)輸入下一個數(shù)據(jù)。10. 在C+®序中包含一個頭文件或程序文件的預編譯命令為11. 程序中的預處理命令是指以 字符開頭的命令。12. 一條表達式語句必須以 作為結束符。13. 在#include命令中所包含的頭文件,可以是系統(tǒng)定義的頭文件,也可以是定義的頭文件。14. 使用 #include 命令可以包含一個頭文件,也可以包含一個文件。15. 一個函數(shù)定義由 和 兩部分組成。16. 若一個函數(shù)的定義處于調(diào)用它的函數(shù)之前, 則在程序開始可以省去該函數(shù)的 語句。17. . C+以文件和源程序文件的擴展名分別為和。18. 程序文件的編譯錯誤分為 和 兩類。19. 當使用 保留字作

17、為函數(shù)類型時,該函數(shù)不返回任何值。20. 當函數(shù)參數(shù)表用 保留字表示時, 則表示該參數(shù)表為空。21. 從一條函數(shù)原型語句“ int fun1(void); ”可知,該函數(shù)的返回類型為 ,該函數(shù)帶有個參數(shù)。22. 當執(zhí)行cout語句輸出endl數(shù)據(jù)項時,將使C+電示輸出屏幕上的光標從當前位置移動到 的開始位置。23. 假定 x=5, y=6, 則表達式 x+*+y 的值為 35。 X+返回的值是加之后的,但x 本身已經(jīng)加了 1 了,注意是返回值,區(qū)別 +x24. 假定x=5, y=6,則表達式x-*-y 的值為 2525. 假定x=5, y=6,則執(zhí)行表達式y(tǒng)*=x+計算后,x和y的值 分別為

18、6和 30。26. 假定x=5, y=6,則執(zhí)行表達式y(tǒng)+=x-計算后,x和y的值 分別為 4和 _11。27. C+ 常數(shù)0x145對應的十進制值為?28. C+ 常數(shù) 0345 對應的十進制值為 。29. 十進制常數(shù)245對應的十六進制的C+碟示為 o 10是A了30. 十進制常數(shù)245對應的八進制的C+原示為 31. signed char 類型的值域范圍是至 之間的整數(shù)。32. int和float類型的數(shù)據(jù)分別占用 4 口 4個字節(jié)。33. float 和 double 類型的數(shù)據(jù)分別占用 4和8個字節(jié)。34. bool 和 char 類型的數(shù)據(jù)分別占用 1和 1_個字節(jié)。35. un

19、signed short int 和 int 類型的長度分別為 2和 4。36. 字符串” s a book.n ”的長度為_15。37. 字符串” s a pennn ”的長度為 15。38. 在C+沖存儲字符串" abcdef”至少需要個字節(jié)。39. 在C+沖存儲字符串" a+b=c”至少需要個字節(jié)。40. 假定x和y為整型,其值分別為16和5,則x%y和x/y的 值分別為 和。41. 假定 x 和 y 為整型,其值分別為 16 和 5,則x/y 和double(x)/y 的值分別為 和。42. 假定x 是一個邏輯量,則x && true的值為 。43.

20、 假定x 是一個邏輯量,則x | true的值為 。44. 假定x 是一個邏輯量,則x && false的值為 。45. 假定x 是一個邏輯量,則x | false的值為 。46. 假定x是一個邏輯量,則!x | false 的值為。47. 假定x 是一個邏輯量,則x && !x 的值為 。48. 假定x 是一個邏輯量,則x | !x的值為 。49. 數(shù)學算式的C+裝達式為50. 數(shù)學算式的C+裝達式為51. 數(shù)學算式的C+第達式為 52. 設enum Printstatusready,busy,error; 則 cout<<busy 的輸出結果53

21、. 設 enum Printstatusready=2,busy,error; 則cout<<busy 的輸出結果是。54. 常數(shù) -4.205 和 6.7E-9 分別具有 和位有效數(shù)字。55. 枚舉類型中的每個枚舉值都是一個,它的值為一個。56. 常數(shù) 100 和 3.62 的數(shù)據(jù)類型分別為 和57. 若 x=5, y=10, 則計算 y*=+x 表達式后, x 和 y 的值分別為和。58. 假定 x 和 ch 分別為 int 型和 char 型,則 sizeof(x) 和 sizeof(ch) 的值分別為 和。59. 假定x=10,則表達式x<=10?20:30的值為。6

22、0. 表達式 sqrt(81) 和 pow(6,3) 的值分別為 和。清華大學計算機系C+蝴末考試題及答案一、 填空題( 25 小題,共 50 分)(以下每小題 1 分,共 10 分)1 .在C+用,函數(shù)的參數(shù)有兩種傳遞方式,它們是值傳遞和地址或指針或引用傳遞。2 當一個成員函數(shù)被調(diào)用時,該成員函數(shù)的 this 指針 指向調(diào)用它的對象。3在基類和派生類中,派生類可以定義其基類中不具備的數(shù)據(jù)和操作。對兩個有相同名字的數(shù)據(jù)成員進行訪問時,如果沒有作用域分隔符限定時 ,對此數(shù)據(jù)成員的訪問將出現(xiàn)歧義。4 拷貝構造函數(shù)使用 引用 作為參數(shù)初始化創(chuàng)建中的對象。5 在公有繼承的情況下, 基類數(shù)據(jù)成員在派生類

23、中的訪問權限保持不變 。6 .描述命題"A小于B或小于C"的表達式為 A<B|A<C 。7 用 new 申請某一個類的動態(tài)對象數(shù)組時,在該類中必須能夠匹配到 沒有形參的或缺省參數(shù) 構造函數(shù), 否則應用程序會產(chǎn)生一個編譯錯誤。8靜態(tài)數(shù)據(jù)成員在類外進行初始化,且靜態(tài)數(shù)據(jù)成員的一個拷貝被類的所有對象共享 。9 .為了避免可能出現(xiàn)的歧義,C+M ifelse語句配對規(guī)則規(guī)定為: else 總是與 與最近的 if 配對。10 .設"int a=3,b=4,c=5;",表達式"(a+b) >c&&b=c"的值是

24、0。(以下每小題 2 分,共 20 分)11 面向?qū)ο蟮某绦蛟O計有四大特征, 它們是 抽象、 封裝、 繼承 、多態(tài) 。12 在 Visual C+ 中,定義重載函數(shù)時,應至少使重載函數(shù)的參數(shù)個數(shù)或參數(shù)類型 不同 ; 在基類和派生類中, 成員函數(shù)的覆蓋是指派生類成員函數(shù)與在基類被覆蓋的成員函數(shù)名、 參數(shù)個數(shù)、 參數(shù)類型和返回值類型均相同 。13構造函數(shù)與析構函數(shù)除功能不同外,在定義形式上,它們的區(qū)別還包括構造函數(shù)名與類名相同, 而析構函數(shù)名是在類名前加一個、析構函數(shù)沒有參數(shù) 、析構函數(shù)可以定義為虛函數(shù)。14 動態(tài)聯(lián)編要滿足兩個條件, 它們是 被調(diào)用的成員函數(shù)是虛函數(shù) 、用指針或引用調(diào)用虛函數(shù)。1

25、5 .在C+1中,有一種不能定義對象的類,這樣的類只能被繼承,稱之為 抽象類 ,定義該類至少具有一個純虛函數(shù) 。16 .在C+鎂中,const關鍵字可以修飾對象和成員函數(shù),const對象不能 被修改 , const 成員函數(shù)不能修改類數(shù)據(jù)成員 。17 .舉出C+沖兩種用戶自定義的數(shù)據(jù)類型:類、枚舉。18 . C+中沒有字符串類型,字符串是通過 字符數(shù)組 來表示的,每一個字符串都有一個結尾字符0 。19 . C+中沒有輸入輸出語句,輸入輸出是通過 輸入輸出庫 實現(xiàn)的,寫出一條打印整型變量n 的輸出語句: cout<<n ;20 .舉出C+沖兩種代碼復用的方式:繼承、復用。(以下每小題

26、 4 分,共 20 分)x=(b-a)/('F'-'A');21 下面程序的運行結果是3。printf("%dn",(int)(3.14*x);#include <stdio.h>void main()22 下面程序的運行結果是2float x;char a='a',b='j'5 8 11 14 。#include "iostream.h#include "iostream.h"class testprivate:int num;float fl;public:test

27、( );int getint( )return num;void main( )int i=1;while (i<=15)i+;if (i%3!=2) continue;else cout<<"i="<<i<<endl;23 下面程序的運行結果是float getfloat( )returnfl;test( );test:test( )cout << "Initalizingdefault" << endl;num=0;fl=0.0;test:test( )cout << &q

28、uot;Desdtructor is active" << endl;void main( )test array2;cout <<array1.getint( )<< " " <<public:array1.getfloat( ) <<endl;Initalizing defaultInitalizing default0 0Desdtructor is activeDesdtructor is active24下面程序的運行結果是#include <iostream.h>class Apu

29、blic:A()cout<<"A:A()called.n"virtualA()cout<<"A:A()called.n"class B:public AB(int i)cout<<"B:B() called.n"buf=new chari;virtual B()delete buf;cout<<"B:B()called.n"private:char *buf;void fun(A *a)delete a;void main()A *a=new B(15);fun(a)

30、;printf("%dt%dt%dn",a4,* *A:A() called.B:B() called.B:B() called.A:A() called.25 下面程序的運行結果是。(a+2),p =a,a+1,a+2,a+3,a+4;p1);printf("%dt%dt%dn",*(p+1 )+a2,*(p+4)-*(p+0),*(a+3)% a4);9 5 38 4 7void main( )二、 問答題(每小題5 分,共 20 分)1 若程序員沒有定義拷貝構造函數(shù),則編譯器自動生成一個缺省的拷貝構造函數(shù),它可能會產(chǎn)生什么問題?解答要點: 當對象含

31、有指針數(shù)據(jù)成員, 并用它初始化同類型的另一個對象時, 缺省的拷貝構造函數(shù)只能將該對象的數(shù)據(jù)成員復制給另一個對象,而不能將該對象中指針所指向的內(nèi)存單元也復制過去。這樣,就可能出現(xiàn)同一內(nèi)存單元釋放兩次,導致程序運行出錯。2 簡述成員函數(shù)、全局函數(shù)和友元函數(shù)的差別。解答要點:以下幾點必須說清楚:成員函數(shù)是在類內(nèi)部定義的, 作用域在類的內(nèi)部, 成員函數(shù)可以訪問類的數(shù)據(jù)成員(公有、保護和私有數(shù)據(jù)成員),可以調(diào)用該類的其它成員函數(shù)(公有、保護和私有成員函數(shù)),可以調(diào)用全局函數(shù)。如果友元函數(shù)是另一個類的公有成員函數(shù), 則該類的成員函數(shù)也只能通過那個類的對象調(diào)用, 不能調(diào)用那個類的保護和私有成員函數(shù)。 非本類

32、成員函數(shù) (其它類成員函數(shù)或全局函數(shù)) 可以通過該類的對象訪問該類的公有數(shù)據(jù)成員和調(diào)用該類的的公有成員函數(shù)。不是在類中定義的成員函數(shù)都是全局函數(shù)。如果某一個函數(shù) (全局函數(shù)或類的成員函數(shù)) 定義為另一個類的友元函數(shù),需要在那個類中用 friend 關鍵字聲明,友元函數(shù)并不是類的成員,它的定義自然是在那個類的外面。3 簡述結構化的程序設計、面向?qū)ο蟮某绦蛟O計的基本思想。解答要點: 結構化的程序設計將數(shù)據(jù)和對數(shù)據(jù)的操作分離, 程序是由一個個的函數(shù)組成的, 面向?qū)ο蟮某绦蛟O計將數(shù)據(jù)和操作封裝在一起,程序是由一個個對象組成的,對象之間通過接口進行通信,它能夠較好地支持程序代碼的復用。4 結構 stru

33、ct 和類 class 有什么異同?解答要點: struct 和 class 都可以定義類,但是缺省訪問權限說明時, struct 的成員是公有的,而class 的成員是私有的。在C+中, struct 可被 class 代替。三、(8分)下列shape類是一圖形面積的函數(shù), total( ) 則是一個通用的用以求不同形狀的圖形面area( ) 為求個通用的用以求不同形狀的圖形面、矩形類積總和的函數(shù)。請從shape 類派生三角形類(triangle)( rectangle ),并給出具體的求面積函數(shù)class shapepublic:virtual float area( )=0;float

34、total(shape *s ,int n)float sum=0.0;for(int i=0;i<n;i+)sum+=si->area( );return sum;public:Triangle(double h,doublew)H=h;W=w;double Area()constreturn H*W*0.5;private:double H,W;class Rectangle:publicShapepublic:class Triangle:public ShapeRectangle(doubleh,double w)H=h;W=w;private:doubledouble H

35、,W;Area()constreturn H*W;五、( 6 分)完成順序查找函數(shù)f_seq( ) 。其過程是:從表頭開始,根據(jù)給定的模式,逐項與表中元素比較。如果找到所需元素,則查找成功, 并打印出它在表中的順序號。象,則查找失敗#include <stdio.h>void f_seq(char*list,char *object,int len)/list 指針數(shù)組, 指向字符串/object 模式串/len 表的長度char *p;int strcmp(char *s,char*t);p=list;while ( )如果查找整個表仍未找到所需對if(strcmp(*p,obj

36、ect)=0)break;else ;/ p+if (p<list+len)printf( "Success! *% dn",p-list);elseprintf("Unsuccess!n");int strcmp(char *s,char *t)/ p<list+lenfor (;*s=*t; s+,t+)if (head)s='0'); / s-t 或*s-*t 或 1return(0);return( 六、( 8 分)完成使鏈表逆置函數(shù)reverse ,若有鏈表: 鏈表結點的結構如下:struct nodetemp1=h

37、ead;int num; / head=p;struct node *next;temp2=p;p=p->next;struct node* reverse(structnode/head 鏈表頭結點temp2->next=temp1; 或head->next=temp1;struct node *p,*temp1,*temp2;/Match while statenmentreturn head; / 返回逆置后的if(head=NULL )鏈表的頭結點return head; / |head->next=NULLp=head->next;head->ne

38、xt=NULL;while(2) / p!=NULL或C+®序設計典型題類型一:求和1、求和:S= 1+ 1/(1+2)+1/(1+2+3)+.+1/(1+2+3+.+50)#include <iostream>using namespace std;int main()float s=1;int i,item=1;for (i=2;i<=50;i+)item+=i;s+=1.0/item;cout<<"S= 1+ 1/(1+2)+1/(1+2+3)+.+1/(1+2+3+.+50)="<<s<<endl;re

39、turn 0;2、用公式e=1+1/1!+1/2!+1/3!+,求e的近似值,直到最后一項的絕對值小于10-7為止。#include <iostream>using namespace std;int main()float e=1;int i=1,item=1;for (;item>1e-7;)(e+=1.0/item;i+;item*=i;)cout<<"e=1+1/1!+1/2!+1/3!+-= "<<e<<endl;return 0;)3、求s=a+aa+aaa+aaaa+aa.a的值,其中a是一個數(shù)字。例如 2

40、+22+222+2222+22222此時共有5個數(shù)相加),幾個數(shù)相加有鍵盤控制。#include <iostream>using namespace std;int main()(int s=0, i,n,a,item=0;cout<<"輸入數(shù)字a(19之間):"cin>>a;cout<<"輸入加法項數(shù)n(>=1):"cin>>n;cout<<"s=a+aa+aaa+aaaa+aa.a="for (i=1;i<=n;i+)(item=item*10+a

41、;s+=item;if (i>1)cout<<"+"cout<<item;cout<<" = "<<s<<endl;return 0;4、古典問題:有一對兔子,從出生后第3個月起每個月都生一對兔子,小兔子長到第三個月后每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數(shù)為多少?#include <iostream>using namespace std;int main()(int fib45=1,1,i,n;cout<<"輸入月份 n ( 3=<

42、n<=45 ):"cin>>n;for (i=2;i<n;i+)(fibi=fibi-2+fibi-1;)for (i=0;i<n;i+)(cout<<"第"<<i+1<<"月,兔子總對數(shù)是:"<<fibi<<endl;)return 0;)類型二:圖形1、輸出9*9乘法口訣。#include <iostream> using namespace std;int main()(int i,j;cout<<"九九乘法表&qu

43、ot;<<endl;for (i=1;i<=9;i+)cout<<"*"cout<<i<<"*"<<j<<"="<<i*j<<"";;cout<<endl;)return 0;)2、輸出以下圖案。 *#include <iostream>using namespace std;int main()int i,j;for (i=1;i<=4;i+)for( j=1;j<=4-i;j

44、+)cout<<""for( j=1;j<=2*i-1;j+ )cout<<endl;return 0;類型三:數(shù)組1、求一維數(shù)組中最大元素 ( 共 100 個元素 ) 的下標。#include <iostream>using namespace std;int main()int a100int i,maxID=0;cout<<" 輸入數(shù)組的數(shù)據(jù): "<<endl;for (i=0;i<100;i+)cin>>ai;for (i=1;i<100;i+)if (ai

45、>amaxID) maxID=i;cout<<" 數(shù)組中最大元素的數(shù)據(jù)是: "<<amaxID<< " , 其元素下標為: "<<maxID<<endl;return 0;2、一班有50 名學生 , 現(xiàn)統(tǒng)計該班某科課程成績的最高分, 最低分 , 平均分 , 不及格人數(shù).#include <iostream>using namespace std;int main()float a50;int i,number=0;float max,min,average=0;cout<

46、<" 輸入學生成績: "<<endl;for (i=0;i<50;i+)cin>>ai;max=min=a0;for (i=1;i<50;i+)average+=ai;if (ai> max) max=ai;if (ai< min) min =ai;if (ai< 60 ) number+;average/=50;cout<<" 最高成績是: "<<max<<endl;cout<<" 最低成績是:"<<min<

47、<endl;cout<<" 平均成績是:"<<average<<endl;cout<<" 不及格人數(shù)有: "<<number<<endl;return 0;3、有一個已經(jīng)排好序的數(shù)組?,F(xiàn)輸入一個數(shù),要求按原來的規(guī)律將它插入數(shù)組中。#include <iostream>using namespace std;int main()int a11=1,3,5,7,8,12,55,56,59,80;int x,i,j,sort=0;/ sort 排序規(guī)律,默認為0(升序)i

48、nt z=0;/ 插入位置cout<<" 輸出原數(shù)組:"for(i=0;i<10;i+)cout<<ai<<","cout<<endl;cout<<" 輸入要插入的數(shù)據(jù):H.cin>>x;/ 判斷排序規(guī)律, 0 升序, 1 降序for (i=0;i<9;i+)if (ai>ai+1) sort=1; bereak; / 尋找插入數(shù)據(jù)位置( 下標 ) zfor (i=0;i<10;i+)if ( sort )if (x>ai) z=i;break;elseif (x<ai) z=i;break;if ( i= 10) z=i;/ 移動 z 位置及其之后的數(shù)據(jù)(向后一位)for(i=9;i>z;i-)ai+1=ai;az=x;c

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論