计算机二级错题集锦填空题

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
using namespace std;
class pumpkin{
public:
pumpkin() {++count;}
~pumpkin() {--count;}
static void total_count(){
cout<<count<<"pumpkin(s)"<<endl;
}
private:
static int count;
___【15】___get()//返回数据成员val的值,返回类型不加转换
{ return val; }
private:
T val;
};
(1)【1】14
(2)【2】逻辑条件
(3)【3】需求分析
(4)【4】多对多
(5)【5】身份证号
(6)【6】double
(7)【7】15
(8)【8】*(p+i)
(9)【9】size-1
#include <iostream>
#include <string>
using namespace std;
class Word{
public:
Word(string s):str(s){}
string getStr(){ return str; }
___【14】___const { return (str<w.str);}
};
int main(){
GrandChild *gs=new GrandSon("Feifei");
cout<<gs->getName()<<"住在"<<gs->getAddress()<<endl;
delete gs;
return 0;
}
运行时的输出结果是___【13】___。
(14)如下程序定义了“单词”类Word,类中重载了<运算符,用于比较“单词”的大小,返回相应的逻辑值。程序的输出结果为:After Sorting:Happy Welcome,请将程序补充完整。
(12)有如下类定义,请将Sample类的拷贝构造函数补充完整。
class Sample{
public:
Sample(){}
~Sample(){if(p) delete p;}
Sample(const Sample&s){
___【12】___
}
void SetData(int data) {p=new int (data);}
(13)【13】operator +【解析】为了能进行类对象和一个整型值的加法运算,需要写一个类的成员函数来重载双目加法(+)运算符。该函数在类中的声明如下:
Date operator + (int) const;
函数的声明指出,返回值是一个Date类对象,函数名是运算符+,只有一个整型参数,而且函数是常量型的。当编译器发现某个函数以加上前缀operator的真实运算符作为函数名,就会把该函数当作重载运算符函数来处理。
base(CBase),bonus(CBonus),tax(CTax){}
double getPay()const; //返回应付工资额
Wages operator+(Wages w)const;//重载加法
};
double Wages::getPay()const {return base-bonus-tax;}
二、填空题请将每一个空的正确答案写在答题卡【1】~【15】序号的横线上,答在试卷上不得分。
(1)某二叉树有5个度为2的结点以及3个度为1的结点,则该二叉树中共有___【1】___个结点。
(2)程序流程图中的菱形框表示的是___【2】___。
(3)软件开发过程主要分为需求分析、设计、编码与测试四个阶段,其中___【3】___阶段产生“软件需求规格说明书”。
(11)请在下列程序中的空格处填写正确的语句:
class Sample{
public:
Sample(){}
~Sample(){}
void SetData(int data){//将Sample类成员变量data设置成形参的值
___【11】___
}
private:
int data;
};
(11)【11】this->data=data;【解析】因为形参的名字也为data,所以用this来表示不同的data。
(4)在数据库技术中,实体集之间的联系可以是一对一或一对多或多对多的,那么“学生”和“可选课程”的联系为___【4】___。
(5)人员基本信息一般包括:身份证号,姓名,性别,年龄等。其中可以作为主关键字的是___【5】___。
(6)若表达式(x+(y-z)*(m/n))+3中的变量均为double型,则表达式值的类型为___【6】___。
friend ostream& operator<<(ostream& output,const Word &w)
{output<<w.str;return output;}
private:
string str;
};
int main(){
Word w1("Happy"),w2("Welcome");
private:
int *p;
};
(12)【12】p=new int();p=s.p;【解析】对于拷贝构造函数,由于要动态的为指针p分配空间,所以不能够直接赋值写成p=s.p,必须要另外为他分配内存空间,才能深拷贝,否则造成浅拷贝,会出现问题。
(13)重载加法运算符“+”,其函数名是___【13】___。
int height;
};
(13)有如下程序:
#include <iostream>
using namespace std;
class GrandChild{
public:
GrandChild(){strcpy(name,"Un来自百度文库nown");}
const char * getName()const {return name;}
};
int pumpkin::count=0;
int main(){
pumpkin p1[10];
pumpkin::total_count();
return 0;
}
这个程序的输出结果是___【9】___。
(9)【9】10pumpkin(s)【解析】经函数调用,并在函数体内的运算后,静态变量count的值由最初的0累加至10,最后输出结果为10pumpkin(s)。
virtual int CalArea()=0;
};
class Triangle:public Shape{
public:
Triangle(int s,int h):side(s),height(h){}
___【12】___{return side*height/2;}
private:
int side;
class Sample{
public:
Sample(int data=0);
private:
int data;
};
Sample::Sample(int data) {
___【10】___
}
(11)有如下类定义:
class Sample{
public:
Sample();
~Sample();
private:
(1)【1】DBXEACYFZ【解析】所谓中序遍历是首先遍历左子树,然后访问根结点,最后遍历右子树;并且,在遍历左、右子树时,仍然先遍历左子树,然后访问根结点,最后遍历右子树。因此,中序遍历二叉树的过程也是一个递归的过程。
(2)按照软件测试的一般步骤,集成测试应在___【2】___测试之后进行。
(2)【2】单元【解析】软件测试过程一般按4个步骤进行,即单元测试、集成测试、验收测试(确认测试)和系统测试。
(10)【10】this->data=data;
(11)【11】int Sample::data=0;
(12)【12】virtual int CalArea()
(13)【13】Unknown住在shanghai
(14)【14】bool operator<(Word w)
(15)【15】T
(1)对下列二叉树进行中序遍历的结果是___【1】___。
(3)软件工程三要素包括方法、工具和过程,其中,___【3】___支持软件开发的各个环节的控制和管理。
(3)【3】过程【解析】软件工程包括3个要素,即方法、工具和过程。方法是完成软件工程项目的技术手段;工具支持软件的开发、管理、文档生成;过程支持软件开发的各个环节的控制、管理。
(4)数据库设计包括概念设计、___【4】___和物理设计。
cout<<"After sorting:";
if(w1<w2) cout<<w1<<''<<w2;
else cout<<w2<<''<<w1;
return 0;
}
(15)请将下列模板类Data补充完整。
template <typename T>
class Data{
public:
void put(T v) {val=v;}
for(int i=x1+k-1;i>=x1;i--)
a[___【7】___]=a[i];
(7)【7】x2+k-1
(8)有如下程序:
#include <iostream>
using namespace std;
int fun1(int x) {return ++x;}
int fun2(int &x) {return ++x;}
(4)【4】逻辑设计【解析】数据库设计的四个阶段:需求分析、概念设计、逻辑设计、物理设计。
(5)在二维表中,元组的___【5】___不能再分成更小的数据项。
(5)【5】分量【解析】二维表中元组的分量是不可分割的基本数据项——元组分量的原子性。
(7)已知数组a中有n个元素,下列语句将数组a中从下标x1开始的k个元素移动到从下标x2开始的k个元素中,其中0<=x1<x2<n,x2+k<n,请将下列语句补充完整。
virtual char * getAddress()const=0;
private:
char name[20];
};
class GrandSon : public GrandChild{
public:
GrandSon(char *name){}
char * getAddress() const {return"shanghai";}
int main(){
int x=1,y=2;
y=fun1(fun2(x));
cout<<x<<','<<y;
return 0;
}
程序的输出结果是___【8】___。
(8)【8】2,3【解析】本题主要考查了两个知识点,即参数的传值、传地址和函数的递归调用。
(9)有如下程序:
#include <iostream>
static int data;
};
将静态数据成员data初始化为0的语句是___【11】___。
(12)“图形”类Shape中定义了纯虚函数CalArea(),“三角形”类Triangle继承了类Shape,请将Triangle类中的CalArea函数补充完整。
class Shape{
public:
(9)下面是一个递归函数,其功能是使数组中的元素反序排列。请将函数补充完整。
void reverse(int *a,int size){
if(size<2) return;
int k=a[0];
a[0]=a[size-1];
a[size-1]=k;
reverse(a+1,___【9】___);
}
(10)类Sample的构造函数将形参data赋值给数据成员data。请将类定义补充完整。
(7)有如下循环语句:
for(int i=50;i>20;i-=2) cout<<i<<',';
运行时循环体的执行次数是___【7】___次。
(8)利用表达式a[i]可以访问int型数组a中下标为i的元素。在执行了语句int * p=a;后,利用指针p也可访问该元素,相应的表达式是___【8】___。
(10)有如下递归函数:
int Fun(int n){
if(n<=1) return 1;
___【10】___
}
请补充完整,使得函数Fun能够正确计算形参n的阶乘。
(10)【10】return n*Fun(n-1);【解析】本题主要考查函数的递归调用,根据递归调用的公式可知,当n=1时,Fun(n)=1,当n>1时,Fun(n)=n*Fun(n-1),本题答案应填写return n*Fun(n-1)。
(14)有如下程序:
#include <iostream>
using namespace std;
class Wages{ // “工资”类
double base; //基本工资
double bonus; //奖金
double tax;//税金
public:
Wages(double CBase,double CBonus,double CTax):
相关文档
最新文档