计算机等级

9月计算机二级C上机考试试题及答案

时间:2024-09-26 17:47:54 计算机等级 我要投稿
  • 相关推荐

2016年9月计算机二级C上机考试试题及答案

  程序改错题【1】

2016年9月计算机二级C上机考试试题及答案

  使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错,请改正程序中的错误,使程序输出的结果为

  150

  200

  注意:错误的语句在//******error******的下面,修改该语句即可。

  提示:定义Numl为一个整型数据位长的变量。

  试题程序:

  #include

  //******error******

  struct

  {

  //******error******

  intNuml:1;

  intNum2;

  }

  MyStruct;

  voidmain()

  {

  MyStructmstr;

  mstr.Num1=150;

  mstr.Num2=15;

  //******error******

  int*ptr=&mstr.Numl;

  cout<<*ptr<  *ptr=200;

  cout<<*ptr<  }

  (1)“typedefstruct”。

  (2)“intNuml:32;”或“intNuml;”。

  (3)“int*ptr=(int*)&mstr;”。

  【解析】第1处是定义结构体,结构体定义的一般形式为

  struct(结构体名>

  {

  <成员列表>

  }

  (变量名列表);

  程序当中定义结构体名放在后面,MyStruct为结构体变量类型,相当于typedef为已有的类型定义一个新的类型,第1处应改为“typedefstruct”。第2处是定义Numl为一个整型数据变量,整型数据位数为32(4字节),因此第2处应改成“intNuml:32;”或“intNuml;”。ptr为整型数据指针,mstr为MyStruct类型结构变量,两者类型不一致应该做强制类型转换,第3处应改成“int*ptr=(int*)&mstr;”,表示将mstr的地址给ptr,ptr指向MyStruct的第一个域Numl,Numl也是整型,类型一致,故可通过ptr指针来改变Numl的值。

  程序改错题【2】

  使用VC++6.0打开考生文件夹下的源程序文件1.cpp,使它能运行正确的结果。

  注意:不要改动其他语句,不得增行或删行,也不得更改程序的结构!

  本程序要求屏幕输出:i=12345

  注意:语句在/********error********/的下面。修改该语句即可,其他的语句不能修改。

  试题程序:

  #include

  /********error********/

  classTC()

  {

  public:

  /********error********/

  void~TC(){}

  TC(inti)

  {

  cout<<’i’<<’=’<  }

  /********error********/

  }

  voidmain()

  {

  TCobj(12345);

  return;

  }

  (1)“classTC()”应改为“classTC”。

  (2)“void~TC(){}”应改为“~TC(){}”。

  (3)“}”应改为“};”。

  【解析】本题考查了考生对类的定义了解的情况。类定义类名后不能有括号,所以第1处应该是“classTC”。类的析构函数不能有返回类型,所以应改两“~TC(){}”。最容易忽略的地方,就是类定义之后必须跟一个分号。因为类的定义属于类型定义语句,就好像定义一个结构、用typedef关键字定义一个类型的别名一样,其后都要跟语句结束标志“;”。

【9月计算机二级C上机考试试题及答案】相关文章:

2016年计算机二级C上机考试试题及答案09-24

华为C语言上机试题及答案06-27

计算机二级考试C++试题及答案09-20

计算机二级考试C++试题及答案08-14

2017年9月计算机二级考试C语言考试试题07-09

2023计算机二级java考试上机模拟试题及答案08-14

2017最新计算机二级考试C++试题及答案08-24

2024年9月计算机二级VB考试试题及答案09-04

2016年9月计算机二级vb考试试题及答案07-17

2024年3月计算机二级c语言上机题库02-29