2013年9月全国计算机等级《二级C++》上机模考试卷(2)

考试总分:43分

考试类型:模拟试题

作答时间:60分钟

已答人数:967

试卷答案:有

试卷介绍: 2013年9月全国计算机等级《二级C++》上机模考试卷(2)

开始答题

试卷预览

  • 1. 使用VC++6.0打开考生文件夹下的源程序文件2.cpp。阅读下列函数说明和代码,完成空出部分程序。函数fun(intn)的功能是实现对一个整数的加密,具体的加密方法是一个4位长的整数,用每位数字加上3然后除以9的余数代替该数字,再将第1位和第4位交换,第2位和第3位交换,然后返回得到的密码。程序输出结果为18642075注意:不能修改其他部分的代码。试题程序:#include#includeintfun(intn){}intmain(){inti=1357:cout<<fun(i)<i=2468;cout<<fun(i)<return0;}[24分]
  • 2. 使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错误,请改正错误,使得程序输出:Hellotest注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在//******error******的下面。试题程序:#include//********error********templatevoidfun(Tt){std::cout<<"test"<}//********error********templatevoidfun(boolt){std::cout<<(t?"Hell0":"Hi")<}intmain(){//********error********boolflag=TRUE;fun(flag);fun((int)flag);return0;}[18分]
  • 3. (1)应添加“#defineTRUE1”。(2)应添加“classA1;”。(3)应添加“friendboolfunc(A2&objl,Al&obj2);”。(4)将“retllin”补充完整为“returnobjl.m_A2==TRUE&&obj2.m_A1==TRUE;”。[18分]

    A(1)应添加“#defineTRUE1”。

    B(2)应添加“classA1;”。

    C(3)应添加“friendboolfunc(A2&objl,Al&obj2);”。

    D(4)将“retllin”补充完整为“returnobjl.m_A2==TRUE&&obj2.m_A1==TRUE;”。[18分]

  • 4. 已知字母A的ASCIl代码值为65,若变量kk为char型,下列不能正确判断出kk中的值为大写字母的表达式是()。[1分]

    Akk>='A'&&kk<='Z'

    B!(kk>='A'‖kk<='2')

    C(kk+32)>='a'&&(kk+32)<='2'

    Disalpha(kk)&&(kk<=91)

  • 5. 类MyClass的定义如下,若要对value赋值,则下面语句正确的是()。classMyClass{public:MyClass(){}MyClass(inti){value=newint(i);}int*value;};[1分]

    AMyClassmy;my.value=10;

    BMyClassmy;*my.value=10;

    CMyClassmy;my.*value=10;

    DMyClassmy(10);

  • 6. 概要设计中要完成的事情是()。[1分]

    A系统结构和数据结构的设计

    B系统结构和过程的设计

    C过程和接口的设计

    D数据结构和过程的设计

  • 7. 下面关于虚函数的描述中正确的是()。[1分]

    A虚函数是一个静态成员函数

    B虚函数是一个非成员函数

    C虚函数可以在函数说明时定义,也可以在函数实现时定义

    D派生类的虚函数与基类中对应的虚函数具有相同的参数个数和类型

  • 8. 数据库管理系统是()。[1分]

    A操作系统的一部分

    B在操作系统支持下的系统软件

    C一种编译系统

    D一种操作系统

  • 9. 有下列程序:#includevoidmain(){char*s={"ABC");do{printf("%d",*s%10);s++;}while(*s);}注意:字母A的ASCIl码值为65。程序运行后的输出结果是()。[1分]

    A5670

    B656667

    C567

    DABC

  • 10. 有如下程序:#includeusingnamespacestd;classAA{public;AA(){cOUt<<'1';)};classBB:publicAA{intk;public:BB():k(0){tout<<'12';}BB(intn):k(n)(cout<<'3';)};intmain(){BBb(4),c;return0;}运行时的输出结果是().[1分]

    A1312

    B132

    C32

    D1412

  • 11. 以下程序的输出结果是()。#includelongfun(intn){longS;if(n==1‖n==2)s=2;elses=n-fun(n-1):returnS;}voidmain(){cout<<fun(3);}[1分]

    A1

    B2

    C3

    D4

  • 12. 有下列程序:#includeintfun(int(*s)[4],intn,intk){intm,i;m=s[O][k];for(i=1;im)m=s[i][k];returnm;}voidmain(){inta[4][4]=({1,2,3,4),{11,12,13,14},{21,22,23,24},{31,32,33,34)};printf(”%d\n”,fun(a,4,O));}程序的运行结果是()。[1分]

    A4

    B34

    C31

    D32

  • 13. 有如下程序:#includeusingnamespacestd;classBase{public:Base(){cout<<"BB";f();}voidf(){cout<<"BF";}};classDerived:publicBase{public:Derived(){cout<<"DD";}voidf(){eout<<"Df";}};intmain(){Derivedd;return0;}执行上面的程序将输出()。[1分]

    ABBBfDD

    BBBDfDDDf

    CDD

    DDDBBBf

  • 14. 在计算机中,算法是指()。[1分]

    A查询方法

    B加工方法

    C解题方案的准确而完整的描述

    D排序方法

  • 15. 有如下程序:#includeusingnamespacestd;intmain(){intf,f1=0,f2=1;for(inti=3;i<=6;i++){f=f1+f2:f1=f2;f2=f;}cout<<f<return0;}运行时的输出结果是()。[1分]

    A2

    B3

    C5

    D8

  • 16. 对于模板定义关键字class和typename说法不正确的是()。[1分]

    A程序中的class并不能都替换为typename

    Bclass和typename都可互相替换

    C程序中的typename都能替换为class

    D程序中的部分class可以替换为typename

  • 17. 以下关于友元函数的叙述不正确的是()。[1分]

    A友元函数提供了类之间数据共享的一个途径

    B一个友元函数可以访问任何类的任何成员

    C友元函数破坏了数据的封装

    D友元函数增加了程序设计的灵活性

  • 18. 在软件开发中,需求分析阶段产生的主要文档是()。[1分]

    A可行性分析报告

    B软件需求规格说明书

    C概要设计说明书

    D集成设计计划

  • 19. 在软件开发中,需求分析阶段产生的主要文档是()。[1分]

    A软件集成测试计划

    B软件详细设计说明书

    C用户手册

    D软件需求规格说明书

  • 20. 生成派生类对象时,派生类构造函数调用基类构造函数的条件是()。[1分]

    A无需任何条件

    B基类中显式定义了构造函数

    C派生类中显式定义了构造函数

    D派生类构造函数明确调用了基类构造函数

  • 21. 有如下程序:#includevoidmain(){charch[2][5]={"6937","8254"),*p[2];inti,j,s=0;for(i=0;i(2;i++)p[i]=ch[i];for(i=0;i'\0';j+=2)s=10*s+p[i][j]-'0';cout<<s;}该程序的输出结果是()。[1分]

    A69825

    B63825

    C6385

    D693825

  • 22. 为了提高函数调用的实际运行速度,可以将较简单的函数定义为()。[1分]

    A内联函数

    B重载函数

    C递归函数

    D函数模板

  • 23. 下列选项中属于面向对象设计方法主要特征的是()。[1分]

    A继承

    B自顶向下

    C模块化

    D逐步求精

  • 24. 下列程序输出的结果是()。#includefunl(chara,charb){charC;c=a;a=b;b=C;)fun2(char*a,charb){charC;c=*a;*a=b;b=c;)fun3(char*a,char*b){charC;C=*a;*a=*b;*b=C;)voidmain(){chara,b;a='A';b='B';fun1(a,b);putchar(a);putchar(b);a='A';b='B';fun2(&a,b);putchar(a);putchar(b);a='A';b='B';fun3(&a,&b);putchar(a);putchar(b);putchar('\n');}[1分]

    ABABBAB

    BABBBBA

    CABBABA

    DABABBA

  • 25. 有下列程序:#include#definePT3.5;#defineS(x)PT*x*x;voidmain()(inta=1.b=2;printf("%4.1f\n",S(a+b));}程序运行后的输出结果是()。[1分]

    A14.0

    B31.5

    C7.5

    D程序有错,无输出结果

  • 26. 有下列程序:#includevoidmain(){inta1,a2charc1,c2;scanf("%d%c%d%C",&a1,&c1,&a2,&c2);printf("%d%c%d%C",a1,c1,a2,c2);}若想通过键盘输入,使得a1的值为12,a2的值为34,c1的值为字符a,c2的值为字符b,程序输出结果是12,a,34.[1分]

    A12a34b

    B

    C12,a,34,b

    D

  • 27. 下列虚基类的声明中正确的是()。[1分]

    AclasSvirtualB:publicA

    BvirtualclassB:publicA

    CclassB:publieAvirtual

    DclassB:virtualpublicA

  • 28. 设有定义“chars[8];inti=0;”,下列不能将一行(不超过80个字符)带有空格的字符国正确读入的语句或语句组是()。[1分]

    Agets(s);

    Bwhile((s[i++]=getchar())!='\n');s[i]='\0';

    Cseanf("%S",s);

    Ddo{scanf("%C",&s[i]);}while(s[i++]!='\n');s[i]='\0';

  • 29. 下列叙述中正确的是()。[1分]

    A算法就是程序

    B设计算法时只需要考虑数据结构的设计

    C设计算法时只需要考虑结果的可靠性

    D以上三种说法都不对

  • 30. 若已定义inta[]={1,2,3,4,5,6,7,8,9,10},p=a,i=5;则对数组元素不正确的引用是()。[1分]

    Aa[p-a]

    B*(&a[i])

    Cp[i]

    D*(*(a+i))

  • 31. 控制格式输入/输出的操作中,设置域宽的函数是()。[1分]

    AWS

    Boct

    Csetfill(int)

    Dsetw(int)

  • 32. 有下列二叉树,对此二叉树前序遍历的结果是()。[1分]

    AACFXDBEYZ

    BABEFXYZCD

    CABCDEFXYZ

    DABDYECFXZ

  • 33. 有下列程序:#includeintfun(intx,inyy){if(x==y)return(x);elsereturn((x+y)/2);}voidmain(){inta=4,b=5,c=6;printf("%d\n",fun(2*a,fun(b,c)));}程序运行后的输出结果是()。[1分]

    A3

    B6

    C8

    D12

  • 34. 有如下程序:#includedusingnamespacestd;classTestClass{private:intx,Y;public:TestClass(inti,intj){x=i:y=j;}voidprint(){cout<<"printl"<}voidprint()const{cout<<"print2"<}};intmain(){constTestClassa(1,2);print();return0;}该程序运行后的输出结果是()。[1分]

    Aprintl

    Bprint2

    Cprintlprint2

    D程序编译时出错

  • 35. 下面程序的执行结果是()。#include"iostream.h"voidmain(){int*P,r;P=newint:*P=20:r=sizeof(*p);cout<<r<deleteP;}[1分]

    A程序错误

    B内存为20地址的大小

    C20

    D4

  • 36. 当变量C的值不为2、4、6时,值也为“真”的表达式是()。[1分]

    A(c==2)‖(c==4)‖(c==6)

    B(c>一2&&c<=6)‖(C!=3)‖(C!=5)

    C(c>=2&&c<=6)&&!(c%2)

    D(c>=2&&c<=6)&&(c%2!=1)

  • 37. 下列错误的定义语句是()。[1分]

    Aintx[][3]={{0},{1},{1,2,3}};

    Bintx[4][3]={{1,2,3},{1,2,3),{1,2,3),{1,2,3}};

    Cintx[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};

    Dintx[][3]={1,2,3,4};

  • 38. Sample是一个类,执行下面语句后,调用Sample类的构造函数的次数是()。Samplea[2],*p=newSample;[1分]

    A0

    B1

    C2

    D3

  • 39. 下列选项中不属于字符常量的是()。[1分]

    A'C'

    B"C"

    C'\xCC'

    D'\072'

  • 40. 数据库管理系统中负责数据模式定义的语有是()。[1分]

    A数据定义语言

    B数据管理语言

    C数据操纵语言

    D数据控制语言

  • 41. 下列关于宏的叙述中正确的是()。[1分]

    A宏名必须用大写字母表示

    B宏定义必须位于源程序中所有语句之前

    C宏替换没有数据类型限制

    D宏调用比函数调用耗费时间

  • 42. 设有宏定义“#definelsDIV(k,n)((k%n==1?1:0)”且变量m已正确定义并赋值,则宏调用“lsDIV(m,5)&&IsDIV(m,7)”为真时所要表达的是()。[1分]

    A判断m是否能被5或者7整除

    B判断m是甭能被5和7整除

    C判断m被5或者7整除是否余1

    D判断m被5和7整除是否都余l

  • 43. 下列程序的执行结果是()。#include#includeclassTestClass{public:intX,y;TestClass(){x=y=0;}TestClass(inta,intb)(x=a;y=b;}voiddisp(){cout<<"x="<<x<<",y="<<y<}};voidmain(){TestClasss1(2,3);s1.disp();}[1分]

    Ax=2,y=2

    Bx=2,y=3

    Cx=3,y=2

    Dx=3,y=3

相关试卷
相关题库