2007年9月c语言真题及答案,2006年9月全国计算机等级考试二级C语言笔试试题及答案...

2006年9月全国计算机等级考试二级C语言笔试试题及答案

一、选择题(每小题2 分,共70 分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。

(1)下列选项中不符合良好程序设计风格的是______。

A)、源程序要文档化

B)、数据说明的次序要规范化

C)、避免滥用goto 语句

D)、模块设计要保证高耦合,高内聚

(2)从工程管理角度,软件设计一般分为两步完成,它们是______。

A)、概要设计与详细设计

B)、数据设计与接口设计

C)、软件结构设计与数据设计

D)、过程设计与数据设计

(3)下列选项中不属于软件生命周期开发阶段任务的是______。

A)、软件测试

B)、概要设计

C)、软件维护

D)、详细设计

(4)在数据库系统中,用户所见的数据模式为______。

A)、概念模式

B)、外模式

C)、内模式

D)、物理模式

(5)数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和______。

A)、编码设计

B)、测试阶段

C)、运行阶段

D)、物理设计

(6)设有如下三个关系表下列操作中正确的是

A)、T=R∩S

B)、T=R∪S

C)、T=R×S

D)、T=R/S

(7)下列叙述中正确的是

A)、一个算法的空间复杂度大,则其时间复杂度也必定大

B)、一个算法的空间复杂度大,则其时间复杂度必定小

C)、一个算法的时间复杂度大,则其空间复杂度必定小

D)、上述三种说法都不对

(8)在长为64 的有序线性表中进行顺序查找,最坏情况下需要比较的次数为______。

A)、63

B)、64

C)、6

D)、7

(9)数据库技术的根本目标是要解决数据的______。

A)、存储问题

B)、共享问题

C)、安全问题

D)、保护问题

(10)对下列二叉树:进行中序遍历的结果是______。

A)、ACBDFEG

B)、ACBDFGE

C)、ABDCGEF

D)、FCADBEG

(11)下列有关内联函数的叙述中,正确的是______。

A)、内联函数在调用时发生控制转移

B)、内联函数必须通过关键字inline 来定义

C)、内联函数是通过编译器来实现的

D)、内联函数体的最后一条语句必须是rennin 语句

(12)下列情况中,不会调用拷贝构造函数的是______。

A)、用一个对象去初始化同一类的另一个新对象时

B)、将类的一个对象赋予该类的另一个对象时

C)、函数的形参是类的对象,调用函数进行形参和实参结合时

D)、函数的返回值是类的对象,函数执行返回调用时

(13)下列有关继承和派生的叙述中,正确的是______。

A)、如果一个派生类私有继承其基类,则该派生类对象不能访问基类的保护成员

B)、派生类的成员函数可以访问基类的所有成员

C)、基类对象可以赋值给派生类对象

D)、如果派生类没有实现基类的一个纯虚函数,则该派生类是一个抽象类

(14)下列运算不能重载为友元函数的是______。

A)、= ( ) [] ->

B)、+ - ++ --

C)、> < >= <=

D)、+= -= *= /=

(15)关于在调用模板函数时模板实参的使用,下列表述正确的是______。

A)、对于虚类型参数所对应的模板实参,如果能从模板函数的实参中获得相同的信息,则都可以省略

B)、对于虚拟类型参数所对应的模板实参,如果它们是参数表中的最后的若干个参数,FC EA DBG则都可以省略

C)、对于虚拟型参数所对应的模板实参,若能够省略则必须省略

D)、对于常规参数所对应的模板实参,任何情况下都不能省略

(16)下列关于输入流类成员函数getline( )的描述中,错误的是______。

A)、该函数是用来读取键盘输入的字符串的

B)、该函数读取的字符串长度是受限制的

C)、该函数读取字符串时,遇到终止符便停止

D)、该函数读取字符串时,可以包含空格

(17)下列符号中,正确的C++标识符是______。

A)、enum

B)、2b

C)、foo-9

D)_32

(18)下列语句中,错误的是______。

A)、const int buffer=256;

B)、const double*point;

C)、int const buffer=256;

D)、double*const point;

(19)if 语句的语法格式可描述为

格式1:if()

格式2:if()else

关于上面的语法格式,下列表述中错误的是

A)、部分可以是一个if 语句,例如if(if(a =0)?)?

B)、部分可以是一个if 语句,例如if(?)if(?)?

C)、如果在前加上逻辑非运算符!并交换和的位置,语句功能不变

D)、部分可以是一个循环语句,例如if(?)while(?)?

(20)有如下说明

int a[10]={1,2,3,4,5,,6,7,8,9,10},*p=a;

则数值为9 的表达式是______。

