1[填空题]运算符重载仍然保持其原来的优先级、 和 。
参考解析:结合性、语法结构。
解析:运算符重载不能改变操作数的个数、运算符的优先级、运算符的结合性和运算符的语法结构。
2[单选题] 有以下程序:
#include
void fun(int a,int b,int C.
{ a=456,b=567,c=678;}
void main()
{
int X=10,Y=20,Z=30;
fun(X,Y,z);
aout<
}
输出结果是( )。
A.30,20,10B.10,20,30C.456,567,678D.678,567,456
参考答案:B
参考解析:本题考查函数中变量的作用范围,在主函数中给变餐x、Y、Z赋值,然后将其作为实参传递给了函数fun(),虽然在函数fun()中改变了这3个变量的值,但只是同名的局部变量,不影响函数中变量的值,所以在调用函数fun()结束后,主函数3个变量的值未改变。
3[单选题] 若有定义语句“doublex,y,*px,*Py;执行了px=&x;py=&y;”后,正确的输入语句是( )。
A.scanf("%f%f",x,y);B.scanf("%f%f"&x,&y);C.scanf("%If%le",px,py);D.scanf("%lf%If"x,y);
参考答案:C
参考解析:此题主要考查输入函数的字符格式,lf和le表示以带小数点的数学形式或指数形式输入浮点数。
4[单选题] 继承机制的作用是( )。
A.信息隐藏B.数据封装C.定义新类D.数据抽象
参考答案:C
参考解析:数据封装就是数据抽象,即信息隐藏;而继承是实现程序复用的基础。
5[单选题]若有如下类声明
class My Class {
public:
MyClass() {cout <<1;}
};
执行下列语句
MyClass a,b[2],*P[2];
以后,程序的输出结果是( )。
A.11 B.111 C.1111 D.11111
参考答案:B
6[单选题] 下列选项中正确的语句是( )。
A.chars[];s="BOOK!";B.char*s;S={"BOOK!");C.chars[10];s="BOOK";D.char*S;s="BOOK!";
参考答案:D
参考解析:在选项D中,字符指针s指向字符串常量BOOK!。故选项D正确。
7[填空题] __________是一种特殊的成员函数,它主要用来为对象分配内存空间,对类的数据成员进行初始化并执行对象的其他内部管理操作。
参考解析:构造函数
【解析】构造函数的主要作用是对数据成员初始化,系统为成员分配内存时,保留这些存储单元的原状。
8[简答题]使用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:"<
return;
}
参考解析:
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';//新串添加尾符
}
}
【解析】判断一个字符串中的某一个字符下标i是否为偶数,可用“i%2==0”来判断。对串s1中各个字符串逐个进行考查,满足条件的字符就顺序放在新串s2中,否则就不存放。所有字符处理完成后,记得在新串s2的末尾加上结束符“'\0'。
9[简答题]使用VC6打开考生文件夹下的源程序文件2.cpp。阅读下列函数说明和代码,补充空出的代码。函数sum(intn)返回1,2,3,…,n的和。其中n大于0。
程序要求使用递归实现上述功能。
注意:不能修改程序的其他部分,只能补充sum函数。
试题程序:
#include
#include
intsum(intn)
{
}
voidmain()
{
cout<<"1+2+3+…+100="<
endl;
return;
}
参考解析:return(n==1)?1:n+sum(n-1);
【解析】本题主要考查三目运算符?:的使用和递归函数的编制。程序功能是计算前n个自然数的和,n为参数。程序的运算过程如下,不是一般性,假设n为3,首先执行sum(3),因为3不等于1,所以return语句返回的值为3+sum(3-1),然后执行sum(3-1)即sum(2),2不等于1,所以return语句返回的值为2+sum(2-1),然后执行sum(2-1)即sum(1),因为1等于1,所以return语句返回的值为1,即问号后的值,所以最终结果为3+2+1=6,而题中n为100,所以结果为5050。
10[填空题]下面程序的输出结果是【9】。
#include
void main()
{
int a[6]={1,2,3,4,5,6};
for(int i=0;i <5;i++)
cout <<
cout <
}
参考解析:12345
11[单选题]下列关于条件语句的描述中,错误的是( )。
A.一条if语句中最多只能有一个else子句
B.if语句的if体内可以出现开关语句
C.if语句中else if子句和else子句的顺序是没有限制的
D.if语句中else子句是与它最近的if子句配对的
参考答案:C
12[单选题]下列描述中正确的是( )
A.软件工程只是解决软件项目的管理问题
B.软件工程主要解决软件产品的生产率问题
C.软件工程的主要思想是强调在软件开发过程中需要应用工程化原则
D.软件工程只是解决软件开发中的技术问题
参考答案:C
13[单选题]下列关于静态成员的描述中,错误的是( )。
A.静态成员都是使用static来说明的
B.静态成员是属于类的,不是属于某个对象的
C.静态成员只可以用类名加作用域运算符来引用,不可用对象引用
D.静态数据成员的初始化是在类体外进行的
参考答案:C
14[单选题] 下面关于c+十语言变量的叙述错误的是( )。
A.c++语言中变量分为aut0、static、extem和register4种存储类型
B.自动变量和外部变量的作用域为整个程序
C.内部静态变量的作用域是定义它的函数
D.外部静态变量的作用域是定义它的文件
参考答案:B
参考解析:自动变量是函数体或分程序内定义的变量,它的作用域在所定义的函数体内或分程序体内。
15[单选题] 下面关于运算符重载的描述错误的是( )。
A.运算符重载不能改变操作数的个数、运算符的优先级、运算符的结合性和运算符的语法结构
B.不是所有的运算符都可以进行重载
C.运算符函数的调用必须使用关键字operat。
D.在C+十语言中不可通过运算符重载创造出新的运算符
参考答案:C
参考解析:例如“::”运算符就不能被重载;通过重载可以创造新的运算方式,但是不能臆造新的运算符;定义的时候必须使用关键字0perator,而调用时可直接使用运算符。
16[单选题]用树形结构来表示实体之间联系的模型称为( )。
A.关系模型B.层次模型C.网状模型D.格式化模型
参考答案:B
参考解析:用树形结构来表示实体之间联系的模型称为层次模型。
17[单选题]程序设计方法要求在程序设计过程中( )。
A.先编制出程序,经调试使程序运行结果正确后再画出程序的流程图
B.先编制出程序,经调试使程序运行结果正确后再在程序中的适当位置处加注释
C.先画出流程图,再根据流程图编制出程序,最后经调试使程序运行结果正确后再在程序中的适当位置处加注释
D.以上三种说法都不对
参考答案:D
参考解析:在程序设计过程中,一个很重要的环节是首先确定实现各种功能的算法,并且用某种工具将它精确地表达出来。流程图是其中的工具之一。因此,程序设计的过程应是先画出流程图,然 后根据流程图编制出程序。因此,选项A中的说法是错误的。 程序中的注释是为了提高程序的可读性。使程序易于理解、易于维护,注释必须在编制程序的同时加 入。因此,选项B和C中的说法也都是错误的。
18[单选题] 下列叙述中错误的是( )。
A.gets函数用于从终端读入字符串
B.getchar函数用于从磁盘文件读入字符
C.fputs函数用于把字符串输出到文件
D.fwrite函数用于以二进制形式输出数据到文件
参考答案:B
参考解析:本题考查的是C语言中输入、输出函数的使用,9ets和getchar函数用于从标准输入设备键盘读入字符串和字符;fputs用于把字符串输出到文件;fwrite用于以二进制形式输出数据到文件。
19[单选题] 下列关于数据库设计的叙述中,正确的是( )。
A.在需求分析阶段建立数据字典
B.在概念设计阶段建立数据字典
C.在逻辑设计阶段建立数据字典
D.在物理设计阶段建立数据字典
参考答案:A
参考解析:数据字典是在需求分析阶段建立,在数据库设计过程中不断修改、充实和完善的
20[填空题]在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送_______实现。
【答案】消息
【解析】这是概念题,通过发送消息实现。