考试吧

计算机等级

考试吧>等级考试>计算机二级考试>C加加>模拟试题>正文
2016年计算机二级《C++》基础练习题及答案(3)
考试吧 2016-01-05 10:57:49 评论(0)条

  点击查看:2016年计算机二级《C++》基础练习题及答案汇总

  1[填空题]运算符重载仍然保持其原来的优先级、 和 。

  参考解析:结合性、语法结构。

  解析:运算符重载不能改变操作数的个数、运算符的优先级、运算符的结合性和运算符的语法结构。

  2[单选题] 有以下程序:

  #include

  void fun(int a,int b,int C.

  { a=456,b=567,c=678;}

  void main()

  {

  int X=10,Y=20,Z=30;

  fun(X,Y,z);

  aout<

  }

  输出结果是( )。

  A.30,20,10B.10,20,30C.456,567,678D.678,567,456

  参考答案:B

  参考解析:本题考查函数中变量的作用范围,在主函数中给变餐x、Y、Z赋值,然后将其作为实参传递给了函数fun(),虽然在函数fun()中改变了这3个变量的值,但只是同名的局部变量,不影响函数中变量的值,所以在调用函数fun()结束后,主函数3个变量的值未改变。

  3[单选题] 若有定义语句“doublex,y,*px,*Py;执行了px=&x;py=&y;”后,正确的输入语句是(  )。

  A.scanf("%f%f",x,y);B.scanf("%f%f"&x,&y);C.scanf("%If%le",px,py);D.scanf("%lf%If"x,y);

  参考答案:C

  参考解析:此题主要考查输入函数的字符格式,lf和le表示以带小数点的数学形式或指数形式输入浮点数。

  4[单选题] 继承机制的作用是( )。

  A.信息隐藏B.数据封装C.定义新类D.数据抽象

  参考答案:C

  参考解析:数据封装就是数据抽象,即信息隐藏;而继承是实现程序复用的基础。

  5[单选题]若有如下类声明

  class My Class {

  public:

  MyClass() {cout <<1;}

  };

  执行下列语句

  MyClass a,b[2],*P[2];

  以后,程序的输出结果是(  )。

  A.11 B.111 C.1111 D.11111

  参考答案:B

  6[单选题] 下列选项中正确的语句是(  )。

  A.chars[];s="BOOK!";B.char*s;S={"BOOK!");C.chars[10];s="BOOK";D.char*S;s="BOOK!";

  参考答案:D

  参考解析:在选项D中,字符指针s指向字符串常量BOOK!。故选项D正确。

  7[填空题] __________是一种特殊的成员函数,它主要用来为对象分配内存空间,对类的数据成员进行初始化并执行对象的其他内部管理操作。

  参考解析:构造函数

  【解析】构造函数的主要作用是对数据成员初始化,系统为成员分配内存时,保留这些存储单元的原状。

  8[简答题]使用VC++6.0打开考生文件夹下的源程序文件2.cpp。完成函数fun(char*sl,char*s2)的空出部分。函数fun(char*s1,char*s2)的功能是将在字符串s1中下标为偶数的字符,紧随其后重复出现一次,放在一个新串s2中,s2中字符按原字符串中字符的顺序排列。(注意0为偶数)

  例如:当s1中的字符串为“abcdef”时,s2中的字符串应为“aaccee”。

  注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。

  试题程序:

  #include(iostream.h)

  voidfun(char*s1,char*s2)

  {

  }

  voidmain()

  {

  charsi[100】,s2【1OO];

  cout<<"Pleaseenterstringstrin9:"<

  cin.getline(s1,100);

  fun(s1,s2);

  cout<<"Theresultis:"<

  return;

  }

  参考解析:

  inti;

  for(i=0;s1[i]!=0;i++)//循环判断每一个字符

  {

  if(i%2==0)//判断字符串中下标为偶数位置

  {

  s2[i]=s1[3];

  s2[i+1]=s1[i];

  s2[i+2]='\0';//新串添加尾符

  }

  }

  【解析】判断一个字符串中的某一个字符下标i是否为偶数,可用“i%2==0”来判断。对串s1中各个字符串逐个进行考查,满足条件的字符就顺序放在新串s2中,否则就不存放。所有字符处理完成后,记得在新串s2的末尾加上结束符“'\0'。

  9[简答题]使用VC6打开考生文件夹下的源程序文件2.cpp。阅读下列函数说明和代码,补充空出的代码。函数sum(intn)返回1,2,3,…,n的和。其中n大于0。

  程序要求使用递归实现上述功能。

  注意:不能修改程序的其他部分,只能补充sum函数。

  试题程序:

  #include

  #include

  intsum(intn)

  {

  }

  voidmain()

  {

  cout<<"1+2+3+…+100="<

  endl;

  return;

  }

  参考解析:return(n==1)?1:n+sum(n-1);

  【解析】本题主要考查三目运算符?:的使用和递归函数的编制。程序功能是计算前n个自然数的和,n为参数。程序的运算过程如下,不是一般性,假设n为3,首先执行sum(3),因为3不等于1,所以return语句返回的值为3+sum(3-1),然后执行sum(3-1)即sum(2),2不等于1,所以return语句返回的值为2+sum(2-1),然后执行sum(2-1)即sum(1),因为1等于1,所以return语句返回的值为1,即问号后的值,所以最终结果为3+2+1=6,而题中n为100,所以结果为5050。

  10[填空题]下面程序的输出结果是【9】。

  #include

  void main()

  {

  int a[6]={1,2,3,4,5,6};

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

  cout <<

  cout <

  }

  参考解析:12345

  11[单选题]下列关于条件语句的描述中,错误的是(  )。

  A.一条if语句中最多只能有一个else子句

  B.if语句的if体内可以出现开关语句

  C.if语句中else if子句和else子句的顺序是没有限制的

  D.if语句中else子句是与它最近的if子句配对的

  参考答案:C

  12[单选题]下列描述中正确的是(  )

  A.软件工程只是解决软件项目的管理问题

  B.软件工程主要解决软件产品的生产率问题

  C.软件工程的主要思想是强调在软件开发过程中需要应用工程化原则

  D.软件工程只是解决软件开发中的技术问题

  参考答案:C

  13[单选题]下列关于静态成员的描述中,错误的是(  )。

  A.静态成员都是使用static来说明的

  B.静态成员是属于类的,不是属于某个对象的

  C.静态成员只可以用类名加作用域运算符来引用,不可用对象引用

  D.静态数据成员的初始化是在类体外进行的

  参考答案:C

  14[单选题] 下面关于c+十语言变量的叙述错误的是( )。

  A.c++语言中变量分为aut0、static、extem和register4种存储类型

  B.自动变量和外部变量的作用域为整个程序

  C.内部静态变量的作用域是定义它的函数

  D.外部静态变量的作用域是定义它的文件

  参考答案:B

  参考解析:自动变量是函数体或分程序内定义的变量,它的作用域在所定义的函数体内或分程序体内。

  15[单选题] 下面关于运算符重载的描述错误的是( )。

  A.运算符重载不能改变操作数的个数、运算符的优先级、运算符的结合性和运算符的语法结构

  B.不是所有的运算符都可以进行重载

  C.运算符函数的调用必须使用关键字operat。

  D.在C+十语言中不可通过运算符重载创造出新的运算符

  参考答案:C

  参考解析:例如“::”运算符就不能被重载;通过重载可以创造新的运算方式,但是不能臆造新的运算符;定义的时候必须使用关键字0perator,而调用时可直接使用运算符。

  16[单选题]用树形结构来表示实体之间联系的模型称为(  )。

  A.关系模型B.层次模型C.网状模型D.格式化模型

  参考答案:B

  参考解析:用树形结构来表示实体之间联系的模型称为层次模型。

  17[单选题]程序设计方法要求在程序设计过程中(  )。

  A.先编制出程序,经调试使程序运行结果正确后再画出程序的流程图

  B.先编制出程序,经调试使程序运行结果正确后再在程序中的适当位置处加注释

  C.先画出流程图,再根据流程图编制出程序,最后经调试使程序运行结果正确后再在程序中的适当位置处加注释

  D.以上三种说法都不对

  参考答案:D

  参考解析:在程序设计过程中,一个很重要的环节是首先确定实现各种功能的算法,并且用某种工具将它精确地表达出来。流程图是其中的工具之一。因此,程序设计的过程应是先画出流程图,然 后根据流程图编制出程序。因此,选项A中的说法是错误的。 程序中的注释是为了提高程序的可读性。使程序易于理解、易于维护,注释必须在编制程序的同时加 入。因此,选项B和C中的说法也都是错误的。

  18[单选题] 下列叙述中错误的是(  )。

  A.gets函数用于从终端读入字符串

  B.getchar函数用于从磁盘文件读入字符

  C.fputs函数用于把字符串输出到文件

  D.fwrite函数用于以二进制形式输出数据到文件

  参考答案:B

  参考解析:本题考查的是C语言中输入、输出函数的使用,9ets和getchar函数用于从标准输入设备键盘读入字符串和字符;fputs用于把字符串输出到文件;fwrite用于以二进制形式输出数据到文件。

  19[单选题] 下列关于数据库设计的叙述中,正确的是( )。

  A.在需求分析阶段建立数据字典

  B.在概念设计阶段建立数据字典

  C.在逻辑设计阶段建立数据字典

  D.在物理设计阶段建立数据字典

  参考答案:A

  参考解析:数据字典是在需求分析阶段建立,在数据库设计过程中不断修改、充实和完善的

  20[填空题]在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送_______实现。

  【答案】消息

  【解析】这是概念题,通过发送消息实现。

展开全文
评论(0条) 发表
Copyright © 2004-
考试吧(m.566.com)北京美满明天科技有限公司
社会统一信用代码:91110108MA01WU311X
帮助中心