您的位置:自考365 > 复习指导 > 历年试题 > 2000年4月广东省高等教育自学考试面向对象程序设计试题

2000年4月广东省高等教育自学考试面向对象程序设计试题

2005-06-11 00:00   【 】【我要纠错

  (标准号:4046)

  一、填空题(答案写在答卷相应的横线上。每小题1分,共10分)

  1.面向对象程序设计语言的先驱是Simula,理论上比较完善的面向对象程序设计语言是 Eiffel,导致面向对象程序设计兴起的语言及程序设计环境是Smalltalk,而在Internet上最有前途的面向对象程序设计语言是( )。

  2.指向基类的对象的指针变量也可以指向( )的对象。

  3.类的省却的继承访问控制是( )。

  4.字符串类型的变量一般由( )和( )类型的变量表示。

  5.类用作数据封装机制,它将相关的数据以及作用在这些数据上的操作组织在一起,实现了( ) .

  6.类用作类型定义机制,它可用于声明对象和进行类型检查,还允许用户通过( )机制定义子类型。

  7.在函数定义或说明时,具有缺省值的形式参数称为( ) .

  8.( ) 语句中断并结束循环语句?

  9.符号常量是指定义了值的 ( ) .

  10.面向对象程序中,实体的状态由( )表示,其行为由( )表示。

  二、单项选择题(在每小题的备选答案中选出一个正确的答案,并将正确答案的号码写在答卷相应的位置上。每小题1分,共10分)

  11.cout是I0流库预定义的

  A 类B 对象C 包含文件D 常量

  12.继承机制的作用是

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

  13.类的定义如下,试问类B的对象占据内存多少宇节空间

  class A {int b; protected: int a; public: A(int n){a=n;};};

  class B: public A {int c;};

  A 2B 3C 4D 6

  14.一段程序的定义如下,在函数f()中将动态对象的成员n的值改为34的语句应该为

  class A {

  int n;

  public:setn(int nl) {n=nl;}

  A(int x) {n = x; } }

  int f() {A * ptr = new A(45);…… }

  AA(34);Bptr.setn(34);Cptr->setn(34);Dsetn(34);

  15.类的析构函数的作用是

  A 一般成员函数B 类的初始化C 对象的初始化D 删除对象创建的所有对象

  16.类的析构函数是在什么时间被自动调用的

  A 类创建时B 创建对象时C 删除对象时D不自动调用

  17.下面哪个是正确的递归函数,它保证对所有的参数能够结束

  Aint f(int n) {if(n

  B int f(int n) {if(n>l) return 1; else return n*f(n-l); }

  C int f(int n) {if(abs(n)

  D int f(int n) {if(n>l) return 1; else return n*f(n*2); }

  18.求解问题的一般方法有

  A 结构化方法B 求精算法和精美算法C 模块方法D 过程化方法

  19.-1在计算杭内的存储形式是

  A 0xFFFFB 1111111111111110C 1000 0000 0000 0001 D 0000 0000 0000 0001

  20.下列常量中,哪个的类型为float类型

  A 2.FB .2LC 0.2E100D0.0

  三、名词解释题(每小题z分,共10分)

  21.变量

  22.内部变量

  23.赋值运算的类型兼容性

  24.拷贝构造函数

  25.实例化

  四、改错题(每小题1分,共10分)

  26.要求下面循环体中的语句x+=3执行30次,请改正程序。

  for(j=0; j<90; j++)if(j/3=0) x+=3;

  27.下面的函数求一个无负号数的2倍值,请该正错误。

  unsigned times(unsigned n) {return n;}

  28.指出程序段中的错误: for(k=l,k

  29.以下语句是合法的C++语言语句吗不合法的又错在哪里

  if (x > 0) then x =x + 1; else x - x - 1;

  30.改正函数原型static int calc_middle(x, y, z);

  31.下列的类声明程序片段是否有语法错误,如有请该正 :

  class FIGURE {PUBLIC:

  figure();

  FIGURE();

  ~FIGURE (int have_drawed);};

  32.设有如下的程序片段,是否有错误,如有错误请该正

  class PRINTER (

  unsigned char flag;

  int print_page() (……);

  public:

  PR INTER (unsigned char fig) {……};

  int print_file () {……};};

  int main() {PRINTER LQ_1600K(0x3F8, ‘\0’);

  LQ-1600K.print-page 0;}

  33. 请指出程序片段的语法错误。

  int * age_ptr;

  int m = 3;

  *age_ptr = &m;

  34.请指出程序片段的语法错误。

  int* salary_ptr;

  float* work_hours_ptr;

  salary_ptr = work_hours_ptr;

  35.指出下面程序中的错误。

  #include

  #include

  class PERSON {public:

  PERSON(char *name) { int len;

  len = strlen (name);

  PERSON::name = new char[len+1];

  strcpy(PERSON:: name, name);}

  ~PERSON () { delete name; }

  char* get_name () {return name; )

  protected:char *name;};

  class STUDENT: PERSON {public:

  void STUDENT (char *st_name, int score): score (score)

  { int len;len = strlen(st_name);

  name = new char[len+l];

  strcpy(name, st_name);}

  int get_score () { return score; )

  protected:

  int score = 100;

  {;int main () {STUDENT soft(“Zhao”。 80);

  cout 《“Student:” 《 soft.get_name ();

  cout 《“Score: ” 《soft.score 《“。\n”;

  return 0;}

  五、简答题(每小题3分,共15分)

  36.试说明实体与程序之间的关系。

  37. C++是如何实现数据封装和信息隐藏的

  38. 举例说明如何动态创建对象和删除对象

  39. 什么是父类型什么是子类型

  40. 什么是函数重载

  六、程序理解题(每小题4分,共20分)

  41. 给出下面程序的输出。

  #include

  int main() {const int max_number = 10;

  int index;

  int find_one, find_two;

  int array [max_number] ={20, 12, 32, 13, 19, 41, 10, 61, 23. 57};

  find_one = array ;

  find_two = array ;

  for (index = 0; index < max_number; index =index + 1) {if (array[index] < find_one) find_one = array [index];if (array[index] > find_two) find_two = array [index];}

  cout 《 “\n0k, find_one =” 《find_one 《“, find_two =” 《find_two;

  return 1;}

  42.请给出下面程序的输出结果。

  #include

  const unsigned long MEGA_BYTE = (unsigned long)1024 *1024;

  class COMPUTER {public:

  COMPUTER (unsigned long m_size, unsigned long h_size, int CD_speed)

  {memory_size = m_size;

  hard_disk_size = h_size;

  CD_ROM_speed = CD_speed;

  if (memory_size > (unsigned long)16 * MEGA_BYTE) {cout 《 “\nYou should install Windows 95!”;} else {cout 《 “\nYou can only install Windows 3.1!”;}

  if (hard_disk_size > (unsigned long)800 * MEGA_BYTE) {cout 《 “\nYou can install Visual C++ 4.0!”;} else {cout 《 “\nYou can only install Borland C++ 4.5!”;}

  if (CD_ROM_speed > 4) cout 《 “\nYou can see Video CD!”;

  else cout 《 “\nYou can only listen Audio CD!”;

  }

  ~COMPUTER () { cout 《 “\nYou should make good use of your computer!”; }

本文转载链接:2000年4月广东省高等教育自学考试面向对象程序设计试题

分享到:
  • 站内搜索
  • 课程搜索
  • 试题搜索

热门搜索:教材 报名 查分 免考 考试计划