国产18禁黄网站免费观看,99爱在线精品免费观看,粉嫩metart人体欣赏,99久久99精品久久久久久,6080亚洲人久久精品

2016年計(jì)算機(jī)二級(jí)《C++》基礎(chǔ)練習(xí)題及答案

時(shí)間:2016-05-04 14:43:00   來(lái)源:無(wú)憂考網(wǎng)     [字體: ]

  1[單選題] 已知函數(shù)FA調(diào)用函數(shù)FB,若要把這兩個(gè)函數(shù)定義在同一個(gè)文件中,則( )。

  A.FA必須定義在FB之前

  B.FB必須定義在FA之前

  C.若FA定義在FB之后,則FA的原型必須出現(xiàn)在FB的定義之前

  D.若FB定義在FA之后,則FB的原型必須出現(xiàn)在FA的定義之前

  參考答案:D

  參考解析:如果使用用戶自己定義的函數(shù),而該函數(shù)與調(diào)用它的函數(shù)(即主調(diào)用函數(shù))在同一程序單元中,且位置在主調(diào)用函數(shù)之后,則必須在調(diào)用此函數(shù)之前對(duì)被凋用的函數(shù)作聲明。

  2[單選題]單個(gè)用戶使用的數(shù)據(jù)視圖的描述稱為

  A.外模式 B.概念模式 C.內(nèi)模式 D.存儲(chǔ)模式

  參考答案:A

  3[單選題] 生成派生類對(duì)象時(shí),派生類構(gòu)造函數(shù)調(diào)用基類構(gòu)造函數(shù)的條件是(  )。

  A.無(wú)需任何條件

  B.基類中顯式定義了構(gòu)造函數(shù)

  C.派生類中顯式定義了構(gòu)造函數(shù)

  D.派生類構(gòu)造函數(shù)明確調(diào)用了基類構(gòu)造函數(shù)

  參考答案:D

  參考解析:派生類的構(gòu)造函數(shù)必須通過(guò)調(diào)用基類的構(gòu)造函數(shù)來(lái)初始化基類子對(duì)象。所以,在定義派生類的構(gòu)造函數(shù)時(shí)除了對(duì)自己的數(shù)據(jù)成員進(jìn)行初始化外,還必須負(fù)責(zé)調(diào)用基類構(gòu)造函數(shù)使基類的數(shù)據(jù)成員得以初始化。

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

  A.在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,各個(gè)對(duì)象之間具有密切的關(guān)系

  B.在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,各個(gè)對(duì)象都是公用的

  C.在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,各個(gè)對(duì)象之間相對(duì)獨(dú)立,相互依賴性小

  D.上述三種說(shuō)法都不對(duì)

  參考答案:C

  參考解析:面向?qū)ο蟮某绦蛟O(shè)計(jì)是用對(duì)象模擬問(wèn)題領(lǐng)域中的實(shí)體,各對(duì)象之間相對(duì)獨(dú)立,相互依賴性小,通過(guò)消息來(lái)實(shí)現(xiàn)對(duì)象之間的相互聯(lián)系。

  5[單選題]

  A.變量a的值,即3

  B.變量a的地址值

  C.變量p的地址值

  D.無(wú)意義

  參考答案:A

  參考解析:

  6[單選題]閱讀以下程序:

  下列錯(cuò)誤的是(  )。

  A.對(duì)象infile只能用于文件入操作

  B.對(duì)象outfile只能用于文件輸出操作

  C.對(duì)象iofile在文件關(guān)閉后,不能再打開(kāi)另一個(gè)文件

  D.對(duì)象iofile可以打開(kāi)一個(gè)文件同時(shí)進(jìn)行輸入和輸出

  參考答案:C

  參考解析:本題看似復(fù)雜。其實(shí)掌握技巧的話可以很容易的得出正確答案為C。按照常識(shí),一個(gè) 文件關(guān)閉后,應(yīng)該可以再打開(kāi)另外一個(gè)文件。

  7[填空題]軟件設(shè)計(jì)模塊化的目的是 。

  答案解析:降低復(fù)雜性

  8[單選題]程序中若有如下的說(shuō)明和定義語(yǔ)句

  char fun(char *);

  main()

  {

  char *s= "one",a[5]={0},(*f1)()=fun,ch;

  ……

  }

  以下選項(xiàng)中對(duì)函數(shù)fun的正確調(diào)用語(yǔ)句是( )

  A.(*f1)(a); B.*f1(*s); C.fun( &a); D.ch=*f1(s)

  參考答案:A

  9[填空題]診斷和改正程序中錯(cuò)誤的工作通常稱為( )。

  參考答案:程序調(diào)序

  10[填空題]以下程序中,fun函數(shù)的功能是求3行4列二維數(shù)組每行元素中的值,請(qǐng)?zhí)羁? )

  void fun(int, int, int (*)[4],int *)

  main()

  {

  int a[3][4]={{12,41,36,28},{19,33,15,27},{3,27,19,1}},b[3],i;

  fun(3,4,a,b);

  for(i=0;i<3;i++)

  printf("M",b[i]);

  printf("\n");

  }

  void fun(int m,int n,int ar[][4],int *br)

  {

  int i,j,x;

  for(i=0;i

  { x=ar[i][0];

  for(j=0;j

  if(x (12) =x;

  }

  參考解析:br[i]

  11[填空題]C++源程序的擴(kuò)展名是(  ) 。

  參考解析:cpp

  12[單選題] 有如下程序:

  #include

  usingnamespacestd;

  classC1{

  public:

  ~C1(  ){cout<<1;)

  };

  classC2:publicC1{

  public:

  ~C2(  ){cout<<2;)

  };

  intmain(  ){

  C2cb2;

  C1*cb1:

  return0;

  }

  運(yùn)行時(shí)的輸出結(jié)果是(  )。

  A.121B.21C.211D.12

  參考答案:B

  參考解析:在基類與派生類中,析構(gòu)函數(shù)在派生類先調(diào)用,而本題有兩個(gè)不同類對(duì)象,對(duì)于cb2需先調(diào)c2的析構(gòu)函數(shù),再調(diào)c1的析構(gòu)函數(shù)。而對(duì)于*cb1由于沒(méi)有指針性析構(gòu)函數(shù),它將不參加傳遞數(shù)據(jù)。

  13[單選題]若有定義語(yǔ)句“intm[]={5,4,3,2,1),i=4;”則下列對(duì)m數(shù)組元素的引用中錯(cuò)誤的是(  )。

  A.m[--i]B.m[2*2]C.m[m[o]]D.m[m[i]]

  參考答案:C

  參考解析:數(shù)組的下標(biāo)是從零開(kāi)始的。一維數(shù)組的一般定義方式為數(shù)型說(shuō)明符數(shù)組名[常置表達(dá)式],其中“[]”中的內(nèi)容可以是整型數(shù)量,也可以是整型表達(dá)式。選項(xiàng)C中,m[0]=5,m[m[o]]=m[5],數(shù)組下標(biāo)越界。

  14[單選題]

  

  A.

  

  B.

  

  C.

  

  D.

  

  參考答案:C

  參考解析:在函數(shù)f的形參表達(dá)式中第一個(gè)形參為整型指針變量,第二個(gè)為整型引用變量,所以用實(shí)參v1的指針初始化第一個(gè)形參,用實(shí)參v2初始化第二形參。

  15[單選題] 有以下程序:

  classDate

  {public:

  Date(inty,intm,intd);

  {year=Y;

  month=m;

  day=d;}

  Date(inty=2000)

  {year=y;

  month=10;

  day=1;}

  Date(Date&d)

  {year=d.year;

  month=d.month;

  day=d.day;}

  voidprint()

  {cout<

  day<

  private:

  intyear,month,day;};

  Datefun(Dated)

  {Datetemp;

  temp=d;

  returntemp;}

  intmain()

  {Datedatel(2000,1,1),date2(0,0,O);

  Datedate3(date1);

  date2=fun(date3);

  return0;}

  程序執(zhí)行時(shí),Date類的復(fù)制構(gòu)造函數(shù)被調(diào)用的次數(shù)是(  )。

  A.2B.3C.4D.5

  參考答案:B

  參考解析:本題復(fù)制構(gòu)造函數(shù)一共被調(diào)用了三次:第一次是在執(zhí)行語(yǔ)句Datedate3(datel);時(shí),用已經(jīng)建立的對(duì)象datel對(duì)正在建立的對(duì)象date3進(jìn)行初始化;第二次是在調(diào)用fun函數(shù)時(shí),由于是傳值調(diào)用,因此實(shí)參對(duì)象date3要對(duì)形參對(duì)象d進(jìn)行初始化;第三次是在執(zhí)行fun函數(shù)中的返回語(yǔ)句returntemp;時(shí),系統(tǒng)初始化一個(gè)匿名對(duì)象時(shí)使用了復(fù)制構(gòu)造函數(shù)。

  16[單選題] 對(duì)于語(yǔ)句“cout<

  A.*********1*2B.********12C.*******1*2D.12********

  參考答案:A

  參考解析:C++語(yǔ)言中,setfill的意思是在空格的地方填上setfill函數(shù)中的參數(shù)字符,setw的意思是設(shè)置整個(gè)輸出字符串的字符個(gè)數(shù),本題中用*來(lái)代替空格。

  17[單選題]如果一個(gè)模板聲明列出了多個(gè)參數(shù),則每個(gè)參數(shù)之間必須使用逗號(hào)隔開(kāi),每個(gè)參數(shù)都必須使用(  )關(guān)鍵字來(lái)修飾。

  A.constB.staticC.voidD.class

  參考答案:D

  參考解析:如果一個(gè)模板聲明列出了多個(gè)參數(shù),則每個(gè)參數(shù)之間必須使用逗號(hào)隔開(kāi),每個(gè)參數(shù)都必須使用class關(guān)鍵字來(lái)修飾。

  18[單選題] 已知類MyClass的定義如下:

  ClassMyClass{

  public:

  MyClass(intd){data=d;}

  ~MyClass(){}

  private:

  intdata;

  };

  下列對(duì)MyClass類對(duì)象數(shù)組的定義和初始化語(yǔ)句中,正確的是(  )。

  A.MyClassarray[2];

  B.MyClassarray[2]={MyClass(5)};

  C.MyClassarray[2]={MyClass(5),Myclass(6)};

  D.MyClass*array=newMyClass[2];

  參考答案:C

  參考解析:A只是聲明,沒(méi)有初始化;B的初始化錯(cuò)誤,另一個(gè)數(shù)組對(duì)象沒(méi)有指明地址;D同樣做的不是初始化的事情。

  19[單選題]下列函數(shù)的功能是判斷字符串str是否對(duì)稱,對(duì)稱則返回true,否則返回false,則橫線處應(yīng)填上(  )。

  

  A.

  B.

  C.

  D.

  參考答案:A

  參考解析: