考试总分:43分
考试类型:模拟试题
作答时间:60分钟
已答人数:967
试卷答案:有
试卷介绍: 2013年9月全国计算机等级《二级C++》上机临考冲刺试卷(7)
A(1)funl(intn)求出n的阶乘,必须使用递归调用。
B(2)fun2(intn)求出n的阶乘,不能使用递归调用。如果n小于1则返回0。注意:不能修改函数的其他部分。试题程序:#include//必须使用递归intfunl(intn){}//不能使用递归intfun2(intn){}voidmain(){inti;cout>i;cout<<"输入数字的阶乘是:"<<funl(i)<cout<<"输入数字的阶乘是:"<<fun2(i)<return;}[24分]
A(1)完成类的构造函数功能,请在注释1后添加适当的语句。
B(2)完成构造函数对姓名的赋值,请在注释2后添加适当的语句。
C(3)定义类的友元函数fun,请在注释3后添加适当的语句。
D(4)补充函数fun的年龄比较功能,请在注释4后添加适当的语句。注意:增加或者修改代码的位置已经用符号表示出来,请不要修改其他的程序代码。试题程序:#includeclassPeople{public://********1********{inti;for(i=0;sUserName[i]!=0;i++){m_UserName[i]=sUserName[i];}//********2********m_Old=nOld;}private:charm_UserName[32];intm_Old;//********3********};voidfun(char*s,People&personl,People&person2{//********4********if(){for(inti=0;personl.m_UserName[i]!=0;i++){s[i]=personl.m_UserName[i];s[i+1]=0;}}else{for(inti=0;person2.m_UserName[i]!=0;i++){s[i]=person2.m_UserName[i];s[i+1]=0;}}}voidmain(){chars[32];Peoplepl("abc",20);Peoplep2("def",30):fun(S,p1,p2);cout<<s<return;}[18分]
A111
B333
C11333
D11133
A1
B2
C3
D运行时出错
A自顶向下
B逐步求精
C模块化
D司复用
AC程序中的注释只能出现在程序的开始位置和语句的后面
BC程序书写格式严格,要求一行内只能写一个语句
CC程序书写格式自由,一个语句可以写在多行上
D用C语言编写的程序只能放在一个程序文件中
A*********1*2
B********12
C*******1*2
D12********
A系统将自动给k赋初值0
B这时k中的值无定义
C系统将自动给k赋初值-1
D这时k中无任何值
A********
B****
C**
D*
Afun();
BBase.fun();
CBase::fun();
DBase->fun();
A模式
B内模式
C外模式
D概念模式
Aif(a<=b)n=0;
Bif((a>b)‖(b>c))n=1;elsen=0;
Cif(a>b)if(b>c)n=1;elsen=;elsen=0;
Dif(a>b)n=1;elseif(bc)n=1;elsen=0;
A5,4
B20,52
C0,0
D4,5
A构造函数的实参不允许是本类的对象
B没有定义实现深层复制的复制构造函数
C构造对象a时实参与形参类型不符
D系统不能生成默认的复制构造函数
Ax=y+5=x+z
Bint(15.8%5)
Cx=y+z+5,++y
Dx=25%5.0
A系统总体结构图支持软件系统的详细设计
B软件设计是将软件需求转换为软件表示的过程
C数据结构与数据库设计是软件设计的任务之一
DPAD图是软件详细设计的表示工具
A123.141593
B123.141593
C12,3.141593
D123.1415930
Aaegi
Bdfhk
Cabed
Dabcdcfghijk
A1,1
B1,2
C2,2
D2,1
AFA必须定义在FB之前
BFB必须定义在FA之前
C若FA定义在FB之后,则FA的原型必须出现在FB的定义之前
D若FB定义在FA之后,则FB的原型必须出现在FA的定义之前
A1<3&&5<7
B!(2>4)
C3&0&&l
D!(5<8)‖(2<8)
A在程序中凡是以“#”开始的语句行都是预处理命令行
B预处理命令行的最后不能以分号表示结束
C#defineMAX是合法的宏定义命令行
DC++中预处理命令行的处理是在程序执行的过程中进行的
Aint&x=m;
Bint&y=10;
Cint&z;
Dfloat&t=8m;
A析构函数可以重载
B析构函数由系统自动调用
C每个对象的析构函数只被调用一次
D每个类都有析构函数
A运算符重载不能改变操作数的个数、运算符的优先级、运算符的结合性和运算符的语法结构
B不是所有的运算符都可以进行重载
C运算符函数的调用必须使用关键字0perator
D在C++语言中不可通过运算符重载创造出新的运算符
A编译程序
B操作系统
C教务管理系统
D汇编程序
An=0;do{++n;)while(n<=0);
Bn=0;while(1){n++;)
Cwhile(n=1O);{n--;}
Dfor(n=0,i=1;;i++)n+=i
A可以用*P表示s[0]
BS数组中元素的个数和P所指字符串长度相等
CS和P都是指针变量
D数组s中的内容和指针变量P中的内容相同
A0
B0.7
C0.66667
D0.66666667
A栈按“先进先出”组织数据
B栈按“先进后出”组织数据
C只能在栈底插入数据
D不能删除数据
A*7
B*3*5
C*5
D*2*6
A5
B1
C0
D2
A331
B41
C2
D1
A公有成员和保护成员
B公有成员
C私有成员
D保护成员
AfunlTestClasslfun2TestClass
BfunlTestClass1fun2TestC1ass1
CfunlTestClassfun2TestClass
DfunlTestClassfun2TestClassl
Ava1=10const:va1=20
Bconst:va1=10const:va1=20
Cconst:va1=10val=20
Dval=10va1=20
A1,2,3,4,
B1,0,7,0,
C1,4,5,9,
D3,4,8,10,
ABBB
BBBD
CDBB
DDBD
A7,4,2
B8,7,5,2
C9,7,6,4
D8,5,4,2
A在程序中凡是以“#”开始的语句行都是预处理命令行
B预处理命令行的最后不能以分号表示结束
C#defineMAX是合法的宏定义命令行
DC程序中预处理命令行的处理是在程序执行的过程中进行的
AA::func2()和B::func1()都赵虚函数
BA::rune2()和B::func1()都不是虚函数
CB::func1()是虚函数,而A::fune2()不是虚函数
DB::func1()不是虚函数,而A::func2()是虚函数
A类B是类A的友元
B类C是类A的友元
C类A是类C的友元
D以上都不对