1、【
单选题
】
下列程序的输出结果是( )。
#included
usingnamespacestd;
intmain()
{
chara[]="Hell0,Test";
char*p=a;
while(*p)
{
if(*p>='a'&&*p<='z')
cout<
elsecout<<*P;
p++;
}
return0;
}
[1分]
、
hello,test
、
Hello,Test
、
HELLO,TEST
、
hELLO,tEST
答案:
2、【
单选题
】
有如下程序:
#include
usingnamespacestd;
classA
{
public:
A(){cout<<"A";}
~A(){cout<<"~A";}
};
classB
{
A*P:
public:
B(){cout<<"B";p=newA;}
~B(){cout<<"~B";deleteP;}
};
intmain()
{
Bobi;
return0;
}
执行这个程序的输出结果是( )。
[1分]
、
BAA~A~B~A
、
ABA~B~A~A
、
BAA~B~A~A
、
ABA~A~B~A
答案:
3、【
单选题
】
有如下函数模板定义:
templateT2plus(T1t1,T3t3){returnt1+t3;}
则以下调用正确的是( )。
[1分]
、
plus(3,5L);
、
plus<>(3,5L);
、
plus(3,5L);
、
plus(3,5L);
答案:
4、【
单选题
】
有下列程序:
#include
voidmain( )
{inti,j;
for(i=3;i>=1;i--)
{for(j=1;j<=2;j++)printf(”%d”,i+j);
printf("\n");
}
}
程序的运行结果是( )。
[1分]
、
234
、
432
345543
34
、
23
、
45
3434
2323
答案:
5、【
单选题
】
若变量已正确定义为int型,要通过语句“scanf(”%d,%d”,&a,&b,&c);”给a赋值l、给b赋值2、给c赋值3,
[1分]
答案:
6、【
单选题
】
下列叙述中错误的是( )。
[1分]
、
软件测试的目的是发现错误并改正错误
、
对被调试的程序进行“错误定位”是程序调试的必要步骤
、
程序调试通常也称为Debug
、
软件测试应严格执行测试计划。排除测试的随意性
答案:
7、【
单选题
】
结构化程序设计的三种基本结构是( )。
[1分]
、
过程、子程序和分程序
、
顺序、选择和重复
、
递归、堆栈和队列
、
调用、返回和转移
答案:
8、【
单选题
】
从工程管理角度,软件设计一般分为两步完成,它们是( )。
[1分]
、
概要设计与详细设计
、
数据设计与接口设计
、
软件结构设计与数据设计
、
过程设计与数据设计
答案:
9、【
单选题
】
已知类A有公用数据成员a,并重载了=运算符,且有Aobj2;constA*ptr=newA;,则下列语句错误的是( )。
[1分]
、
ptr->a=100;
、
ptr=&obj2;
、
ptr++;
、
obj2=*ptr;
答案:
10、【
单选题
】
下列关于this指针的描述中,正确的是( )。
[1分]
、
类的成员函数都有this指针
、
类的友元函数都有this指针
、
任何与类相关的函数都有this指针
、
类的非静态成员函数都有this指针
答案:
11、【
单选题
】
下列选项巾正确的定义语句是( )。
[1分]
、
doublea;b;
、
doublea=b=7;
、
doublea=7,b=7;
、
double,a,b;
答案:
12、【
单选题
】
假定其中的x的单位是角度且不考虑π的值
的精是( )。
[1分]
、
sqrt(cos(x))
、
sqrt(abs(cos(X*3.14/180)))
、
sqrt(abs(cos(X*(/180)))
、
sqrt(fabs(cos(x*3.14/180)))
答案:
13、【
单选题
】
下列描述中正确的是( )。
[1分]
、
程序就是软件
、
软件开发不受计算机系统的限制
、
软件既是逻辑实体,又是物理实体
、
软件是程序、数据与相关文档的集合
答案:
14、【
单选题
】
以下选项中合法的实型常数是( )。
[1分]
、
5E2.0
、
E—3
、
2EO
、
1.3E
答案:
15、【
单选题
】
下列叙述中正确的是( )。
[1分]
、
有一个以上根结点的数据结构不一定是非线性结构
、
只有一个根结点的数据结构不一定是线性结构
、
循环链表是非线性结构
、
双向链表是非线性结构
答案:
16、【
单选题
】
已知函数f的原型是“voidf(int*x,int&y);”,变量v1、v2的定义是“intv1,v2;”,下列调用语句中,正确的是( )。
[1分]
、
f(v1,v2)
、
t(v1,&v2)
、
f(&v1,v2)
、
f(&v1,&v2);
答案:
17、【
单选题
】
下列函数的运行结果是( )。
#include
intf(inta,intb)
{intC;
if(a>b)c=l;
elseif(a==b)c=0;
elsec=-1:
return(c);}
voidmain( )
{inti=2,j=3;
intp=f(i,j);
cout<<p;}
[1分]
答案:
18、【
单选题
】
如果表达式“--x/y”中的“--”和“/”是作为友元函数重载的运算符,采用运算符函数调用格式,该表达式还可以表示为( )。
[1分]
、
operator/(X.operator--( ),y);
、
operator/(operator--(x),y);
、
X.operator--( ).operator/(y);
、
y.operator/operator--(x));
答案:
19、【
单选题
】
有如下程序:
#include
usingnamespacestd;
classDemo
{
public:
Demo(){cout<<"defaultconstructor\n";}
Demo(constDemo&x){cont<<"copyconstruc-
tor\n";}
};
DemouserCode(Demob){Democ(b);returnC;}
intmain()
{
Demoa;d;
cout<<"callinguserCode()\n";
d=userCode(a):
return0;
}
执行上面程序的过程中,构造函数Demo( )和Demo(constDem0&x)被调用的次数分别是( )。
[1分]
答案:
20、【
单选题
】
下列关于类和对象的叙述中,错误的是( )。
[1分]
、
一个类只能有一个对象
、
对象是类的具体实例
、
类是对某一类对象的抽象
、
类和对象的关系是一种数据类型与变量的关系
答案:
21、【
单选题
】
下列叙述正确的是( )。
[1分]
、
算法的执行效率与数据的存储结构无关
、
算法的空间复杂度是指算法程序中指令(或语句)的条数
、
算法的有穷性是指算法必须能在执行有限个步骤之后终止
、
以上三种描述都不对
答案:
22、【
单选题
】
有下列程序:
#include
voidmain( )
{inta=S,b=1,t;
t=(a<<2)|b;printf("%d\n",t);
}
程序运行后的输出结果是( )。
[1分]
答案:
23、【
单选题
】
下面类的定义,有( )处错误。
classMyClass
{public:
voidMyClass();
~MyClass(intvahle);
private:
inti=0;};
[1分]
答案:
24、【
单选题
】
有如下程序:
#included
usingnamespacestd;
voidfl(int&X,int&y){intz=x;x=y;y=z;)voidf2(intX,inty){intz=x;x=y;y=z;}intmain( ){
intx=10,y=26;
f1(X,y);
f2(x,y);
cout<<y<
return0;
}
运行时的输出结果是( )。
[1分]
答案:
25、【
单选题
】
下列叙述中正确的是( )。
[1分]
、
循环队列有队头和队尾两个指针,因此循环队列是非线性结构
、
在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况
、
在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况
、
循环队列中元素的个数是由队头指针和队尾指针共同决定
答案:
26、【
单选题
】
下列是if语句的基本形式:
if(表达式)语句
其中“表达式”( )。
[1分]
、
必须是逻辑表达式
、
必须是关系表达式
、
必须是逻辑表达式或关系表达式
、
可以是任意合法的表达式
答案:
27、【
单选题
】
以下程序的运行结果是( )。
#include(iostream.h>
voidsub(intx,inty,int*z)
{*z=y-x;}
voidmain( )
{inta,b,c;
sub(10,5,&a);
sub(7,a,&b);
sub(a,b,&c);
cout((a<<","<<b<<","<<c<<endl;}
[1分]
、
5,2,3
、
-5,-12,-7
、
-5,-12,-17
、
5,-2,-7
答案:
28、【
单选题
】
在对函数进行原型声明时,下列语法成分中,不需要的是( )。
[1分]
、
函数返回类型
、
函数参数列表
、
函数名
、
函数体
答案:
29、【
单选题
】
若已定义:
inta[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;其中0≤i≤9,则对a数组元素不正确的引用是( )。
[1分]
、
a[p-a]
、
*(&a[i])
、
p[i]
、
a[10]
答案:
30、【
单选题
】
有下列程序:
#include
intf(intx)
{
inty;
if(x==0‖x==1)return(3);
y=x*x-f(X-2);
returny;
}
voidmain( )
{
intZ;
z=f(3);printf("%d\n",z);
}
程序的运行结果是( )。
[1分]
答案:
31、【
单选题
】
有如下函数模板定义:
template
T1FUN(T2n){returnn*5,0;}
若要求以int型数据9作为函数实参调用该模板,并返回一个double型数据,则该调用应表示为( )。
[1分]
、
FUN(9)
、
FUN<9>
、
FUN(9)
、
FUN<9>(double)
答案:
32、【
单选题
】
设有“intx=11;”,则表达式(x++*2/3)的值是( )。
[1分]
答案:
33、【
简答题】
(1)应改为“catch(char*s)”。
(2)应改为“cateh(inti)”。
(3)应改为“catch(…)”。
[18分]
解析:
使用VC++6.0打开考生文件夹下的源程序文件1.Cpp,该程序运行时有错误,请改正错误,使程序正常运行,并且要求最后一个CAtCh必须抛出执行的任何异常。 程序异常,输出信息为 ErrorOERROR注意:不要改动mAin函数,不能增加或删除行,也不能更改程序的结构,错误的语句在//******Error******的下面。
试题程序:
#include<iostream.h)
intmain()
{
try
{
throw("error");
}
//********error********
catch(chars)
{
cout<<s<<endl;
}
try
{
throw((int)0);
}
//********error********
catch()
{
cout<<i<<endl;
}
try
{
throw(O);
throw("error");
}
//********error********
catch()
{
cout<<"ERROR"<<endl;
}
return0;
}
34、【
简答题】
使用VC++6.0打开考生文件夹下的源程序文件2.cpp。完成函数fun(char*sl,char*s2)的空出部分。函数fun(char*s1,char*s2)的功能是将在字符串s1中下标为偶数的字符,紧随其后重复出现一次,放在一个新串s2中,s2中字符按原字符串中字符的顺序排列。(注意0为偶数)
例如:当s1中的字符串为“abcdef”时,s2中的字符串应为“aaccee”。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include(iostream.h)
voidfun(char*s1,char*s2)
{
}
voidmain()
{
charsi[100】,s2【1OO];
cout<<"Pleaseenterstringstrin9:"<
cin.getline(s1,100);
fun(s1,s2);
cout<<"Theresultis:"<<s2<<cndl
return;
}
[24分]
解析:
inti;
For(i=0;s1[i]!=0;i++)//循环判断每一个字符
{
iF(i%2==0)//判断字符串中下标为偶数位置
{
s2[i]=s1[3];
s2[i+1]=s1[i];
s2[i+2]='\0';//新串添加尾符
}
}
35、【
简答题】
使用VC++6.0打开考生文件夹下的源程序文件3.cpp。其中定义的类不完整,按要求完成下列操作,将类的定义补充完整。
(1)定义类的公有数据成员函数N0、Name[32],其中N0是int型的数据,Name[32]为字符型。请在注释1后添加适当的语句。
(2)完成函数Set的定义,分别设置N0和Name的值,请在注释2后添加适当的语句。
(3)完成函数print,请在注释3后添加适当的语句,输出结果如下:
N0=12345
Name=HelloWorld!
(4)添加默认构造函数,设置N0为0,Name为空,请在注释4后添加适当的语句。
注意:增加或者修改代码的位置已经用符号表示出来,请不要修改其他的程序代码。
试题程序:
#include
classTC
{
public:
//********1********
//********2********
{
No=no;
for(inti=0;strName[i]!=0;i++)
{
Name[i]=strName[i];
Name[i+1]=0;
}
}
voidprint()
{
//********3********
}
TC()
{
//********4********)
};
intmain()
{
TCstu:
stu.Set(12345,"HelloWorld!");stu.print();
return0;
}
[18分]
解析:
(1)应添加“intNo;ChArNAmE[32];”。
(2)应添加“voiDSEt(intno,ChAr*strNAmE)”。
(3)应添加“Cout<<"No="<<No<<EnDl<<"NAmE="<<NAmE<<EnDl;”。
(4)应添加“No=NAmE[0]=0;”。