




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、一、 單項選擇題1. 編寫C+程序一般需經(jīng)過的幾個步驟依次是A. 編輯、調(diào)試、編譯、連接B. 編輯、編譯、連接、運行C. 編譯、調(diào)試、編輯、連接D. 編譯、編輯、連接、運行答案:B2. 設有定義int i;double j5;,則10+i+j值的數(shù)據(jù)類型是A. intB. doubleC. floatD. 不確定答案:B3. 有關C+編譯指令,以下表達正確的選項是A. C+每行可以寫多條編譯指令B. #include指令中的文件名可含有路徑信息C. C+的編譯指令可以以#或/開始D. C+中不管if后的常量表達式是否為真,該部分都需要編譯答案:B4. 在以下成對的表達式中,運算結(jié)果類型相同的一
2、對是A. 和2B. 5和52C. 2和72D. 82和答案:A5. 在C+中不返回任何類型的函數(shù)應該說明為A. intB. charC. voidD. double答案:C6. 決定C+語言中函數(shù)的返回值類型的是A. return語句中的表達式類型B. 調(diào)用該函數(shù)時系統(tǒng)隨機產(chǎn)生的類型C. 調(diào)用該函數(shù)時的主調(diào)用函數(shù)類型D. 在定義該函數(shù)時所指定的數(shù)據(jù)類型答案:D7. 在C+中,函數(shù)原型不能標識A. 函數(shù)的返回類型B. 函數(shù)參數(shù)的個數(shù)C. 函數(shù)參數(shù)類型D. 函數(shù)的功能答案:D8. 在int a=3,int *p=&a;中,*p的值是A. 變量a的地址值B. 無意義C. 變量p的地址值D.
3、3答案:D9. 一個函數(shù)功能不太復雜,但要求被頻繁調(diào)用,則應把它定義為 A. 內(nèi)聯(lián)函數(shù)B. 重載函數(shù)C. 遞歸函數(shù)D. 嵌套函數(shù)答案:A10. 適宜采用inline定義函數(shù)情況是A. 函數(shù)體含有循環(huán)語句B. 函數(shù)體含有遞歸語句C. 函數(shù)代碼少、頻繁調(diào)用D. 函數(shù)代碼多、不常調(diào)用答案:C11. 在函數(shù)定義中的形參屬于A. 全局變量B. 局部變量C. 靜態(tài)變量D. 寄存器變量答案:B12. C+語言中所有在函數(shù)中定義的變量,連同形式參數(shù),都屬于A. 全局變量B. 局部變量C. 靜態(tài)變量D. 函數(shù)答案:B13. 以下有關重載函數(shù)的說法中正確的選項是A. 重載函數(shù)必須具有不同的返回值類型B. 重載函數(shù)
4、參數(shù)個數(shù)必須相同C. 重載函數(shù)必須有不同的形參列表D. 重載函數(shù)名可以不同答案:C14. 使用地址作為實參傳給形參,以下說法正確的選項是A. 實參是形參的備份B. 實參與形參無聯(lián)系C. 形參是實參的備份D. 實參與形參是同一對象答案:D15. 在C+中,使用流進行輸入輸出,其中用于屏幕輸入A. cinB. cerrC. coutD. clog答案:A16. 假設有以下定義,則說法錯誤的選項是int a=100,*p=&a;A. 聲明變量p,其中*表示p是一個指針變量B. 變量p經(jīng)初始化,獲得變量a的地址C. 變量p只可以指向一個整型變量D. 變量p的值為100答案:D17. C+對C語
5、言做了很多改良,即從面向過程變成為面向?qū)ο蟮闹饕蚴茿. 增加了一些新的運算符B. 允許函數(shù)重載,并允許設置缺省參數(shù)C. 規(guī)定函數(shù)說明符必須用原型D. 引進了類和對象的概念答案:D183.可替換#define PI 3.1415926的語句是 A. float PI 3.1415926; B. const float PI=3.1415926;C. const PI(3.1415926);D. const 3.1415926;答案:B19如果一個函數(shù)沒有返回值,則應選擇以下說明符中的 。A. double B. void C. int D. char答案:B208.以下哪種默認參數(shù)的聲明是不
6、正確的CA. int max(int a,int b,int c,int d=0);B. int max(int a,int b,int c=0,int d=0);C. int max(int a=0,int b,int c=0,int d=0);D. int max(int a,int b=0,int c=0,int d=0);21包含哪種語句的函數(shù)不能聲明為內(nèi)聯(lián)函數(shù)A C.if.else 22已知:const char *ptr ; 那么ptr 應該是 A 。A、 指向字符串常量的指針B、 指向字符串的常量指針C、 指向字符的常量的指針D、 指向字符常量的指針2311、在C+中,關于以下設
7、置參數(shù)默認值的描述中,正確的選項是 C . A. 不允許設置參數(shù)的默認值 B.設置參數(shù)默認值只能在定義函數(shù)時設置 C.設置參數(shù)默認值時,應該是先設置右邊的再設置左邊的 D.設置參數(shù)默認值時,應該全部參數(shù)都設置 二、 填空題1. 開發(fā)一個C+語言程序的步驟通常包括編輯、_、連接、運行和調(diào)試。答案:編譯2. 假設int a=1,b=2;則表達式(+a/b)*b-的值為_。答案:23. 下面程序的輸出結(jié)果為_。#include <iostream.h>void main()int num=2,i=6;doi-;num+;while(-i);cout<<num<<e
8、ndl;答案:54. 由const修飾的對象稱為_。答案:常對象5. 表達式cout<<end1 還可表示為_。答案:n6. 在C+中,訪問一個指針所指向的對象的成員所用的指向運算符是_。答案:->7. C+程序的源文件擴展名為_。答案:cpp8. 在#include命令中所包含的頭文件,可以是系統(tǒng)定義的頭文件,也可以是_的頭文件。答案:自定義9. C+語言中如果調(diào)用函數(shù)時,需要改變實參或者返回多個值,應該采取_方式。答案:傳地址或引用10. 假設函數(shù)的定義處于調(diào)用它的函數(shù)之前,則在程序開始可以省去該函數(shù)的_語句。答案:聲明11. 在C+中有兩種參數(shù)傳遞方式:傳值和_。答案:
9、傳引用或地址12. 在函數(shù)前面用_保留字修飾時,則表示該函數(shù)表為內(nèi)聯(lián)函數(shù)。答案:inline13. C+是通過引用運算符_來定義一個引用的。答案:&14. 局部對象和全局對象中,在同一程序中_生存期最長。答案:全局對象15布爾類型標識符是答案:bool16假設要使用C+標準類庫,需要指定相應的命名空間,所用的語句是。答案:using namespace std;17使用new為int數(shù)組動態(tài)分配10個存儲空間是_。答案:new int10;18在已經(jīng)定義了整型指針ip后,為了得到一個包括10個整數(shù)的數(shù)組并由ip所指向,應使用語句_。答案:int *ip=new int10;198. C
10、+中語句const char * const p=“hello”;所定義的指針p和它所指的內(nèi)容都不能被_。答案:修改20 如果要把PI聲明為值為類型為雙精度實數(shù)的符號常量,該聲明語句是_。答案:const double PI(3.14159);或者const double PI3.14159;21面向?qū)ο蟪绦蛟O計的3個主要性質(zhì)是:_、繼承、_。答案:封裝,多態(tài)22使用cin和cout進行輸入輸出操作的程序必須包含頭文件_答案:三、改錯題1. #include <iostream.h>void main()int i,*p;i=10;*p=i;cout<<*p<&l
11、t;endl;答案:*p=i;指針即地址沒有被賦值。修改p=&i;2. 以下程序?qū)崿F(xiàn)交換a,b變量的值,請用下橫線標出錯誤所在行并給出修改意見。#include <iostream.h>void swap(int &a,int &b)a=a+b;b=a-b;a=a-b;void main()int a=19,b=15;cout<<"a="<<a<<",b="<<b<<endl;swap(&a,&b);cout<<"a=&q
12、uot;<<a<<",b="<<b<<endl;答案:swap(&a,&b);函數(shù)的形參是變量的引用,調(diào)用時的實參應該是地址。修改swap(a, b);四、完成程序題(本大題共5小題,每題4分,共20分)1. 下面是一個三角形三邊,輸出其面積C+程序,在下劃線處填上正確的語句。#include <iostream.h>#include <math.h>void area()double a,b,c;cout<<"Input a b c:"_if(a+b&g
13、t;c&&a+c>b&&c+b>a)double l=(a+b+c)/2;_cout<<"The area is:"<<s<<endl;elsecout<<"Error"<<endl;void main()area();答案:cin>>a>>b>>c;,double s=sqrt(l*(l-a)*(l-b)*(l-c);解析輸入三個邊的長度,由公式得出三角形的面積double s=sqrt(l*(l-a)*(l-b)
14、*(l-c);2. 下面是一個輸入半徑,輸出其面積和周長的C+程序,在下劃線處填上正確的語句。#include <iostream>_;_;void main()double rad;cout<<"rad="cin>>rad;double l=2.0*pi*rad;double s=pi*rad*rad;cout<<"n The long is:"<<l<<endl;cout<<"The area is:"<<s<<endl;答
15、案:解析進行輸入或輸出要引入iostream, 所以using namespace std;從標點看沒有分號,所以使用宏定義,。3. 程序?qū)崿F(xiàn)大寫字母轉(zhuǎn)換成小寫字母。#include <iostream.h>void main()char a;_;cin>>a;if(_)a=a+i;cout<<a<<endl;答案:int i=32;,a>=A && a<=Z解析大寫字母變小寫字母相差32,需要對i聲明并初始化。大寫字母變小寫字母。要判斷字符是大寫字母。4. 在下面程序橫線處填上適當內(nèi)容,使程序執(zhí)行結(jié)果為:S=2S=5
16、S=9#include <iostream.h>void sum(int i)static int s;_;cout<<"s="<<s<<endl;void main (void)int i;for (i=0;_)sum(i);答案:s=s+i+2;,i<3,i+5. 下面程序段用來求三角形的面積,首先判斷三邊不符合組成三角形時,返回-1,符合時輸出三角形面積。#include <iostream.h>#include <math.h>double area(double a,double b,d
17、ouble c)if(_)return -1;elsedouble ar,l;l=(a+b+c)/2;ar=sqrt(l*(l-a)*(l-b)*(l-c);return ar;void main()double i=0,j=0,k=0;cout<<"輸入三角形三邊:"cin>>i>>j>>k;double s=area(i,j,k);if(s<0)cout<<"不是三角形"<<endl;else_答案:a+b>c|a+c>b|b+c>a,cout<&l
18、t;s<<endl;解析三角形組成規(guī)則:兩邊之和大于第三邊。s<0不是三角形,是則輸出s。6參數(shù)順序不同的函數(shù)重載,寫出運行結(jié)果。#include<iostream>using namespace std; void info(char *name,int age) cout<<"名稱:"<<name<<",數(shù)量:"<<age<<endl; void info(int age,char *name) cout<<"名稱:"<&l
19、t;name<<",數(shù)量:"<<age<<endl; int main() info("書包",16); info(18,"筆記本"); return 0; 7比較內(nèi)部auto變量和內(nèi)部static變量的不同,寫出運行結(jié)果。#include<iostream>using namespace std;void test () int x=10; / 動態(tài)變量x static int y=10; / 靜態(tài)變量y cout<<"auto_x="<<
20、x <<",static_y=" <<y; void main( ) int i; for(i=0;i<3;i+) test ( ); 五、編程題1.求分段函數(shù)y=f(x)的值,f(x)的表達式如下: x2 1 (x<1) y= x2 (1x1) x2 1 (x>1) . #include <iostream>using namespace std;void main()float x,y;cout<<"Enter x: "cin>>x;if(x<-1)y=x*x-1;e
21、lse if(x>=-1&&x<=1)y=x*x;else y=x*x+1;cout<<"f(x)="<<y<<endl;2. 用switch語句實現(xiàn)計算器的簡單功能。#include <iostream>using namespace std;void main()float x,y; /運算數(shù)char oper; /運算符cout<<"Enter x,oper,y: "cin>>x>>oper>>y;switch(oper)ca
22、se '+': cout<<"x+y="<<x+y<<endl; break;case '-': cout<<"x-y="<<x-y<<endl; break;case '*': cout<<"x*y="<<x*y<<endl; break;case '/': if(y=0) cout<<"divisor is zero!n" bre
23、ak; cout<<"x/y="<<x/y<<endl; break;default: cout<<"operator has no effect!n"3. 求100以內(nèi)的奇數(shù)之和#include <iostream>using namespace std;void main()int i=1,sum=0;while(i<=100)sum+=i;i+=2;cout<<"sum="<<sum<<endl;#include <ios
24、tream>using namespace std;void main()int i=1,sum=0;dosum+=i;i+=2;while(i<=100);cout<<"sum="<<sum<<endl;#include <iostream>using namespace std;void main()int i,sum;sum=0;for(i=1;i<=100;i+=2)sum+=i;cout<<"sum="<<sum<<endl;4. 輸入一個整數(shù)
25、,求出它的所有因子。 #include <iostream>using namespace std;void main()int n,k;cout<<"Enter a positive integer: "cin>>n;cout<<"Number "<<n<<" Factors "for(k=1;k<=n;k+) if(n%k=0)cout<<k<<" "cout<<endl;5. 定義函數(shù)up(ch)
26、,如字符變量ch是小寫字母就轉(zhuǎn)換成大寫字母并通過up返回,否則字符ch不改變。#include < iostream >using namespace std;char up (char c)if(c >= 97 && c <= 123)return (c - 32) ;elsereturn c;void main()int i;char c;for(i = 0 ; i < 5 ; i+) cin>>c;cout<< up(c)<<", " cout<< endl;6. 編寫主程序
27、輸入實數(shù)r和整數(shù)n, 用函數(shù)求r的n次冪。#include < iostream.h >#include < math.h >double power(double a, int b)int i;double result = 1.0;for(i=0;i< b;i+)result = result * a;return result;void main()double r;int n;cout<<"r = "cin>>r;cout<<"n = " cin>>n;cout<
28、< r<<"的"<< n<<"次冪是:"<< power(r,n)<< endl;7編寫程序計算兩個整數(shù)絕對值階乘之差。#include <iostream>#include <math.h>using namespace std;int fac(int n) /計算一個整數(shù)絕對值的階乘 int i,f=1; n=abs(n); for(i=1;i<=n;i+) f=f*i; return(f); void main( ) int x,y,c1,c2; cou
29、t<<"please enter x, y : " cin>>x>>y; c1=fac(x); /調(diào)用函數(shù)fac,求x絕對值的階乘 c2=fac(y); /調(diào)用函數(shù)fac,求y絕對值的階乘 cout<<“the outcome is ”<<c1-c2<<endl; 8. 用函數(shù)實現(xiàn)交換兩個數(shù)a和b的值。方法一: 簡單變量作為函數(shù)形參(值傳遞) #include <iostream>using namespace std;void swap(int x,int y) int temp;temp
30、=x; x=y; y=temp; cout<<"x="<<x<<", y="<<y<<endl;void main() int a=10,b=20;swap(a,b);cout<<"a="<<a<<", b="<<b<<endl; 方法二: 引用作為函數(shù)形參 (地址傳遞)void swap(int &x,int &y) int temp; temp=x; x=y; y=temp;
31、cout<<"x="<<x<<", y="<<y<<endl;void main() int a=10,b=20;cout<<"a="<<a<<", b="<<b<<endl;swap(a,b);cout<<"a="<<a<<", b="<<b<<endl;方法三: 指針作為函數(shù)形參 (地址傳遞)#
32、include <iostream>using namespace std;swap(int *p1,int *p2) int temp; temp=*p1; *p1=*p2; *p2=temp; int main( ) int a=10,b=20; int *pa=&a,*pb=; swap(pa, &b); cout<<"a=" <<a <<",b= "<<b;9輸入a,b,c三個數(shù),調(diào)用函數(shù),得到其中最大數(shù)。方法一: 簡單變量作為函數(shù)形參(值傳遞)#include<i
33、ostream> using namespace std; void sort(int &a, int &b, int &c) int m; if(b>a) m=a; a=b; b=m; if(c>a) m=a; a=c; c=m; if(c>b) m=c; c=b; b=m; int main( ) int a, b, c, ma ; cout<<"Please enter a,b,c:"<<endl; cin>>a>>b>>c; sort(a,b,c); cout
34、<<a<<”,”<<b<<”,”<<c<<endl; return 0; 方法二: 指針作為函數(shù)形參 (地址傳遞)#include <iostream>using namespace std;int max(int *x,int *y,int *z); /函數(shù)聲明 int main( ) int a,b,c;cin>>a>>b>>c; cout<<"max(a,b,c)="<< max(&a,&b,&c)&l
35、t;<endl; /輸出3個數(shù)中的最大者 return 0;int max(int *x, int *y, int *z) /函數(shù)定義 int *m=x;if(*y>*m) *m=*y;if(*z>*m) *m=*z;return(*m);10. 編寫一個求方程ax2 + bx + c = 0的根 的程序,用3個函數(shù)分別求當b2-4ac大于零、等于零、和小于零時的方程的根。要求從主函數(shù)輸入a,b,c的值并輸出結(jié)果。#include < iostream.h >#include < math.h >void equation_1 (int a, int
36、b, int c)double x1, x2, temp;temp = b*b - 4 * a * c;x1 = (-b + sqrt(temp) ) / (2 * a * 1.0);x2 = (-b - sqrt(temp) ) / (2 * a * 1.0);cout<<"兩個不相等的實根"<< endl;cout<<"x1 = "<< x1<<", x2 = "<< x2<< endl;void equation_2 (int a, int b,
37、 int c)double x1, x2, temp;temp = b*b - 4 * a * c;x1 = (-b + sqrt(temp) ) / (2 * a * 1.0);x2 = x1;cout<<"兩個相等的實根"<< endl;cout<<"x1 = "<< x1<<", x2 = "<< x2<< endl;void equation_3 (int a, int b, int c)cout<<"方程無解/兩個虛根"<< endl;void main()int a, b, c;double temp;cout<<"輸入a,b,c的值"<< endl;cin>>a>>b>>c;cout<<"方程為:"<< a&
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度廠房出租合同(含金融融資支持)
- 2025年度車輛進出口損害賠償協(xié)議范本
- 2025房產(chǎn)中介合伙人投資合作及退出機制合同
- 2025年理發(fā)、美容服務項目建議書
- 提高護理文書書寫規(guī)范的實施措施計劃
- 倉庫節(jié)能降耗工作的總結(jié)與展望計劃
- 新年自我反思與成長計劃
- 創(chuàng)造多元環(huán)境培養(yǎng)幼兒園小班的藝術(shù)表達能力計劃
- 調(diào)整工作節(jié)奏的方法計劃
- 經(jīng)驗教訓與未來目標的思考計劃
- 心肺復蘇術(shù)課件2024新版
- 學校開學安全隱患自查表
- 內(nèi)鏡下粘膜剝離術(shù)(ESD)護理要點及健康教育
- 2022年全省百萬城鄉(xiāng)建設職工職業(yè)技能競賽暨“華衍杯”江蘇省第三屆供水安全知識競賽題庫
- 廣西北海LNG儲罐保冷施工方案
- 《中國人閱讀書目(三)——中國初中生基礎閱讀書目-導賞手冊》新書簡介2014.8.14 (1)
- 《生態(tài)學》課件—第1章:緒論
- 中心靜脈壓(CVP)監(jiān)測及波形分析
- 人教版(PEP)英語五年級下冊-Unit 1My day A Let’s spell 教案
- 家庭病床工作制度(共2頁)
- 數(shù)控機床公司績效計劃(范文)
評論
0/150
提交評論