在线现看午夜福利片|女人16久久免费视频|鲁丝片一区鲁丝片二区鲁丝|一区二区三区欧美在线

  1. 
    
    <b id="glvx9"></b>
        1. <blockquote id="glvx9"><meter id="glvx9"></meter></blockquote>
            首頁(yè) - 網(wǎng)校 - 萬題庫(kù) - 美好明天 - 直播 - 導(dǎo)航

            2018年9月計(jì)算機(jī)二級(jí)C++考試沖刺提分題及答案(2)

            來源:考試吧 2018-09-06 15:37:13 要考試,上考試吧! 萬題庫(kù)
            “2018年9月計(jì)算機(jī)二級(jí)C++考試沖刺提分題及答案(2)”供考生參考。更多計(jì)算機(jī)等級(jí)考試模擬試題等信息請(qǐng)?jiān)L問考試吧計(jì)算機(jī)等級(jí)考試網(wǎng)。

              點(diǎn)擊查看:2018年9月計(jì)算機(jī)二級(jí)C++考試沖刺提分題及答案匯總

              1[簡(jiǎn)答題]定義內(nèi)聯(lián)函數(shù)實(shí)現(xiàn)求三個(gè)實(shí)數(shù)中的最大值。

              參考解析:

              解:內(nèi)聯(lián)函數(shù)只適用于功能簡(jiǎn)單,代碼短小而又被重復(fù)使用的函數(shù)。函數(shù)體中包含復(fù)雜結(jié)構(gòu)控制語(yǔ)句,如switch、復(fù)雜if嵌套、while語(yǔ)句等,以及無法內(nèi)聯(lián)展開的遞歸函數(shù),都不能定義為內(nèi)聯(lián)函數(shù),即使定義,系統(tǒng)也將作為一般函數(shù)處理。

              #include

              inline max(int a,int b,int c){

              if(a>b&&a>c) return a;

              if(b>a&&b>c) return b;

              if(c>a&&c>b) return c;

              }

              void main(){

              cout<

              }

              2[簡(jiǎn)答題]設(shè)計(jì)一個(gè)單向鏈表類模板,節(jié)點(diǎn)數(shù)據(jù)域中數(shù)據(jù)從小到大排列,并設(shè)計(jì)插入、刪除節(jié)點(diǎn)的成員函數(shù)。

              參考解析:

              #include

              using namespace std;

              templateclass List;

              templateclass Node{

              T info; //數(shù)據(jù)域

              Node *link; //指針域

              public:

              Node(); //生成頭結(jié)點(diǎn)的構(gòu)造函數(shù)

              Node(const T & data);//生成一般結(jié)點(diǎn)的構(gòu)造函數(shù)

              friend class List;

              };

              template Node::Node(){link=NULL;}

              template Node::Node(const T & data){

              info=data;

              link=NULL;

              }

              //定義鏈表類

              templateclass List{

              Node *head; //鏈表頭指針和尾指針

              public:

              List(); //構(gòu)造函數(shù),生成頭結(jié)點(diǎn)(空鏈表)

              ~List(); //析構(gòu)函數(shù)

              void MakeEmpty(); //清空一個(gè)鏈表,只余表頭結(jié)點(diǎn)

              Node* Find(T data); //搜索數(shù)據(jù)域與data相同的結(jié)點(diǎn),返回該結(jié)點(diǎn)的地址

              void PrintList(); //打印鏈表的數(shù)據(jù)域

              void InsertOrder(Node *p); //按升序生成鏈表

              Node* CreatNode(T data); //創(chuàng)建一個(gè)結(jié)點(diǎn)(孤立結(jié)點(diǎn))

              Node* DeleteNode(Node* p); //刪除指定結(jié)點(diǎn)

              };

              templateList::List(){

              head=new Node(-9999);//頭結(jié)點(diǎn),最小的數(shù)據(jù)從小到大插入

              }

              templateList::~List(){

              MakeEmpty();

              delete head;

              }

              templatevoid List::MakeEmpty(){

              Node *tempP;

              while(head->link!=NULL){

              tempP=head->link;

              head->link=tempP->link; //把頭結(jié)點(diǎn)后的第一個(gè)節(jié)點(diǎn)從鏈中脫離

              delete tempP; //刪除(釋放)脫離下來的結(jié)點(diǎn)

              }

              }

              template Node* List::Find(T data){

              Node *tempP=head->link;

              while(tempP!=NULL && tempP->info!=data) tempP=tempP->link;

              return tempP; //搜索成功返回該結(jié)點(diǎn)地址,不成功返回NULL

              }

              templatevoid List::PrintList(){

              Node* tempP=head->link;

              while(tempP!=NULL){

              cout

              tempP=tempP->link;

              }

              cout<

              }

              templatevoid List::InsertOrder(Node *p){

              Node *tempP=head,*tempQ=head; //tempQ指向tempP前面的一個(gè)節(jié)點(diǎn)

              while(tempP!=NULL){

              if(p->infoinfo)break; //找第一個(gè)比插入結(jié)點(diǎn)大的結(jié)點(diǎn),由tempP指向

              tempQ=tempP;

              tempP=tempP->link;

              }

              p->link=tempP;

              tempQ->link=p;

              }

              templateNode* List::CreatNode(T data){//建立新節(jié)點(diǎn)

              Node*tempP=new Node(data);

              return tempP;

              }

              templateNode* List::DeleteNode(Node* p){

              Node* tempP=head->link,*tempQ=head,*tempC;

              while(tempP!=NULL && tempP!=p){

              tempQ=tempP;

              tempP=tempP->link;

              }

              tempC=tempP;

              tempQ->link=tempP->link;

              return tempC;

              }

              int main(){

              Node * P1;

              List list1;

              int a[10]={20,12,0,-5,9,-18,6,11,5,3},i,j;

              for(i=0;i<10;i++){

              P1=list1.CreatNode(a[i]);

              list1.InsertOrder(P1);

              }

              list1.PrintList();

              cout<<"請(qǐng)輸入一個(gè)要求刪除的整數(shù)"<

              cin>>j;

              P1=list1.Find(j);

              if(P1!=NULL){

              P1=list1.DeleteNode(P1);

              delete P1;

              list1.PrintList();

              }

              else cout<<"未找到"<

              cout<<"請(qǐng)輸入一個(gè)要求插入的整數(shù)"<

              cin>>j;

              P1=list1.CreatNode(j);

              list1.InsertOrder(P1);

              list1.PrintList();

              list1.MakeEmpty();//清空l(shuí)ist1

              list1.PrintList();

              return 0;

              }

              3[單選題] 下列關(guān)于虛函數(shù)與函數(shù)重載區(qū)別的敘述中不正確的是(  )。

              A.函數(shù)說明形式上不同

              B.函數(shù)允許非成員函數(shù)重載,虛函數(shù)只能是成員函數(shù)

              C.函數(shù)重載的調(diào)用依據(jù)參數(shù)和類型的差別,虛函數(shù)則依據(jù)對(duì)象

              D.函數(shù)重載的本體可以在類外定義,虛函數(shù)不可以

              參考答案:D

              參考解析:A項(xiàng)、B項(xiàng)、C項(xiàng)均為虛函數(shù)與函數(shù)重載的不同之處。但有一點(diǎn)它們是相同的:在類內(nèi)外定義均可。故D項(xiàng)錯(cuò)誤。

              4[單選題] 設(shè)有表示學(xué)生選課的3張表,學(xué)生S(學(xué)號(hào)、姓名、性別、年齡、身份證號(hào))、課程C(課號(hào)、課名)、選課SC(學(xué)號(hào)、課號(hào)、成績(jī)),則表SC的關(guān)鍵字(鍵或碼)為(  )。

              A.課號(hào)、成績(jī)B.學(xué)號(hào)、成績(jī)C.學(xué)號(hào)、課號(hào)D.學(xué)號(hào)、姓名、成績(jī)

              參考答案:C

              參考解析:關(guān)鍵字是指屬性或?qū)傩缘慕M合,其功能是唯一地標(biāo)識(shí)一個(gè)元組或數(shù)據(jù),而SC中學(xué)號(hào)和課號(hào)的組合可以對(duì)元組進(jìn)行唯一的標(biāo)識(shí)。

              5[簡(jiǎn)答題]請(qǐng)使用VC6或使用【答題】菜單打開考生文件夾pr092下的工程pros2。此工程中包含一個(gè)程序文件main.cpp,其中有“部門”類Department和“職工”類Staff的定義,還有主函數(shù)main的定義。在主函數(shù)中定義了兩個(gè)“職工”對(duì)象,他們屬于同一部門。程序展示,當(dāng)該部門改換辦公室后,這兩個(gè)人的辦公室也同時(shí)得到改變。請(qǐng)?jiān)诔绦蛑械臋M線處填寫適當(dāng)?shù)拇a并刪除橫線,以實(shí)現(xiàn)上述類定義。此程序的正確輸出結(jié)果應(yīng)為:

              改換辦公室前:

              職工號(hào):0789姓名:張三部門:人事處辦公室:521

              職工號(hào):0513姓名:李四部門:人事處辦公室:521

              改換辦公室后:

              職工號(hào):0789姓名:張三部門:人事處辦公室:311

              職工號(hào):0513姓名:李四部門:人事處辦公室:311

              注意:只在橫線處填寫適當(dāng)?shù)拇a,不要改動(dòng)程序中的其他內(nèi)容,也不要?jiǎng)h除或移動(dòng)“//****found****”。

              #include

              using namespace std;

              class Department{ //“部門”類

              public:

              Department(const char*name,const char*office){

              strcpy(this一>name,nanle);

              //**********found**********

              }

              const char*getName()const{return name;}//返回部門名稱

              //**********found**********

              const char*getOffice()const{________} //返回辦公室房號(hào)

              void changeOfficeTo(const char*office){ //改換為指定房號(hào)的另一個(gè)辦公室

              strcpy(this一>office,office);

              }

              private:

              char name[20];//部門名稱

              char office[20];//部門所在辦公室房號(hào)

              };

              class staff{//“職工”類

              public:

              //**********found**********

              Staff(const char*my—id,const char木my_name,Department&my_dept):——{

              strcpy(this一>staff id,my_id);

              strcpy(this一>name,my_name);

              }

              const char*getlD()const{return staff_id;}

              const char*getName()consl{return name;}

              Department getDepartment()const{return dept;} char staff=id[10];//職工號(hào)

              char name[20];//姓名

              Department&dept;//所在部門

              }; void showStaff(Staff&staff){

              cout<<”職工號(hào):”<

              cout<<”姓名:”<

              6[單選題]執(zhí)行下列語(yǔ)句后,輸出結(jié)果為(  )。

              cout.put('s');

              cout<<'c'<<'a';

              A.ca

              B.sca

              C.s

              D.a

              參考答案:B

              7[單選題]在一棵二叉樹的前序遍歷、中序遍歷、后序遍歷所產(chǎn)生的序列中,所有葉結(jié)點(diǎn)的先后順( )。

              A.都不相同

              B.完全相同

              C.前序和中序相同,而與后序不同

              D.中序和后序相同,而與前序不同

              參考答案:B

              參考解析:對(duì)二叉樹的訪問有3種方式,其中任意的兩種可惟一確定一顆二叉樹,但無論是前序、后序還是中序遍歷二叉樹時(shí),其區(qū)別在于訪問根的先后次序不同,而訪問葉結(jié)點(diǎn)的順序完全相同。

              8[單選題] 下列語(yǔ)句都是程序運(yùn)行時(shí)的第一條輸出語(yǔ)句,其中一條語(yǔ)句的輸出效果與其他三條語(yǔ)句不同,該語(yǔ)句是(  )。

              A.cout<

              參考答案:D

              參考解析:setw(6)將輸出寬度設(shè)為6,如果位數(shù)不夠則在最左邊補(bǔ)齊,因此該項(xiàng)輸出一定不會(huì)與其他三項(xiàng)一致。

              9[簡(jiǎn)答題]

              請(qǐng)使用VC6或使用【答題】菜單打開考生文件夾proj2下的工程proj2,此工程包含有一個(gè)源程序文件proj2.cpp,其中定義了Stack類和ArrayStack類。

              Stack是一個(gè)用于表示數(shù)據(jù)結(jié)構(gòu)“!钡念悾瑮V械脑厥亲址蛿(shù)據(jù)。Stack為抽象類,它只定義了棧的用戶接口,如下所示:

              公有成員函數(shù) 功能

              push 入棧:在棧頂位置添加一個(gè)元素

              pop 退棧:取出并返回棧頂元素

              ArrayStack是Stack的派生類,它實(shí)現(xiàn)了Stack定義的接口。ArrayStack內(nèi)部使用動(dòng)態(tài)分配的字符數(shù)組作為棧元素的存儲(chǔ)空間。數(shù)據(jù)成員maxSize表示的是棧的最大容量,top用于記錄棧頂?shù)奈恢谩3蓡T函數(shù)push和pop分別實(shí)現(xiàn)具體的入棧和退棧操作。

              請(qǐng)?jiān)诔绦蛑械臋M線處填寫適當(dāng)?shù)拇a,然后刪除橫線,以實(shí)現(xiàn)上述功能。此程序的正確輸出結(jié)果應(yīng)為:

              a,b,C

              C,b,a

              注意:只在指定位置編寫適當(dāng)代碼,不要改動(dòng)程序中的其他內(nèi)容,也不要?jiǎng)h除或移動(dòng)“//****料found****”。

              //proj2.cpp

              #include

              using namespacc std;

              class Stack{

              public:

              virtual void push(char C)=0;

              virtual char pop()=0;

              };

              class ArrayStack:public Stack{

              char*P;

              int maxSizc;

              int top;

              public:

              ArravStack(int s)

              {

              top=0;

              maxSize=s:

              //*********found*********

              P=______;

              }

              ~ArrayStack()

              {

              //*********found*********

              _______;

              }

              void push(char c)

              }

              if(top==maxSize){

              cerr<<”O(jiān)verflow! \n”:

              return;

              }

              //*********found*********

              _______;

              top++:

              }

              char pop()

              {

              if(top==0){

              cerr<<”Underflow!、n”;

              return‘\0’;

              }

              Top--;

              //*********found*********

              ______;

              }

              };

              void f(Stack&sRef)

              {

              char ch[]={‘a(chǎn)’,‘b’,‘c’};

              cout<

              sRef.push(oh[0]);sRef.push(ch[1]);sRef.push(ch[2]);

              cout<

              cout<

              cout<

              }

              int main()

              {

              ArrayStack as(10);

              f(as):

              return 0:

              }

              參考解析:

              (1)Ilew char[s]

              (2)delete[]P

              (3)P[top]=e

              (4)return P[top]

              【考點(diǎn)分析】

              本題主要考查的是表示棧的抽象類Stack類及它的派生類ArrayStaek類、純虛函數(shù)和成員函數(shù)。棧的節(jié)點(diǎn)一般使用指針表示,定義構(gòu)造函數(shù)時(shí)要給指針分配空間,使用New語(yǔ)句來完成!獳rrayStack()是析構(gòu)函數(shù),因?yàn)榍懊嬉呀?jīng)使用new來分配空間了,因此在這里要用delete語(yǔ)句來釋放指針。

              【解題思路】

              (1)主要考查的是ArrayStack類的構(gòu)造函數(shù),在函數(shù)中要為P申請(qǐng)S個(gè)char型空間,應(yīng)使用語(yǔ)句P=flew char[s];。

              (2)主要考查析構(gòu)函數(shù),使用delete語(yǔ)句釋放指針,即delete[]P;。

              (3)主要考查push函數(shù),top表示棧頂元素下標(biāo),添加的數(shù)據(jù)放到棧頂,因此使用語(yǔ)句P[top]=c;。

              (4)主要考查pop函數(shù),輸出棧頂數(shù)據(jù),top表示棧頂元素下標(biāo),因此使用語(yǔ)句return P[top];。

              10[單選題]有以下函數(shù)

              fun(char *a,char *b)

              {

              while((*a!=’\0’) &&(*b!=’\0’)&&(*a==*b))

              { a++; b++;}

              return (*a-*b);

              }

              該函數(shù)的功能是( )

              A.計(jì)算a和b所指字符串的長(zhǎng)度之差

              B.將b所指字符串復(fù)制到a所指字符串中

              C.將b所指字符串連接到a所指字符串后面

              D.比較a和b所指字符串的大小

              參考答案:D

              11[單選題]下列敘述中正確的是(  )。

              A.算法的效率只與問題的規(guī)模有關(guān),而與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)無關(guān)

              B.算法的時(shí)間復(fù)雜度是指執(zhí)行算法所需要的計(jì)算工作量

              C.數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu)是一一對(duì)應(yīng)的

              D.算法的時(shí)間復(fù)雜度與空間復(fù)雜度一定相關(guān)

              參考答案:B

              12[判斷題]C++語(yǔ)言比C語(yǔ)言對(duì)數(shù)據(jù)類型要求更加嚴(yán)格了。

              參考答案:對(duì)

              13[單選題]下面選項(xiàng)中不屬于面向?qū)ο蟪绦蛟O(shè)計(jì)特征的是(  )。

              A.繼承性 B.多態(tài)性 C.類比性 D.封裝性

              參考答案:C

            掃描/長(zhǎng)按二維碼幫助考試通關(guān)
            2018年等考報(bào)考資訊
            2018等考各科通關(guān)技巧
            2018各科最新預(yù)測(cè)試卷
            2018等考各科備考資料

            微信搜索"考試吧"了解更多考試資訊、下載備考資料

              相關(guān)推薦:

              2018年9月全國(guó)計(jì)算機(jī)等級(jí)考試試題匯總(各科目)

              2018年全國(guó)計(jì)算機(jī)等級(jí)考試必做試題匯總(各科目)

              2018年全國(guó)計(jì)算機(jī)等級(jí)考試復(fù)習(xí)知識(shí)點(diǎn)匯總(各科目)

              2018全國(guó)計(jì)算機(jī)等級(jí)考試備考經(jīng)驗(yàn)及應(yīng)試技巧匯總

              歷年真題匯總|考試吧策劃:2018年計(jì)算機(jī)等級(jí)考試報(bào)考指南

            文章搜索
            萬題庫(kù)小程序
            萬題庫(kù)小程序
            ·章節(jié)視頻 ·章節(jié)練習(xí)
            ·免費(fèi)真題 ·模考試題
            微信掃碼,立即獲!
            掃碼免費(fèi)使用
            • 1
            • 2
            • 3
            • 4
            • 5
            • 6
            • 7
            • 8
            • 9
            • 10
            此欄目下沒有文章
            版權(quán)聲明:如果計(jì)算機(jī)等級(jí)考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請(qǐng)與我們聯(lián)系800@exam8.com,我們將會(huì)及時(shí)處理。如轉(zhuǎn)載本計(jì)算機(jī)等級(jí)考試網(wǎng)內(nèi)容,請(qǐng)注明出處。
            在線模擬試題
            考證通關(guān)殺器
            考試最新資訊
            學(xué)
            一次通關(guān)技巧