07-08C++上非電類B卷B_第1頁
07-08C++上非電類B卷B_第2頁
07-08C++上非電類B卷B_第3頁
07-08C++上非電類B卷B_第4頁
07-08C++上非電類B卷B_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、共8頁第3頁自覺遵 守考 場紀(jì)律名 如姓 考 試 作 弊此答 卷無效號 學(xué)東南大學(xué)考試卷(B卷)課 程名稱 程序設(shè)計與C+語言(上) 考試學(xué)期 07-08-2 得分適用專業(yè)07級非電類專業(yè)考試形式 閉卷考試時間長度120分鐘說明:此卷滿分為100分。一、單選題(每題2分,共20分)1.建立C+語言的可執(zhí)行程序,需要經(jīng)過編輯源程序、對源程序編譯、對!多個程序文件進行連接和生成可執(zhí)行程序等步驟,其中建立或生成文件的:順序如以文件擴展名識別,正確的順序為 。A、.exe .cpp .objB、.cpp .exe .objC、.obj.cpp .exeD、.cpp .obj .exea b;2.變量a

2、, b, c,d均為double類型且已正確賦值,能夠正確表小a b的表達(dá)2(c d); 式是 0: A、a+b/2*c-d B、(a+b)/2/(c-d)C、(a+b)/2*(c-d) D、(a+b)/(2c-2d)I 3.若有如下程序段,其中s, x, y, z均為已定義的整型變量,且x, z均已賦值(z>0)封 s = x; y=1;while ( y<=z ) s=s+1; y+; :則與上述程序段功能等價的賦值語句是。A、s = x+y; B、s = s+z; C、s = x+z; D、s = y+z;:4.以下程序段執(zhí)行時的輸出結(jié)果是 oint a=3, b=5, c=

3、8, d;替 cout<v(d=a<b?(a>c?a:c):b)vvendl;: A、3B、5C、8D、不確定;5.設(shè)有枚舉類型定義:enum col left=6, right=1, up, down; 則枚舉量 down 的! 值為。AA、1B、3C、4D、9;6.在以下程序段中,while語句的循環(huán)次數(shù)是。int i=2;while(i<10)if(i<1) continue;if(i=6) break;i+;A、5 B、6C、10 D、無窮循環(huán),7.在一個程序段中,設(shè)已聲明int a, b;則與下邊語句等價的是。 switch(a) case 1:case

4、 2: b=a; break;case 3:case 4: b=2*a;A、if(a=1) | (a=2) b=a; else b=2*a;B、if(a=1) | (a=2) b=a; else if(a=3) | (a=4) b=2*a;C、 if(a=1) && (a=2) b=a; else if(a=3) && (a=4) b=2*a;D、if(a=1)|(a=2)|(a=3)|(a=4) b=2*a;8 .以下關(guān)于調(diào)用函數(shù)時,形、實參結(jié)合的通用規(guī)則不正確的描述為 A、實參可以是變量,也可以是常數(shù)或者表達(dá)式。B、實參的個數(shù)可以多于形參,也可以少于形參。C

5、、系統(tǒng)將為形參分配內(nèi)存單元。D、實參必須與對應(yīng)的形參類型相兼容。9 .下列哪個不是重載函數(shù)在調(diào)用時選擇的依據(jù) 。A、形參類型B、形參個數(shù)C、函數(shù)名D、函數(shù)返回值類型10 .若已定義double使用語句area=Trgl_Area(3.5, 4, 6.2);調(diào)用求三角形面積函數(shù),則下列式中 是正確的函反原型說明。A、float Trgl_Area(float,int, float);B、int Trgl_Area(x, y, z);C、double Trgl_Area(double, double, double);D、int Trgl_Area(float x, float y, float

6、z);二、概念填空題(每空2分,共16分)1.變量的有效范圍與其定義的位置有關(guān),在函數(shù)外定義的變量其作用域在(1)中都有效。2 .設(shè)有語句int x; float y;則計算表達(dá)式(x=7/2, y=x/2)后,x的值為 , y的值為(3) 。3 . C+中的一些關(guān)鍵字可以代替邏輯運算符,如 and代替&& ,而not可以代替(4)。4 .若有宏定義:#defin A 2+radius#defin B 2*A #defin F(x)( (A+B) *x )則執(zhí)行語句:int radius=5; int S = 2*( B+F(A+2);后,S的值是(5)。5 . 一個試圖從1到

