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

时间:2025-01-10 08:54:55 玉华 计算机等级 我要投稿

计算机二级C上机考试试题及答案(精选4套)

  在各领域中,我们或多或少都会接触到试题,借助试题可以更好地考查参试者所掌握的知识和技能。一份好的试题都是什么样子的呢?下面是小编为大家整理了计算机二级C++上机考试题及答案,希望能帮助到大家!

计算机二级C上机考试试题及答案(精选4套)

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

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

  使用VC++6.0打开考生文件夹下的源程序文件3.cpp。其中定义的类不完整,按要求完成下列操作,将类的定义补充完整。

  (1)完成TC的构造函数,请改正注释1后的错误。

  (2)完成func函数定义,请改正注释2后的'错误。

  (3)初始化CmyClass的成员变量Num3为4,请改正注释3后的错误。

  (4)完成func函数,请改正注释4后的错误。

  输出的结果为

  Num1=12

  Num2=18

  Num3=16

  Num1=4

  Num2=2

  Num3=19

  注意:除在指定位置添加语句之外,不要改动程序中的其他内容。

  试题程序:

  #include

  classTC

  {

  public:

  //********1********

  TC(inti,intj)

  {

  Numl=i;

  Num3+=i:

  }

  voiddisplay()

  {

  cout<<"Num1="<  cout<<"Num2="<  cout<<"Num3="<  }

  voidAddNum(inti)

  {

  Num3+=i;

  }

  private:

  intNum1;

  constintNum2;

  staticintNum3;

  //********2********

  };

  //********3********

  voidfunc()

  {

  TCobj(1,2);

  obj.Num1=4;

  //********4********

  obj.AddNum();

  ohj.display();

  }

  voidmain()

  {

  TCmyObj(12,18);

  myObj.display();

  rune();

  return;

  }

  (1)将“TC(inti,intj)”补充完整为“TC(inti,intj):Num2(j)”。

  (2)应添加“friendvoidfunc();”。

  (3)应添加“intTC:Num3=4;”。

  (4)将“obi.AddNum()”补充完整为“obj.AddNum(2);”。

  【解析】本题在第1处完成类的构造函数初始化类的成员变量,常数据成员也必须初始化,并且不能被更新,常数据成员的初始化只能通过构造函数的成员初始化类表进行,因此第1处的语句应为“TC(inti,intj):Num2(j)”,i用来初始化Num1和Num3,j初始化Num2。第2处完成fune的函数定义,由审题分析可知,函数fune为类的友元,故第2处的语句应为“friendvoidrune();”。第3处的语句是静态成员的初始化,静态数据成员的初始化格式为“(数据类型)<类名>:<静态数据成员)=<初始值>”,因此第3处的语句应为“intTC:Num3=4;”。成员函数AddNum带有一个整型参数,因此调用此函数时必须有参数传入,可由程序运行结果分析得知传入的参数值的大小。在fun函数内,定义TCobj(1,2)后,obj.Num1=1,obj.Num2=2,Num3=16+1=17,obj.Num1=4,Numl为4,obj。Num2为常数据成员,其值不会改变,调用AddNum函数后调用显示函数显示成员变量值,可知Num3为19,因此AddNum()的参数为19-17=2,即第4处的语句应为“obj.AddNum(2);”。

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

  试题1:班级通讯录程序填空题

  给定程序的功能是调用fun函数建立班级通讯录,记录每位学生的编号、姓名和号码。通讯录中的`数据写入名为myfile5.dat的二进制文件中。请在程序的下划线处填入正确的内容,使程序能够正确运行。

  void fun() {

  FILE *fp;

  int i;

  if ((fp = fopen("myfile5.dat", "wb")) == NULL) return(0);

  printf("Output data to file!\n");

  for (i = 0; i < N; i++) {

  fwrite(td[i], sizeof(STYPE), 1, fp);

  }

  fclose(fp);

  return(1);

  }

  试题2:字符串反转程序修改题

  给定程序fun的功能是将字符串中的字符按正序存入s,然后将剩余字符按逆序连接到s的末尾。例如,当输入字符串为“ABCDE”时,输出应为“ABCDEEDCBA”。请改正程序中的错误,使其能够正确运行。

  void fun(char *s, char *t) {

  int i, len = strlen(s);

  for (i = 0; i < len / 2; i++) {

  char temp = s[i];

  s[i] = s[len - i - 1];

  s[len - i - 1] = temp;

  }

  }

  试题3:矩阵操作题

  给定程序中的fun函数功能是:将N*N矩阵的主对角线对称元素相加,并将结果存放在左下三角元素中,右上三角元素置为0。例如,当N=3时,矩阵如下:

  1 2 3

  4 5 6

  7 8 9

  请在横线上填入正确的表达式或语句。

  void fun(int (*t)[N]) {

  int i, j;

  for (i = 1; i < N; i++) {

  for (j = 0; j < N; j++) {

  t[i][j] = t[i][j] + t[j][i]; // 主对角线对称元素相加

  t[j][i] = 0; // 右上三角元素置为0

  }

  }

  }

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

  简单应用题

  使用VC++6.0打开考生文件夹下的源程序文件2.cpp。阅读下列函数说明和代码,补充空出的代码。函数IsPalindromes(char*string)实现的功能是判定给定的字符串是否构成回文字符串,如果是则返回1,否则返回0。

  例如:abcdcba或者l234321都认为是回文字符串。

  如果串为空或一个字母时,均认为是回文字符串。

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

  试题程序:

  #include

  #defineMAXLEN1024

  boolIsPalindromes(char*string)

  {

  }

  voidmain()

  {

  charstr[MAXLEN];

  cout<<"请输入一行文字"<

  cin.getline(str,MAXLEN);

  cout<

  return;

  }

  答案:

  intlen=0:

  for(;string[len]!=NULL;len++)//获取字符串

  的长度

  ;

  len--;//下标从0开始到1en-1

  for(inti=0;i

  if(string[i]!=string[1en])//不等说明不同,返

  回0

  return0;

  }

  return1;

  【解析】本题由于字符串的长度是未知的,先利用循环求出字符串的长度,循环变量从0开始,直到数组的'末尾,string[len]==NULL为循环结束条件,如此便得到了数组的长度len。知道长度后就可以判断对称位置的元素是否相同,比如第一个元素和最后一个元素,第二个元素和倒数第二个元素,如此比较下去直到到了最中间的元素为止。可以利用循环来比较是否对称,设置另一个循环变量i,i从0开始表示从数组的头部开始读数,len从数组的尾部开始读数,如果string[i]!=slring[len],则跳出循环返回0,如果循环结束还没发现不同,则返回1。

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

  综合应用题

  使用VC++6.0打开考生文件夹下的源程序文件3.cpp,其中定义了用于表示个人基本信息的类PInfo,但类PInfo的定义并不完整。请按要求完成下列操作,将类Pin-fo的定义补充完成:

  (1)定义私有数据成员bloodType用于表示血型,血型为char型的数据。请在注释1之后添加适当的语句。

  (2)完成构造函数的定义,要求具有默认值,默认值为

  身高175,体重70,血型A。请在注释2之后添加适当的语句。

  (3)完成类PInfo外成员函数SetInfo的定义。请在注

  释3之后添加适当的语句。

  (4)在主函数main中调用成员函数Setlnfo,把对象d2的.3个私有数据成员分别设定为身高170,体重64,血型B。

  请在注释4之后添加适当的语句。

  注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。

  试题程序:

  #include

  classPlnfo

  {

  private:

  intheight;

  intweight;

  //********1********

  public:

  //********2********

  :height(ht),weight(wt),bloodType(bt){};

  Plnfo(Plnfo&h1):height(h1.height),

  weight(h1.weight),bloodType(h1.bloodType){}

  intGetHeight()

  {

  returnheight;

  }

  intGetWeight()

  {

  returnweight;

  }

  intGetBloodType()

  {

  returnbloodType;

  }

  voidSetlnfo(intht,intwt,charbt);

  voidDisplay();

  };

  //********3********

  {

  height=ht;

  weight=wt;

  bloodType=bt;

  }

  voidPlnfo:Display()

  {

  cout<<"Humanlnf0:";

  cout<

  Type"<

  }

  voidmain()

  {

  PInfoh1(169,61,’A’);

  Plnfoh2;

  Plnfoh3(h1);

  Plnfoh4(h2);

  //********4********

  h1.Display();

  h2.Display();

  h3.Display():

  h4.Display();

  }

  答案解析:

  (1)应添加“charbloodType;”。

  (2)应添加“Plnfo(intht=175,intwt=70,charbt=’A’)”。

  (3)应添加“voidPlnf0:Setlnfo(intht,intwt,charbt)”。

  (4)应添加“h2.SetInfo(170,64,’B’);”。

  【解析】本题第1处定义私有数据成员为chat:型的bloodType,故第1处应添加“charbloodType;”。构造Plnfo()完成3个成员的初始化,并且带有默认值参数,默认值为身高175,体重70,血型A,由函数体语句可知参数名分别为ht、wt和bt,因此第2处应添加“Pinto(intht=175,intwt=70,charbt=’A’)”。第3处的语句在类外完成成员函数Setlnfo的定义,在类外定义成员函数的格式为“(返回值类型><类名>:<成员函数)(<参数表>)”,故第3处应添加“voidPlnfo:Setlnfo(intht,intWt,charbt)”。调用函数Setlnfo需要3个参数,程序要求把对象d2的3个私有数据成员分别设定为身高170,体重64,血型为B,即把这3个值传入函数Setlnfo,因此第4处应添加“h2.Setlnfo(170,64,’B’);”。

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

计算机二级C上机考试试题及答案06-22

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

2016计算机等级考试二级C++上机模拟试题及答案07-14

计算机等级二级C语言上机模拟试题及答案10-25

2016最新计算机二级C++上机试题及答案10-14

2016年计算机二级C语言考试上机冲刺试题及答案09-26

9月计算机二级C++上机考试冲刺试题及答案10-29

2016计算机二级java考试上机试题及答案10-10

华为C语言上机试题及答案07-01