试卷详情
-
二级C++笔试-434
-
[单项选择]关于关键字class和typename,下列表述中正确的是( )。
A. 程序中的typename都可以替换为class
B. 程序中的class都可以替换为typename
C. 在模板形参表中只能用typename来声明参数的类型
D. 在模板形参表中只能用class或typename来声明参数的类型
-
[填空题]有以下面程序:
#include <iostream>
using namespace std;
long fib(int n)
if (n>2)
return (fib(n-1)+fib(n-2));
else
return 2;
int main( )
cout<<flb(3)<<endl;
return 0;
则该程序的输出结果应该是______。
-
[单项选择]支持子程序调用的数据结构是( )。
A. 栈
B. 树
C. 队列
D. 二叉树
-
[单项选择]if语句的语法格式可描述为:
格式1:if(<条件>)<语句>或格式2:if(<条件>)<语句1> else<语句2>
关于上面的语法格式,下列表述中错误的是( )。
A. <条件>部分可以是二个if语句,例如if(if(a==0)…)…
B. <语句>部分可以是一个if语句,例如if(…)if(…)…
C. 如果在<条件>前加上逻辑非运算符!并交换<语句1>和<语句2>的位置,语句功能不变
D. <语句>部分可以是一个循环语句,例如if(…)while(…)…
-
[单项选择]函数fun的返回值是( )。
fun(char *a,char *b)
int num=0,n=0;
while(*(a+num)!='/0') num++;
while(b[n]*(a+num)=b[n];num++;n++;
return num;
A. 字符串a的长度
B. 字符串b的长度
C. 字符串a和b的长度之差
D. 字符串a和b的长度之和
-
[单项选择]下列程序的输出结果为( )。
#include <iostream.h>
main( )
int a=4,b=3,c=1,d;
d=a&&b&&b>c-10;
cout<<d;
A. 0
B. 3
C. 1
D. 4
-
[单项选择]cout、cerr和clog是( )的对象,cout处理标准输出,cerr和clog都处理标准出错信息。
A. istream
B. ostream
C. cerr
D. clog
-
[填空题]写出执行完下列代码段之后指定变量的值:
bool x=true,y=false,z=false;
x=x&&y||z;
y=x||y&&z;
z=!(x!=y)||(y==z);
则x=false, y=false, z=______。
-
[单项选择]若有以下定义和语句:
int s[4][5],(*ps)[5];
ps=s;
则对s数组元素的正确引用形式是( )。
A. ps+1
B. *(ps+3)
C. ps[0][2]
D. *(ps+1)+3
-
[填空题]类继承中,缺省的继承方式是______。
-
[填空题]程序文件的编译错误分为语法错误和______两类。
-
[单项选择]在ios中提供控制格式的标志位中,( )是转换为十六进制形式的标志位。
A. hex
B. oct
C. dec
D. left
-
[单项选择]有如下程序:
#include <iostream>
using namespace std;
class MyClass
public:
MyClass(int x):val(x)
void Printo const cout<<"const:val="<<val<<'t';
void Print( ) cout<<"val="<<val<<'/t';
pnvate:
int val;
;
int main( )
const MyClass obj1(10);
MyClass obj2(20);
obj1.Print( );
obj2.Print( );
return ( );
程序的输出结果是( )。
A. val=10 const:val=20
B. const:val=10 const:val=20
C. const:val=10 val=20
D. val=10 val=20
-
[单项选择]数据库应用系统中的核心问题是( )。
A. 数据库设计
B. 数据库系统设计
C. 数据库维护
D. 数据库管理员培训
-
[单项选择]希尔排序属于( )。
A. 交换排序
B. 归并排序
C. 选择排序
D. 插入排序
-
[单项选择]在C++中,用于实现运行时多态性的是( )。
A. 内联函数
B. 重载函数
C. 模板函数
D. 虚函数
-
[单项选择]设a=1;b=2;,则(a++)+b和a+++b这两个表达式的值分别为( )。
A. 3,3
B. 3,4
C. 4,3
D. 4,4
-
[单项选择]下列数组的定义中,会产生错误的是( )。
-
[单项选择]程序设计语言的工程特性之一为( )。
A. 软件的可重用性
B. 数据结构的描述性
C. 抽象类型的描述性
D. 数据库的易操作性
-
[单项选择]检查模块是否正确的组合在一起的过程称为( )。
A. 确认测试
B. 集成测试
C. 验证测试
D. 验收测试
-
[单项选择]若定义:float x;int a,b;,则正确的switch语句是( )。
A. switch(x)
B. case2.0:cout<<"**/n";switch(x)
C. case 3:cout<<"**/n";switch(a+b)
D. case 1.0:cout<<"*/n"; case 1+2:cout<<"**/n";switch(a+b)case 1:cout<<"*/n";
-
[单项选择]生成派生类对象时,派生类构造函数调用基类构造函数的条件是( )。
A. 无需任何条件
B. 基类中显式定义了构造函数
C. 派生类中显式定义了构造函数
D. 派生类构造函数明确调用了基类构造函数
-
[单项选择]运算符函数调用格式的表达式y/x++与表达式y.operator/(operator++(x,0))的含义相同,由此可看出( )。
A. “/”和“++”都是作为成员函数重载的
B. “/”和“++”都是作为非成员函数重载的
C. “/”是作为成员函数重载的,“++”是作为非成员函数重载的
D. “/”是作为非成员函数重载的,“++”都是作为成员函数重载的
-
[填空题]带有______的类称为抽象类,它只能作为______来使用。
-
[单项选择]有如下类定义:
class MyBase
int k;
public:
MyBase(int n=0):k(n)
int value( )const return k;
;
class MyDerived: MyBase
int j;
public:
MyDerived(int i):j(i)
int getK( )const return k;
int getJ( )const return j;
;
编译时发现有一处语法错误,对这个错误最准确的描述是( )。
A. 函数getK试图访问基类的私有成员变量k
B. 在类MyDerived的定义中,基类名MyBase前缺少关键字public、protected或private
C. 类MyDerived缺少一个无参的构造函数
D. 类MyDerived的构造函数没有对基类数据成员k进行初始化
-
[填空题]已知double var;是文件F1.CPP中的一个全局变量定义,若文件F2.CPP中的某个函数也需要访问,则在文件F2.CPP中var应说明为______。
-
[单项选择]下列关于类模板的模板参数的叙述中,错误的是( )。
A. 模板参数可以作为数据成员的类型
B. 模板参数可以作为成员函数的返回类型
C. 模板参数可以作为成员函数的参数类型
D. 模板参数不能作为成员函数的局部变量的类型
-
[填空题]软件生命周期包括8个阶段。为了使各时期的任务更明确,又可分为3个时期:软件定义期、软件开发期、软件维护期。编码和测试属于______期。
-
[单项选择]若有以下程序:
#include <iostream>
using namespace std;
void sub(int x,int y,int *z)
*z=y+x;
int main( )
int a,b,c;
sub(8,4,&a);
sub(6,a,&b);
sub(a,b,&c);
cout<<a<<","<<b<<","<<c<<endl;
return 0;
程序运行后的输出结果是( )。
A. 12,18,30
B. -12,6,8
C. 6,8,10
D. 12,-18,16
-
[单项选择]数据的逻辑结构是指( )。
A. 存储在外存中的数据
B. 数据所占的存储空间量
C. 数据元素之间的逻辑关系
D. 数据的逻辑结构在计算机中的表示
-
[填空题]程序中有如下语句
for(int i=0; i<5; i++) cout<<*(p+i)<<",";
能够依次输出int型一维数组DATA的前5个元素。由此可知,变量p的定义及初始化语句是______。
-
[单项选择]以下程序的正确运行结果是( )。
#include <iostream.h>
int f(int);
void main( )
int a=2,i;
for(i=0;i<3;i++)
cout<<f(a)<<"";
cout<<endl;
int f(int a)
int b=0;
static int c=3;
b++;c++;
return(a+b+c);
A. 777
B. 7 10 13
C. 79 11
D. 789
-
[单项选择]不合法的main函数命令行参数表示形式是( )。
A. main (int a,char * c[1])
B. main (int arc, char **arv)
C. main (int argc, char *argv)
D. main (int argy,char *argc[])
-
[填空题]若有以下定义及初始化语句:
int i=100;
int *ip=&i;
int k=*ip;
并假设整型数i的地址为0x12345678,指针ip的地址为0x21000000,则k的值为______。
-
[单项选择]下列数据结构中不属于线性存储结构的是( )。
A. 顺序表
B. 栈
C. 队列
D. 链表
-
[填空题]若要将函数“void FriFun( );”声明为类MyClass的友元函数,则应在类MyClass的定义中加入语句______。
-
[填空题]在算法正确的前提下,评价一个算法的两个标准是______。
-
[填空题]在深度为5的完全二叉树中,度为2的结点数最多为______。
-
[单项选择]下列叙述中,不属于数据库系统的是( )。
A. 数据库
B. 数据库管理系统
C. 数据库管理员
D. 数据库应用系统
-
[单项选择]执行语句序列
int i=0; while(i<25) i+=3; cout<<i;
输出结果是( )。
A. 24
B. 25
C. 27
D. 28
-
[单项选择]有如下类声明:
class MyBASE
int k;
public:
void set(int n) k=n;
int get( )constreturn k;
;
class MyDERIVED:protected MyBASE
protected:
int j;
public:
void set(int m,int n) MyBASE::set(m);j=n;
int get( )constreturn MyBASE::get( )+j;
;
则类MyDERIVED中保护的数据成员和成员函数的个数是( )。
A. 4
B. 3
C. 2
D. 1
-
[单项选择]在关系数据库中,用来组织索引结构联系的是( )。
A. 树形结构
B. 网状结构
C. 线性表
D. 二维表
-
[单项选择]下列关于继承的描述中,错误的是( )。
A. 析构函数不能被继承
B. 派生类是基类的组合
C. 派生类的成员除了它自己的成员外,还包含了它的基类的成员
D. 派生类中继承的基类成员的访问权限到派生类保持不变
-
[单项选择]34,定义如下枚举类型:enum Numberone=1,two=2,four=4,eight=8,则下列语句正确的是( )。
A. Numbernum=1;
B. Numbernum=Number(20);
C. Numbernum=Number(eightl0xFF);
D. 枚举类型Number的取值范围是0~15
-
[填空题]耦合和内聚是评价模块独立性的两个主要标准,其中______反映了模块内各成分之间的联系。