7、100求和的程序段:int Sum;for(int I = 1; I <= 100; I+)Sum += I;cout << Sum << endl;執(zhí)行后,屏幕輸出的結(jié)果是-858988410,而不是5050,原因是:_(6)6 .如果定義了如下兩個函數(shù):int MoveValue(int A, int B = 3);double MoveValue(double A, int B, int C=1);那么,調(diào)用語句 double X = MoveValue( '2');的錯誤之處是:(71。而調(diào)用語句double Y = MoveValue(3

8、.2/ 5, 6 / 7);則是正確的,它調(diào)用的函數(shù) 是。三、閱讀理解程序,寫出輸出結(jié)果(共31分)1.寫出以下程序執(zhí)行時的輸出結(jié)果(6分)#include <iostream.h>void main() 答:int a=1, b=2, c, d;cout<<a<<'t'<<b<<endl;d=a;for(int i=1; i<3; i+)c=2*(a+b); d+=c;cout<<c<<'t'<<d<<endl;a=b; b=c;2寫出以下程序段執(zhí)

9、行時的輸出結(jié)果(5分)#include <iostream.h>int f(int n)if(n=1)return 1;else coutvvnvvendl;答:return 2*f(n-2);void main()cout<<f(9)<<endl;3 寫出以下程序執(zhí)行時的輸出結(jié)果#include <iostream.h>void main()int s=0;for (int i=10; i-)if (s>20) break;if (i%2=0)s+=i;cout <<"s="<< s<&l

10、t;endl;for(i=2;i<=8;i+)if(i%2) cout<<"M"else continue; cout<<"S"cout<<"#n"4 寫出以下程序執(zhí)行時的輸出結(jié)果#include <iostream.h>int i=1;int fac(int n)5 static int f=1;f=f*n;cout<< f<<','return(f);void main()6 int i, p=0;5 分)5 分)for(i=1;i<

11、;=3;i+) p=fac(i);cout<<"np="<<p<<endl;p=0;for(i=1;i<=2;i+) p=fac(i)+:i+;cout<<"np="<<p<<endl;p=0;for(i=1;i<=3;i+) p=p+:i;cout<<"p="<<p<<endl;5 .寫出以下程序執(zhí)行時的輸出結(jié)果(6分)#include < iostream.h>void print(int m)cou

12、t<<m%10<<','<<m/10%10<<','<<m/100;void print(int x, int y)答:cout<<(x%10)*y<<endl;cout<<x%10<<(x-x%y)/y;void main()int a=135, b=8642 ;print(a);cout<<endl;print(b, 1000);cout<<endl;6 .閱讀理解程序,回答問題(4分)#include <iostream

13、.h>int f(int a,int b)if(a>6)return a+b;elsef( a*=2, b+ );return f(a,b);如果主函數(shù)中有語句 cout<<f(3,2)<<'n'輸出是:如果主函數(shù)中有語句 cout<<f(1,3)<<'n'輸出是:四、分析程序,填空完善程序(共33分)1 .驗證歌德巴赫猜想:任何一個充分大的偶數(shù)都可以表示為兩個素數(shù)之和。例如:4=2+26=3+38=3+5 50=3+47此題要求將450之間的所有偶數(shù)用兩個素數(shù)之和表示。用函數(shù)實現(xiàn)判斷整數(shù)n 是否為素數(shù)

14、,若n是素數(shù)就返回1,否則返回00(8分)#include <iostream.h> int prime(int n)for(int m=2; m<=sqrt(n); m+)if()return 0;(2void main()for(int n=4;(3)for(int a=2; a<=n/2 ; a+)if( prime(a) &&(4) ) cout<<n<<'='<<a<<'+'<<n-a<<endl;2 .利用展開式y(tǒng)=1/1!-2/2!+3/

15、3!- .,求y的近似值。要求前后兩次求出的近似 值x1和x0之差的絕對值小于10-60其中,利用函數(shù)fc(int n)計算n!。(7.5分) #include<iostream.h>#include<math.h> int fc(int n)int i,p=1;for(i=1;i<=n;i+) p*=i;(5);void main()int i=1,j=1;double x1=0,x0=1;while( (6)(7)x1=x0+(8)j=(9);i+;cout<<"y="<<x1<<endl;3 .以下程序

16、的功能是求出所有三位數(shù)中能被3整除,且至少有一位數(shù)字為5的所有整數(shù),并要求輸出的時候每行輸出5個數(shù)。(7.5分)#include <iostream.h>void main() int i,a,b,c,j=1;for (i=100; i<1000; i+)if (10) a= i/100;b=(11c=(12if (a=5)(13)一)cout<<i<<'t'if (j%5=0) cout<<endl;(14;)4 .本題包括Count()和Backout()兩個函數(shù),請閱讀理解題目,完善程序。Count()函數(shù)的功能是:從

17、鍵盤輸入一段英文文本,同時統(tǒng)計文本的行數(shù)、單詞 數(shù)及字符數(shù)。方法是逐個讀入文本中的字符,邊讀入邊處理,直到遇輸入結(jié)束 符EOF為止(假定單詞之間以空格或換行符間隔,且文本開始沒有空行)。最后輸出統(tǒng)計結(jié)果。程序中定義變量line、word、chnum分別代表行數(shù)、單詞數(shù)、 字符數(shù)。另設(shè)一個變量isword,讀到字符時isword=1,讀到間隔符時isword=0; 如果讀到一個間隔符而此時isword值為1,則說明剛讀完一個單詞;(如果讀到 一個字符而此時isword值為0,則說明剛開始讀一個單詞;)。(10分)#include<iostream.h>void Count()char

18、 ch;int line=0, word=0, chnum=0;int isword=0;do ch=cin.get();/從鍵盤讀入字符if (chnum='n')(15)if (16)讀到非間隔符if(isword=0) (17),在單詞的起始處給單詞數(shù) +1(18);/字符數(shù)加+1isword=1;else isword=0;讀到間隔符 while(ch!=(19);cout<<"行數(shù):"<<line<<endl;cout<<"單詞數(shù):"<<word<<endl;cout<<"字符數(shù):"<<chnum<<endl;Backout()遞歸函數(shù)的功能是:從參數(shù)w表示的英文字母開始,倒序輸出每個字 母直至'Z'停止。void Backout(char w)if(w='Z')(20) ;B

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論