亚洲国产日韩欧美在线a乱码,国产精品路线1路线2路线,亚洲视频一区,精品国产自,www狠狠,国产情侣激情在线视频免费看,亚洲成年网站在线观看

第49次計(jì)算機(jī)二級(jí)C++考試試題

時(shí)間:2024-08-03 09:19:02 計(jì)算機(jī)等級(jí) 我要投稿
  • 相關(guān)推薦

2017年第49次計(jì)算機(jī)二級(jí)C++考試試題

  計(jì)算機(jī)誕生初期,人們要使用計(jì)算機(jī)必須用機(jī)器語(yǔ)言或匯編語(yǔ)言編寫程序。下面是小編收集的關(guān)于計(jì)算機(jī)二級(jí)C++考試試題,希望大家認(rèn)真閱讀!

2017年第49次計(jì)算機(jī)二級(jí)C++考試試題

  單選題

  1). 結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是( )

  A.程序的規(guī)模

  B.程序的效率

  C.程序設(shè)計(jì)語(yǔ)言的先進(jìn)性

  D.程序易讀性

  正確答案:D

  2). 下面關(guān)于C++流的敘述中,正確的是( )。

  A.cin是一個(gè)輸入流對(duì)象

  B.可以用ifstream定義一個(gè)輸出流對(duì)象

  C.執(zhí)行語(yǔ)句序列char* y=″PQMN″;cout<

  D.執(zhí)行語(yǔ)句序列char x[80];cin.getline(x,80);時(shí),若輸入Happy new year,則x中的字符串是″Happy″

  正確答案:A

  答案解析:本題考查C++流的概念和I/()的格式化。cin是istream類的對(duì)象,即輸入流對(duì)象。ifstream是輸入文件流,類不能定義個(gè)輸出流對(duì)象。getline函數(shù)的功能是允許從輸入流中讀取多個(gè)字符,并且允許指定輸入終止,在讀取完成后,從讀取的內(nèi)容中刪除該終止字符,所以D選項(xiàng)中的語(yǔ)句序列后x中字符串應(yīng)該是Happy new year。

  3). 若已定義的函數(shù)有返回值,則以下關(guān)于該函數(shù)調(diào)用的敘述中錯(cuò)誤的是( )。

  A.函數(shù)調(diào)用可以作為獨(dú)立的語(yǔ)句存在

  B.函數(shù)調(diào)用可以無(wú)返回值

  C.函數(shù)調(diào)用可以出現(xiàn)在表達(dá)式中

  D.函數(shù)調(diào)用可以作為、一個(gè)函數(shù)的形參

  正確答案:D

  答案解析:本題考查函數(shù)的調(diào)用方式。函數(shù)的形參和實(shí)參具有以下特點(diǎn):①形參變量只有在被調(diào)用時(shí)才分配內(nèi)存單元,在調(diào)用結(jié)束時(shí),即刻釋放分配的內(nèi)存單元,因此,形參只有在函數(shù)內(nèi)部有效,函數(shù)調(diào)用結(jié)束返回主調(diào)函數(shù)后則不能再使用該形參變量;②實(shí)參可以是常量、變量、表達(dá)式、函數(shù)等,無(wú)論實(shí)參是何種類型的量,在進(jìn)行函數(shù)調(diào)用時(shí),它們都必須具有確定的值,以便把這些值傳送給形參,因此應(yīng)通過預(yù)先用賦值、輸入等辦法使實(shí)參獲得確定值;③實(shí)參和形參在數(shù)量上、類型上、順序上應(yīng)嚴(yán)格一致,否則會(huì)發(fā)生″類型不匹配″的錯(cuò)誤;④函數(shù)調(diào)用中發(fā)生的數(shù)據(jù)傳送是單向的。即只能把實(shí)參的值傳送給形參,而不能把形參的值反向地傳送給實(shí)參。因此在函數(shù)調(diào)用過程中,形參的值發(fā)生改變,而實(shí)參中的值不會(huì)變化。

  4). 設(shè)int a=10,b=11,c=12;,表達(dá)式(a+b)

  A.2

  B.0

  C.-2

  D.1

  正確答案:B

  答案解析:本題考察的是運(yùn)算符的優(yōu)先級(jí),應(yīng)該先計(jì)算a+b的值為21,然后與c比較大小的值為0,根據(jù)"&&"的運(yùn)算規(guī)則,整個(gè)表達(dá)式的值為0。

  5). 若要對(duì)Date類中重載的加法運(yùn)算符成員函數(shù)進(jìn)行聲明,下列選項(xiàng)中正確的是( )。

  A.Data+( Data);

  B.Data operator+( Data);

  C.Data+operator( Data);

  D.operator+( Data.Data);

  正確答案:B

  答案解析:重載運(yùn)算符的函數(shù)一般格式如下:函數(shù)類型operator運(yùn)算符名稱(形參列表),因此選B。

  6). 下列敘述中正確的是( )

  A.循環(huán)隊(duì)列中的元素個(gè)數(shù)隨隊(duì)頭指針與隊(duì)尾指針的變化而動(dòng)態(tài)變化

  B.循環(huán)隊(duì)列中的元素個(gè)數(shù)隨隊(duì)頭指針的變化而動(dòng)態(tài)變化

  C.循環(huán)隊(duì)列中的元素個(gè)數(shù)隨隊(duì)尾指針的變化而動(dòng)態(tài)變化

  D.以上說法都不對(duì)

  正確答案:A

  答案解析:在循環(huán)隊(duì)列中,用隊(duì)尾指針rear指向隊(duì)列中的隊(duì)尾元素,用排頭指針front指向排頭元素的前一個(gè)位置。因此,從排頭指針front指向的后一個(gè)位置直到隊(duì)尾指針rear指向的位置之間所有的元素均為隊(duì)列中的元素。所以循環(huán)隊(duì)列中的元素個(gè)數(shù)與隊(duì)頭指針和隊(duì)尾指針的變化而變化,A正確。

  二、簡(jiǎn)單應(yīng)用題

  請(qǐng)編寫一個(gè)函數(shù)int CalcDigital(char*str),該函數(shù)可返回字符串str中數(shù)字字符(即“0”-“9”這10個(gè)數(shù)字)的個(gè)數(shù),如字符串"olympic2008"中數(shù)字字符的個(gè)數(shù)為4。請(qǐng)用if條件判斷語(yǔ)句與for循環(huán)語(yǔ)句來(lái)實(shí)現(xiàn)該函數(shù)。

  注意:部分源程序已存在文件中。

  請(qǐng)勿修改主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)CalcDigital的花括號(hào)中填寫若干語(yǔ)句。

  文件kt9_2.cpp的內(nèi)容如下:

  #include

  #include

  using namespace std;

  int CalcDigital(char*str);

  void main()

  {

  char *str;

  str=new char[255];

  cout<<"輸入字符串:";

  cin>>str;

  int num=CalcDigital(str);

  cout<

  }

  int CalcDigital(char*str)

  {

  }

  【參考答案】

  int CalcDigital(char *str)

  {

  if(str==NULL) return 0;

  int num_of_digital=0;

  int len=strlen(str);

  for(int i=0;i

  if(str[i]<='9' && str[i]>='0') num_of_digital++;

  return num_of_digital;

  }

  【試題解析】 本題考查對(duì)于if條件判斷語(yǔ)句與for循環(huán)語(yǔ)句的熟練使用程度。注意判斷條件(判斷是否是數(shù)字是直接比較ASCII碼)的使用。

  【該題的另一個(gè)參考答案】

  #include

  #include

  using namespace std;

  int CalcDigital(char*str);

  void main()

  {

  char *str;

  str=new char[255];

  cout<<"輸入字符串:";

  cin>>str;

  int num=CalcDigital(str);

  cout<

  }

  int CalcDigital(char*str)

  {

  int sum;

  sum=0;

  for (int i=0;i<255;i++)

  {

  if((str[i]>='0')&&(str[i]<='9')) sum++;

  if(str[i]==NULL)break;//這里是兩個(gè)=,如僅一個(gè)會(huì)使得str被賦值為空

  }

  return sum;

  }

  三.綜合應(yīng)用題

  使用VC6打開考生文件夾下的工程kt9_3,此工程包含一個(gè)源程序文件kt9_3.cpp,其中定義了Circle類與Money類,Circle類可對(duì)半徑為r的圓進(jìn)行周長(zhǎng)與面積的計(jì)算,而Money類用于計(jì)算一圓形游泳池的造價(jià)。游泳池四周有圓形過道,過道外圍上柵欄,過道寬度為3米,根據(jù)鍵入的游泳池半徑,每米柵欄價(jià)格及每平方米過道價(jià)格,即可計(jì)算出游泳池的造價(jià)。請(qǐng)按要求完成下列操作,將程序補(bǔ)充完整。

  (1)定義符號(hào)常量PI(值為3.14159f)與WIDTH(值為3.00f),分別用于表示圓周率與過道的固定寬度。請(qǐng)?jiān)谧⑨?ldquo;//**1**”之后添加適當(dāng)?shù)恼Z(yǔ)句。

  (2)定義Circle類默認(rèn)構(gòu)造函數(shù),把私有成員radius初始化為參數(shù)r的值。請(qǐng)?jiān)谧⑨?ldquo;//**2**”之后添加適當(dāng)?shù)恼Z(yǔ)句;

  (3)完成Money類默認(rèn)構(gòu)造函數(shù)的定義,把私有成員FencePrice(每米柵欄的價(jià)格)、ConcretePrice(每平方米過道的價(jià)格)初始化為參數(shù)f,c的值。請(qǐng)?jiān)谧⑨?ldquo;//**3**”之后添加適當(dāng)?shù)恼Z(yǔ)句。

  (4)完成Money類成員函數(shù)floatMoney::TotalMoney(floatfencelen,floatconarea)的定義,根據(jù)參數(shù)fencelen(柵欄的長(zhǎng)度)和conarea(過道的面積),返回柵欄與過道的總造價(jià)。請(qǐng)?jiān)谧⑨?ldquo;//**4**”之后添加適當(dāng)?shù)恼Z(yǔ)句。

  注意:除在指定位置添加語(yǔ)句之外,請(qǐng)不要改動(dòng)程序中的其他內(nèi)容。

  源程序文件kt9_3.cpp清單如下:

  #include

  using namespace std;

  //**1**

  class Circle

  {

  private:

  float radius;

  public:

  //**2**

  float Circumference(){return 2*PI*radius;}

  float Area(){return PI*radius*radius;}

  };

  class Money

  {

  private:

  float FencePrice;

  float ConcretePrice;

  public:

  Money(float f,float c);

  float TotalMoney(float fencelen,float conarea);

  };

  Money::Money(float f,float c)

  {

  //**3**

  }

  float Money::TotalMoney(float fencelen,float conarea)

  {

  //**4**

  }

  void main()

  {

  float radius,fence,concrete;

  cout.setf(ios::fixed);

  cout.setf(ios::showpoint);

  cout.precision(2);

  cout<<"Enter the radius of the pool:";

  cin>>radius;

  cout<<"Enter the Fence Price:";

  cin>>fence;

  cout<<"Enter the Concrete Price:";

  cin>>concrete;

  Circle Pool(radius);

  Circle PoolRim(radius+WIDTH);

  Money mon(fence,concrete);

  float totalmoney=mon.TotalMoney(PoolRim.Circumference(),(PoolRim.Area()-Pool.Area()));

  cout<<"The total money is RMB"<

  }}

  【參考答案】

  (1)const float PI = 3.14159f;

  const float WIDTH =3.00f;

  (2)Circle(float r):radius(r){};

  (3)FencePrice=f;

  ConcretePrice=c;

  (4)return FencePrice*fencelen+ConcretePrice*conarea;

【第49次計(jì)算機(jī)二級(jí)C++考試試題】相關(guān)文章:

計(jì)算機(jī)二級(jí)考試C++試題06-10

計(jì)算機(jī)二級(jí)考試C++試題及答案08-01

計(jì)算機(jī)二級(jí)考試C++試題及答案10-08

2017計(jì)算機(jī)二級(jí)C++考試試題10-20

2017最新計(jì)算機(jī)二級(jí)考試C++試題及答案10-24

2017全國(guó)計(jì)算機(jī)二級(jí)C++考試試題06-20

2017年計(jì)算機(jī)二級(jí)考試C++考試試題及答案09-24

2017年計(jì)算機(jī)二級(jí)考試C++考試試題及答案11-03

2016計(jì)算機(jī)等級(jí)考試二級(jí)C++上機(jī)模擬試題及答案07-14

2017年9月計(jì)算機(jī)二級(jí)C++考試試題05-13