上海花千坊

试题

计算机二级C上机:程序改错题

时间:2024-08-26 04:41:39 试题 我要投稿
  • 相关推荐

计算机二级C上机:程序改错题

  为了使广大考生在备战计算机等级考试时,更快的掌握相应知识点,下面是小编搜索整理的计算机二级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<<endl;

  *ptr=200;

  cout<<*ptr<<endl;

  }

  答案:

  (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的值。

【计算机二级C上机:程序改错题】上海花千坊相关的文章:

计算机二级C语言程序上机指导10-29

计算机二级C语言上机程序填空题09-26

C语言程序改错题练习07-03

计算机二级C语言预测上机精选训练题07-05

2017计算机二级C语言上机题库及答案08-07

计算机二级考试《C语言》上机答题技巧06-27

2017计算机二级C语言上机特训题08-12

计算机二级C语言上机冲刺试题及答案08-29

2016计算机二级《C++》上机冲刺题09-05

计算机二级考试C++语言程序设计上机考试试题05-10