A)、*p+9`

B)、*(p+8)

C)、*p+=9

D)、p+7

(21)或下面的函数调用

fun(a+b,3,max(n-1)b)

则fun 的实参个数是______。

A)、3

B)、4

C)、5

D)、6

(22)以下关键字不能用来声明类的访问权限的是______。

A)、public

B)、static

C)、protected

D)、private

(23)在公有继承的情况下,允许派生类直接访问的基类成员包括______。

A)、公有成员

B)、公有成员和保护成员

C)、公有成员、保护成员和私有成员

D)、保护成员

(24)关于运算符重载,下列表述中正确的是______。

A)、C++已有的任何运算符都可以重载

B)、运算符函数的返回类型不能声明为基本数据类型

C)、在类型转换符函数的定义中不需要声明返回类型

D)、可以通过运算符重载来创建C++中原来没有的运算符

(25)关于关键字class 和typename,下列表述中正确的是______。

A)、程序中的typename 都可以替换为class

B)、程序中的class 都可以替换为typename

C)、在模板形参表中只能用typename 来声明参数的类型

D)、在模板形参表中只能用class 或typename 来声明参数的类型

(26)有如下程序

#include

#include

usingnamespace std;

int main(){

countreturn 0;

}

若程序的输出是:

**12.345**34.567

则程序中下划线处遗漏的操作符是______。

A)、setprecision(3)

B)、fixed

C)、setfill(*)

D)、stew(8)

(27)有如下程序

#include

#include

usingnamespace std;

classMyClass{

public:

MyClass(){cout<

MyClass(charc {cout

};

Int main(){

MyClassp1,*p2

p2=newMyClass(‘X’);

delete p2;

return 0;

}

执行这个程序幕上将显示输出______。

A)、ABX

B)、ABXB

C)、AXB

D)、AXBB

(28)有如下程序

#include

usingnamespace std;

int i=1;

class Fun{

public;

static inti;

intvalue(){return i-1}

int value()const{return i+1;}

};

intFun;;i=2;

int main(){

int i=3;

Fun Fun1

const Funfun2;

return 0;

}

若程序的输出结果是:

123

则程序中下划线处遗漏的语句是______。

A)、cout<

B)、cout<

C)、cout<

D)、cout<

(29)有如下程序

#include

usingnamespace std;

class Obj{

static inti;

public:

Obj(){i++;}

~Obj(){i--;}

static intgetVal(){teturn i;}

};

intObj::i=0;

void f(){Obj ob2;coutObj obl;

F();

Obj*ob3=newObj;coutDeleteob3;cout}

程序的输出结果是______。

A)、232

B)、231

C)、222

D)、221

(30)有如下程序

#include

usingnamespace std;

class Base{

protected;

Base(){cout<

Base(charc){cout

classDerived; public Base{

public:

Derived(charc ){cout

int main(){

Derived d1(‘B’);

return 0;

}

执行这个程序屏幕上将显示输出______。

A)、B

B)、BA

C)、AB

D)、BB

(31)有如下类定义:

classMyBase{

int k;

public;

MyBase(intn=0):k(n){}

intvalue()const{return k;}

};

classMyDerived; MyBase{

int j;

public;

MyDerived(inti): j(i){}

intgetK()const {return k;}

intgutj()const{return j;}

};

编译时发现有一处语法错误,对这个错误最佳准确的描述是

A)、函数getK 试图访问基类的私有成员变量K

B)、在类MyDerived 的定义中,基类名MyBase 前缺少关键字public、protected 或private

C)、类MyDerived 缺少一个无参的构造函数

D)、类MyDerived 的构造的数没有对基数数据成员K 进行初始化

(32)在一个派生类对象结束其生命周期时

A)、先调用派生类的析构函数后调用基类的析构函数

B)、先调用基类的析构函数后调用派生类的析构函数

C)、如果基数没有定义析构函数,则只调用派生类的析构函数

D)、如果派生类没有定义析构函数,则只调用基类的析构函数

(33)有如下的运算重载函数定义:

Doubleoperator+(int i, int k){return double(i+k);}

但定义有错误,对这个错误的最准确的描述是______。

A)、+只能作为成员函数重载,而这里的+是作为非成员函数重载的

B)、两个int 型参数的和应该是int 型,而这里将+的返回类型声明为double

C)、没有将运算符重载函数声明为某个类的友元

D)、C++已经提供了求两个int 型数据之和运算符+,不能再定义同样的运算符

(34)语句ofstreamf(“SALARY.DAT”,ios_base::app)的功能是建立流对象f,并试图打开文件SALARY.DAT 与f 关联,而且______。

A)、若文件存在,将其置为空文件;若文件不存在,打开失败

B)、若文件存在,将文件指针定位于文件尾;若文件不存在,建立一个新文件

C)、若文件存在,将文件指针定位于文件首;若文件不存在,打开失败

D)、若文件存在,打开失败;若文件不存在,建立一个新文件

(35)有如下程序

#include

usingnamespace std;

class A{

public:

virtual Voidfuncl(){cout<< “A1”;}

voidfune2(){cout<< “A2”;}

};

class B:public A{

public:

voidfunc1(){cout<< “B1”;}

voidfunc2(){cout<< “B2”;}

};

Int main(){

A*p=new B;

p->funcl();

p->func2();

retum0;

}

运行程序,屏幕上将显示输出______。

A)、B1B2

B)、A1A2

C)、B1A2

D)、A1B2

二、填空题(每空2 分,共30 分)请将每一个空的正确答案写在答题卡[1]~[15]序号的横线上,答在试卷上不得分。

(1)下列软件系统结构图的宽度为 [1] 。

(2) [2] 的任务是诊断和改正程序中的错误。

(3)一个关系表的行为 [3] 。

(4)按“行进后出”原则组织数据的数据结构是 [4] 。

(5)数据结构分为线性结构和非线性结构,带链的队列属于 [5] 。

(6)若有定义语句:int*a,b;,则变量b 的数据类型是 [6] 。

(7)已知数组a 中的元素个数为n,下列语句的作用是将下标为i 的元素移动到下标为i-1 的单元,其中1≤i<n。例如,当n=4,a 中原有数据为1,2,3,4 时,则移动后a中元素为2,3,4,4。请将语句补充完整:

For(inti=0;i(8)已知递归函数f 的定义如下:

int f (intn)

{

If(n

else returnn*f(n-2);//递归}则函数调用语句f(5)的返回值是 [8] 。

(9)创建对象数组时,对数组的每一个元素都将调用一次构造函数,如果没有显式给出数组元素的初值,则调用缺省构造函数,下列程序涉及到对象数组的创建和单个对象的创建,其输出结果是 [9] 。

#include

using namespacestd;

class Foo{

public:

Foo(intX){cout <

Foo(){}

};

int main()

Foof[3],g(3);

return 0;

}

(10)习惯性在下列程序的输出结果是42,请将画线处缺失的部分补充完整。

#include

Usingnamespace atd;

Class Foo{

int value;

public:

Foo():value(0){}

Void setvalue(intvalue)

{ [10]=value; //给Foo 的数据成员value 赋值}void print(){cout

Int main()

{

Foo f;

f.setvalue(42);

f.print();

retum0;

}

(11)如果不能使用多态机制,那么通过基类的指针虽然可以指向派生类对象,但是只能访问从基数继承的成员,下列程序没有使用多态机制,其输出结果是 [11] 。

#include

usingnamespace std;

class Base{

public:

Voidprint(){cout<< ‘B’;}};

classDerived: public Base{

public

voidprint(){cout<< ‘D’;}}

int main()

{

Derived*pd=newDreived);

Base*pb=pd;

pb->print();

pd->print();

delete pd;

return 0;

}

(12)在声明派生类时,如果不显式地给出继承方式,缺省的类继承方式是私有继承

private。已知有如下类定义:

class Base{

protected:

void fun(){}

};

ClassDerived: Base{};

则Base 类中的成员函数fun(),在Derived 类中的访问权限是 [12] (注意:要求填写private、protected 或public 中的一项)。

(13)在MyClass 类的定义中,对赋值运算符=进行重载。请将画线处缺失的部分补充完整。

[13]MyClass::operator=(const MyClass rhs)

{

if(this=&rhs)return*this;

value=rhs.value;

return*this;

(14)插入排序算法的主要思想是:每次从未排序序列中取出一个数据,插入到已排序序列中的正确位置,InsertSort 类的成员函数sort()实现了插入排序算法,请将画线处缺失的部分补充完整。

classInsertSort{

public:

InsertSort(int*a0,intn0):a(a0),n(n0){}//参数组首地址,n 是数组元素个数

void sort()

{//此函数假设已排离序列初始化状态只包含a[0],未排序序列初始为a[1]?a[n-1]

for (inti=1;iint j;

for( [14]j>0;--j){

if(t>a[j-1])break;

a[j]=a[j-1];}

a[j]=t;}}

protected:

int*a,n;//指针a 用于存放数组首地址,n 用于存放数组元素个数

};

(15)下列程序的输出结果是 [15]

#include

usingnamespace std;

class A{

int a

public:

A():a(9){}

virtual voidprint() const {cout

classB:public A{

char b;

public:

B(){b= ‘S’;}

voidprint()const{cout

voidshow(Aa&X){X,print()}

int main()

{ Ad1;*p;

Bd2;

p=&d2;

d1,print();

d2,print();

p->print();

show(d1);

show(d2);

return 0;}

一、选择题:

01—05 DACBD          06—10    CDBBA

11—15 ADDAD          16—20    CCBBC

21—25 DACBC          26—30    ABCDC

31—35 ADBAD          36—40    BBADC

41—45 CBBCD          46—50    BABDC

二、填空题:

1、3                        2、调试

3、元组4、栈

5、线性6、12346.0

7、10 11                  8、1

9、  7   4                10、n=n/10

11、(x+8)                   12、sin(x)

13、0                     14、i%2==0

15、s--                    16、*s++

17、18                    18、16  11

19、->data                  20、”rb”

基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip 【备注】 1、该资源内项目代码百分百可运行,请放心下载使用!有问题请及沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值