版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、C+程序設(shè)計(jì)考試樣卷(2小時(shí)開(kāi)卷)題類一二三四五總分得分學(xué)校: 學(xué)號(hào): 姓名: 一、 單項(xiàng)選擇題(30分,共15題,每小題2分)1C+對(duì)C語(yǔ)言作了很多改進(jìn),從面向過(guò)程變成為面向?qū)ο蟮闹饕驗(yàn)開(kāi)。A) 增加了一些新的運(yùn)算符 B) 允許函數(shù)重載,并允許設(shè)置缺省參數(shù)C) 規(guī)定函數(shù)說(shuō)明符必須用原型 D) 引進(jìn)了類和對(duì)象的概念2. 以下說(shuō)法中,錯(cuò)誤的是 。A) 函數(shù)的形式參數(shù)類型若與實(shí)際參數(shù)不一致,則以實(shí)際參數(shù)類型為準(zhǔn). B) 函數(shù)的形式參數(shù)在函數(shù)被調(diào)用時(shí)系統(tǒng)才為其分配存儲(chǔ)空間.C) 函數(shù)的嵌套調(diào)用就是直接或間接地調(diào)用函數(shù)本身.D) 在函數(shù)定義時(shí)若沒(méi)有指出函數(shù)的數(shù)據(jù)類型, 則默認(rèn)函數(shù)的返回值是void
2、.3已知:int m=10; 下列表示引用的方法中,正確的是_。A) int& x=m; B) float& t=&m; C) int& z; D) float& t=m;4. 下列析構(gòu)函數(shù)的特征是_。A) 一個(gè)類中只能定義一個(gè)析構(gòu)函數(shù)B) 析構(gòu)函數(shù)名與類名無(wú)關(guān)C) 析構(gòu)函數(shù)的定義只能在類體內(nèi)D) 析構(gòu)函數(shù)可以有一個(gè)或多個(gè)參數(shù)5. sizeof(double) 是 。A) 一個(gè)不合法的表示形式 B) 一種函數(shù)的調(diào)用 C) 一個(gè)整型表達(dá)式 D) 一個(gè)雙精度浮點(diǎn)表達(dá)式 6. 若條件表達(dá)式(exp)? a+: b-, 則以下表達(dá)式中能完全等價(jià)于表達(dá)式(exp)
3、的是 。A) (exp=0) B) (exp!=1) C) (exp=1) D) (exp!=0)7. 若定義char t10; 則在下面表達(dá)式中不表示t1的地址的是 。A) t+1 B) t+ C) &t0+1 D) &t18一個(gè)函數(shù)功能不太復(fù)雜,但要求被頻繁調(diào)用,選用_。A) 內(nèi)聯(lián)函數(shù) B) 重載函數(shù) C) 遞歸函數(shù) D) 嵌套函數(shù)9. 下面程序段的運(yùn)行結(jié)果是 。 char str = "ABC", *q =str; cout<<*(q+3);A) 67 B) 字符 'C' C) 字符 'C'的地址 D) 01
4、0在C+中,關(guān)于下列設(shè)置參數(shù)默認(rèn)值的描述中,正確的是_。A) 程序中有函數(shù)重載,就不能設(shè)置參數(shù)默認(rèn)值B) 設(shè)置參數(shù)默認(rèn)值,只能在函數(shù)定義時(shí)進(jìn)行C) 設(shè)置參數(shù)默認(rèn)值時(shí),應(yīng)該是先設(shè)置右邊的再設(shè)置左邊的D) 設(shè)置參數(shù)默認(rèn)值時(shí),應(yīng)該全部參數(shù)都設(shè)置11下列標(biāo)識(shí)符中,具有文件作用域的是_。A) 函數(shù)參數(shù) B) 語(yǔ)句標(biāo)號(hào) C) 靜態(tài)全局變量 D) 局部變量12下列不能作為類的成員的是_。A) 自身類對(duì)象的指針 B) 自身類對(duì)象C) 自身類對(duì)象的引用 D) 另一個(gè)類的對(duì)象13下列析構(gòu)函數(shù)的特征是_。A) 一個(gè)類中只能定義一個(gè)析構(gòu)函數(shù)B) 析構(gòu)函數(shù)名與類名無(wú)關(guān)C) 析構(gòu)函數(shù)的定義只能在類體內(nèi)D) 析構(gòu)函數(shù)可以有
5、一個(gè)或多個(gè)參數(shù)14關(guān)于成員函數(shù)的特征描述中,錯(cuò)誤的是_。A) 成員函數(shù)一定是內(nèi)聯(lián)函數(shù) B) 成員函數(shù)可以重載C) 成員函數(shù)可以設(shè)置參數(shù)默認(rèn)值 D) 成員函數(shù)可以是靜態(tài)的15已知:int a, *pa=&a; 輸出指針pa值的十進(jìn)制表示的方法是_。A) cout<<pa; B) cout<<*pa;C) cout<<&pa; D) cout<<long(pa);二、是非判斷題(10分,共10題,每小題1分)(請(qǐng)?jiān)陬}號(hào)上打或X) 1. C+中使用注釋符(/),不能使用注釋符(/*/)。 2. C+中定義常量,不能用宏定義的方法,只能用
6、const。 3. C+是一種編譯型的高級(jí)語(yǔ)言。 4. 錯(cuò)誤信息可能會(huì)出現(xiàn)在編譯過(guò)程中,不會(huì)出現(xiàn)在鏈接過(guò)程中。 5. C+提供的庫(kù)函數(shù)都被定義在它所對(duì)應(yīng)的頭文件中。 6. C+中數(shù)組元素的下標(biāo)是從0開(kāi)始,它們連續(xù)存儲(chǔ)在內(nèi)存單元中。 7. 引用是某個(gè)變量的別名,對(duì)引用的操作,就是對(duì)被引用變量的操作。 8. 語(yǔ)句int a(5), &b = a, *p = &a;中,b的值和*p的值是相等的。 9. 在C+中,聲明函數(shù)時(shí)都用函數(shù)原型。 10.如果一個(gè)函數(shù)沒(méi)有返回值,定義時(shí)函數(shù)頭前需用void。三、填空題(10分,共5題,每小題2分)1. 在用class定義一個(gè)類時(shí),數(shù)據(jù)成員和成員函
7、數(shù)的默認(rèn)訪問(wèn)權(quán)限是_。2. 含有純虛函數(shù)的類稱為_(kāi)。3. 已知int fn(int n)return n+n;和long fn(long n)return n+n;是一個(gè)函數(shù)模板的兩個(gè)實(shí)例,則該函數(shù)模板的定義是_。4. 繼承的方式有公有繼承、私有繼承和_3種。5. 表達(dá)式operator+(x,y)還可以表示為_(kāi)。四、讀程序,寫(xiě)運(yùn)行結(jié)果(30分)1.(7分)#include<iostream>using namespace std;/-void other();/-int main() int x=0, y=3; other(); cout<<x<<” ”&
8、lt;<y<<”n”; other();/-void other() static int x=2; int y=6; x += 2; cout<<x<<” ”<<y<<”n”;/-2. (8分)#include <iostream>using namespace std;/-class Class int x,y;public: Class(int n=6, int m=7); Class(); void Set(int n, int m) x=n; y=m; ;/-Class:Class(int n, int m
9、) Set(n,m); cout<<"Construct: x="<<x<<",y="<<y<<”n”;/-Class:Class() cout<<"Destruct: x="<<x<<",y="<<y<<”n”;/-int main() Class a(5); Class b=Class(1,3); cout <<"exiting.n"/-3. (8分)#incl
10、ude<iostream>using namespace std;/-class Tdate void Init(int m,int d,int y); int month, day, year;public: Tdate(); Tdate(int d); Tdate(int m,int d); Tdate(int m,int d,int y); void Print();Tdate:Tdate() Init(6,13,2000);Tdate:Tdate(int d) Init(6,d,2000);Tdate:Tdate(int m,int d) Init(m,d,2000);Td
11、ate:Tdate(int m,int d,int y) Init(m,d,y);void Tdate:Init(int m,int d,int y) month = m; day = d; year = y;void Tdate:Print() cout<<month<<”-”<<day<<”-”<<year<<”n”;/-int main() Tdate today(6,17,2000); Tdate someday(4,25); Tdate oneday(3); Tdate otherday; today.Print
12、(); someday.Print(); oneday.Print(); otherday.Print();/-4(7分)#include<iostream>using namespace std;/-class Counter int v;public: Counter() v=0; Counter& preAddOne(); Counter postAddOne(); void print() cout<<v<<”n”; ;/-Counter& Counter:preAddOne() v+; return *this;/-Counter
13、Counter:postAddOne() Counter temp; temp.v = v+; return temp;/-int main() Counter c; for(int i=0; i<8; i+) c.postAddOne().postAddOne(); c.print(); for(int j=0; j<8; j+) c.preAddOne().preAddOne(); c.print();/-五、設(shè)計(jì)題(20分,共4題,每題10分,選2題做)1.設(shè)計(jì)一個(gè)Date類,包含足夠的數(shù)據(jù)成員和成員函數(shù),使其加在下列程序中,能得出后面的運(yùn)行。#include<iost
14、ream>#include<iomanip>using namespace std;/-class Date.;/-int main() Date a(2004,1,1), b(2003,12,25);a.print();cout<<”n”;a pare(b);cout<<”n”;/-運(yùn)行結(jié)果為:2004-01-012004-01-01 is larger than 2003-12-252根據(jù)下列代碼和其運(yùn)行結(jié)果,寫(xiě)出完整的A類#include <iostream>using namespace std;/-class A public:
15、void set(int i, int j)a=i,b=j;private: int a; int b;/-int main() cout <<”Starting.n”; A a3; for(int i=0; i<3; i+) ai.set(2*i+1, (i+1)*2); cout <<”Ending.n”;/-運(yùn)行結(jié)果為:Starting.Default constructor called.Default constructor called.Default constructor called.Ending.Destructor called. a=5,b
16、=6Destructor called. a=3,b=4Destructor called. a=1,b=23編寫(xiě)一個(gè)對(duì)日期數(shù)據(jù)排序的程序。給定輸入日期數(shù)據(jù)的格式為:MM-DD-YYYY,輸入數(shù)據(jù)放在名為abc.txt的文件中,格式如下例所示,數(shù)據(jù)量大約為1000個(gè)日期。輸出是排好序的全部日期,格式與輸入格式一致,每個(gè)日期占一行。例如:樣板輸入:12-23-200302-11-200510-30-2001樣板輸出:10-30-200112-23-200302-11-20054.給定類繼承體系,如圖,其代碼文件為auto.h?,F(xiàn)有若干Car類對(duì)象和Truck類對(duì)象存放在向量x(類型為vector
17、<Auto*>)中。實(shí)現(xiàn)函數(shù):void myProc(const vector<Auto*>& x);將其按銷售金額排序后輸出,每行占一個(gè)車(chē)店名,并在店名后標(biāo)注其為Car或Truck。Car(客車(chē))Truck(貨車(chē))Auto(汽車(chē))/-/-#ifndef AUTO#define AUTO#include<iostream>#include<string>using namespace std;/-class Autostring name; / 車(chē)店名double price; / 車(chē)價(jià)int number; / 銷售數(shù)量double s
18、um; / 總銷售額public:Auto(string s, double p, int n):name(s),price(p),number(n)void addNumber(int n) number += n; sum = price*number; double getSum()const return Sum; friend bool lessThan(const Auto*& a, const Auto*& b);virtual void display()=0;/-class Car : public Autoint seat;public:Car(string s, double p, int n, int se):Auto(s,p,n),seat(se)void display() cout<&
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年廣場(chǎng)景觀施工合同
- 【初中生物】從種到界-2024-2025學(xué)年七年級(jí)生物上冊(cè)同步教學(xué)課件(人教版2024)
- 2024租地合同協(xié)議書(shū)范本農(nóng)村租地協(xié)議書(shū)范本
- 2024年度「新能源領(lǐng)域研究開(kāi)發(fā)」合同
- 2024年冷庫(kù)建造施工合同模板
- 2024年度銷售合同:醫(yī)療設(shè)備供應(yīng)
- 2024年店鋪裝修合同范本
- 2024年度」品牌代言協(xié)議明星效應(yīng)助力品牌
- 2024年度智能制造生產(chǎn)線改造合同
- 認(rèn)識(shí)梯形課件教學(xué)課件
- 學(xué)習(xí)解讀《醫(yī)療保障基金使用監(jiān)督管理?xiàng)l例》PPT課件(帶內(nèi)容)
- 《普通高中生物學(xué)課程標(biāo)準(zhǔn)》(WORD版)
- 礦用風(fēng)門(mén)說(shuō)明書(shū)
- 部編人教版三年級(jí)上冊(cè)語(yǔ)文 第21課 《大自然的聲音》第二課時(shí) 教學(xué)課件
- 八年級(jí)數(shù)學(xué)經(jīng)典難題(答案 解析)
- 土地生態(tài)工程課件
- GB/T 37865-2019生物樣品中14C的分析方法氧彈燃燒法
- GB 11121-2006汽油機(jī)油
- 簡(jiǎn)約英文求職簡(jiǎn)歷word模板
- 如何提高語(yǔ)文成績(jī).講課稿
- 超星爾雅影視鑒賞課后答案
評(píng)論
0/150
提交評(píng)論