考试首页 | 考试用书 | 培训课程 | 模拟考场 | 考试论坛  
全国  |             |          |          |          |          |         
  当前位置:计算机等级 > 二级考试 > C++语言程序设计 > C++模拟试题 > 文章内容
  

全国计算机二级考试C++考前押密试卷(1)

中华IT学院   【 】  [ 2017年8月9日 ]

  二、程序改错题

  (1)“voidmain()”。

  (2)“intm=0144;”。

  (3)“intn=OX25;”或“intn===0x25;”。

  【解析】本题主要考查了主函数定义及幂同进制之间的转换,包括十进制到八进制,十进制到十六进制。主函数定义的定义形式为“main()”,函数名之后必须是一对括号,因此第1处应改为“voidmain()”。cout输出默认是以十进制方式输出的,根据题目要求输出的结果可发现变量的初值不正确,十进制的100对应八进制的144,卡进制的37对应十六进制的25,因此2和3应分别改成“intm=0144;”,“intn=0×25;”或“intn=0×25;”。

  三、简单应用题

  intj,i=0;

  chartemp;

  while(n!=0)

  {

  des[i]=n%2+’0’;

  n=n/2:

  i++:

  }//转化结果为二进制最高位在des的下标最低处,顺序刚好相反

  des[i]=NULL;

  for(j=0;j  {

  temp=des[j];//交换

  des[j]=des[i-1-i];

  des[i-1-i]=temp;

  }

  【解析】本题为将十进制数转换成二进制数,因此采用除2求余法,通过该方法最终可以将一个十进制数转换成一个只包含1和0的数组。除2求余法得到的是0和1的数值,不是“0”和“1”字符,还需将数字转化成字符,O和1通过加上“0”的ASCIl码便可得到0和1的ASCIl码字符。因为除2求余法得到的字符数组是从低位到高位保存的,因此需要先倒序后再输出,可利用循环方式将顺序调转过来。

  四、综合应用题

  (1)应添加“charname[MAXLEN],street[MAX-LEN],city[MAXLEN],zipcode[MAXLEN];”。

  (2)应添加“strcpy(name,newName);strcpy(street,newStreet);strcpy(city,newCt);strcPy(zipeode,De-wZp);”。

  (3)应添加“strcpy(name,newName);”。

  (4)应添加“returnstrcmp(name,ename)==0;”。

  【解析】本题第1处要求补充类TC的私有数据成员name、street、city、zipcode和age的定义,分别用于表示姓名、街道、城市、邮编、年龄,除年龄是整型外,其余都是char型的数据,由主函数内的对象数组可知,name、street、city、zipcode均为字符数组,故第1处应添加“charname[MAX-LEN],street[MAXLEN],city[MAXLEN],zipcode[MAXLEN];”。构造函数完成成员变量的初始化,这里需要给name、street、city、zipeode赋初值,可利用字符串拷贝函数将参数字符串复制到成员变量中,第2处应添加“strcpy(name,newName);strcpy(street,newStreet);strcpy(city,newCt);strcpy(zipcode,newZp);”。函数al-terName(char*newName)是改变成员变量name的值,即将参数复制给name,可利用字符串拷贝函数strcpy完成复制任务,故第3处应添加“strcpy(name,newName);”。IsEqual(char*ename)函数是比较name成员变量和参数newName是否相同,可使用字符串比较函数strcmp,第4处应添加“returnstrcmp(name,ename)==0;”。

首页 1 2 3 4 5 6 7 8 9 尾页
分享到:
本文纠错】【告诉好友】【打印此文】【返回顶部
将考试网添加到收藏夹 | 每次上网自动访问考试网 | 复制本页地址,传给QQ/MSN上的好友 | 申请链接 | 意见留言 TOP
关于本站  网站声明  广告服务  联系方式  站内导航  考试论坛
Copyright © 2007-2013 中华考试网(Examw.com) All Rights Reserved