计算机二级错题集锦填空题
ss pumpkin{
public:
pumpkin() {++count;}
~pumpkin() {--count;}
static void total_count(){
cout<<count<<"pumpkin(s)"<<endl;
}
private:
static int count;
(11)请在下列程序中的空格处填写正确的语句:
class Sample{
public:
Sample(){}
~Sample(){}
void SetData(int data){//将Sample类成员变量data设置成形参的值
___【11】___
}
private:
int data;
};
(11)【11】this->data=data;【解析】因为形参的名字也为data,所以用this来表示不同的data。
(12)有如下类定义,请将Sample类的拷贝构造函数补充完整。
class Sample{
public:
Sample(){}
~Sample(){if(p) delete p;}
Sample(const Sample&s){
___【12】___
}
void SetData(int data) {p=new int (data);}
int main(){
int x=1,y=2;
y=fun1(fun2(x));
cout<<x<<','<<y;
return 0;
}
程序的输出结果是___【8】___。
(8)【8】2,3【解析】本题主要考查了两个知识点,即参数的传值、传地址和函数的递归调用。
(9)有如下程序:
#include <iostream>
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;
};
int main(){
GrandChild *gs=new GrandSon("Feifei");
cout<<gs->getName()<<"住在"<<gs->getAddress()<<endl;
delete gs;
return 0;
}
运行时的输出结果是___【13】___。
(14)如下程序定义了“单词”类Word,类中重载了<运算符,用于比较“单词”的大小,返回相应的逻辑值。程序的输出结果为:After Sorting:Happy Welcome,请将程序补充完整。
二、填空题请将每一个空的正确答案写在答题卡【1】~【15】序号的横线上,答在试卷上不得分。
(1)某二叉树有5个度为2的结点以及3个度为1的结点,则该二叉树中共有___【1】___个结点。
(2)程序流程图中的菱形框表示的是___【2】___。
(3)软件开发过程主要分为需求分析、设计、编码与测试四个阶段,其中___【3】___阶段产生“软件需求规格说明书”。
virtual char * getAddress()const=0;
private:
char name[20];
};
class GrandSon : public GrandChild{
public:
GrandSon(char *name){}
char * getAddress() const {return"shanghai";}
(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)。
};
int pumpkin::count=0;
int main(){
pumpkin p1[10];
pumpkin::total_count();
return 0;
}
这个程序的输出结果是___【9】___。
(9)【9】10pumpkin(s)【解析】经函数调用,并在函数体内的运算后,静态变量count的值由最初的0累加至10,最后输出结果为10pumpkin(s)。
(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。请将类定义补充完整。
(4)【4】逻辑设计【解析】数据库设计的四个阶段:需求分析、概念设计、逻辑设计、物理设计。
(5)在二维表中,元组的___【5】___不能再分成更小的数据项。
(5)【5】分量【解析】二维表中元组的分量是不可分割的基本数据项——元组分量的原子性。
(7)已知数组a中有n个元素,下列语句将数组a中从下标x1开始的k个元素移动到从下标x2开始的k个元素中,其中0<=x1<x2<n,x2+k<n,请将下列语句补充完整。
#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);}
static int data;
};
将静态数据成员data初始化为0的语句是___【11】___。
(12)“图形”类Shape中定义了纯虚函数CalArea(),“三角形”类Triangle继承了类Shape,请将Triangle类中的CalArea函数补充完整。
class Shape{
public:
(4)在数据库技术中,实体集之间的联系可以是一对一或一对多或多对多的,那么“学生”和“可选课程”的联系为___【4】___。
(5)人员基本信息一般包括:身份证号,姓名,性别,年龄等。其中可以作为主关键字的是___【5】___。
(6)若表达式(x+(y-z)*(m/n))+3中的变量均为double型,则表达式值的类型为___【6】___。
(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】___。
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;}
int height;
};
(13)有如下程序:
#include <iostream>
using namespace std;
class GrandChild{
public:
GrandChild(){strcpy(name,"Unknown");}
const char * getName()const {return name;}
class Sample{
public:
Sample(int data=0);
private:
int data;
};
Sample::Sample(int data) {
___【10】___
}
(11)有如下类定义:
class Sample{
public:
Sample();
~Sample();
private:
base(CBase),bonus(CBonus),tax(CTax){}
double getPay()const; //返回应付工资额
Wages operator+(Wages w)const;//重载加法
};
double Wages::getPay()const {return base-bonus-tax;}
___【15】___get()//返回数据成员val的值,返回类型不加转换