试卷详情
-
二级C++笔试-281
-
[单项选择]下列叙述中正确的是
A. 算法的空间复杂度是指算法程序的长度
B. 算法的效率只与所处理数据的规模有关,而与数据的存储结构无关
C. 数据的逻辑结构与存储结构是一一对应的
D. 上述三种说法都不对
-
[填空题]下列程序编译错误,因为add函数返回值是一个引用,故对return后返回值的要求是 【10】 。
#include<iostream. h>
int& add(int x, int y)
return x+y;
void main( )
int i=3,j=19;
cout<<(add(i,j)+ =20)<<end1;
-
[单项选择]以下选项中与k=n++;完全等价的表达式是
A. k=n,n=n+1
B. n=n+1,k=n;
C. k=++n;
D. k+=n+1
-
[单项选择]程序设计方法要求在程序设计过程中
A. 先编制出程序,经调试使程序运行结果正确后再画出程序的流程图
B. 先编制出程序,经调试使程序运行结果正确后再在程序中的适当位置处加注释
C. 先画出流程图,再根据流程图编制出程序,最后经调试使程序运行结果正确后再在程序中的适当位置处加注释
D. 以上三种说法都不对
-
[单项选择]当使用fstram流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为
A. ios::in
B. ios::out
C. ios::int
D. 没有
-
[填空题]设一棵完全二叉树共有839个结点,则在该二叉树中有 【3】 个叶子结点。
-
[单项选择]以下的for循环
for(x=0,y=0,(y! =123)&&(x<4);x++);
A. 是无限循环
B. 循环次数不定
C. 最多执行4次
D. 最多执行3次
-
[单项选择]重载函数在调用时选择的依据中,错误的是
A. 函数的参数名称
B. 参数的类型
C. 函数的名字
D. 函数的类型
-
[单项选择]在下列数据管理的各阶段中,数据独立性最高的阶段是
A. 手工管理
B. 文件系统
C. 数据项管理
D. 数据库系统
-
[单项选择]如果一个类含有一个以上的纯虚函数,则称该类为
A. 虚基类
B. 抽象类
C. 派生类
D. 以上都不对
-
[填空题]在最坏情况下,冒泡排序所需要的比较次数为 【2】 。
-
[单项选择]下列能对对象进行初始化的是
A. 构造函数
B. 析构函数
C. 友元函数
D. 静态成员函数
-
[填空题]在关系模型中,把数据看成一个二维表,每一个二维表称为一个 【5】 。
-
[单项选择]设有以下类的定义:
class Ex
int x;
public:
void setx(int t=0);
;
若在类外定义成员函数setx( ),以下定义形式中正确的是
A. void setx(int t)...
B. void Ex: :setx(int t)...
C. Ex: :void setx(int t)...
D. void Ex: :setx()...
-
[填空题]执行"cout<<char(’A’+2)<<end1;"语句后得到的输出结果为 【6】 。
-
[填空题]根据三角形的基本定理完成填空,则表达式为 【8】 。
#include<iostream. h>
#include<math. h>
void main( )
double a,b,c,s,area;
cout<<"请输入三角形三边a,b,c:"<<end1;
cin>>a>b>>c;
if(______)
s=(a+b+c)/2;
area=sqrt(s*(s-- a)*(s-
- b)* (s-
- c)),
cout<<"三角形的面积为:"<<area;
else
cout<<"不能构成三角形!"<<end1;
-
[填空题]下列程序的运行结果是 【15】 。
#include<iostream, h>
class Sample
int a;
public:
Sample(int aa=0) a=aa;
~Sample( ) cout<<"Sample="<<a<<;
class Derived: public Sample
int b;
public:
Derived(int aa=0, int bb=0): Sample(aa) b=bb;
~De rived( ) cout <<"Derived="<<b<<’’;
void main( )
Derived dl (9)
-
[填空题]在下面的类定义中,this指针的用途是 【11】 。
#include <iostream. h>
class Sample
int x,y;
public:
Sample(int i,int j)x=i;y=j;
void asstgn(Sample sa):
;
void Sample: :assign(Sample p)
if (this! =&p)
x=p.x;
y=p.y;
-
[单项选择]以下不属于构造函数特征的是。
A. 构造函数名与类名相同
B. 构造函数可以重载
C. 构造函数可以设置默认参数
D. 构造函数必须指定函数类型
-
[单项选择]语句cout<<(a=2)&&(b=-2);的输出结果是
A. 无输出
B. 结果不确定
C. -1
D. 1
-
[单项选择]下列数据结构中具有记忆作用的是
A. 栈
B. 队列
C. 有序表
D. 二又树
-
[单项选择]以下不能作为输出流对象的是
A. 文件
B. 内存
C. 键盘
D. 显示器
-
[单项选择]已知int a, b;用语句scanf("%d%d", &a, &b);输入a,b的值时,不能作为输入数据分隔符的是
A. ,
B. . 空格
C. 回车
D. Tab键
-
[单项选择]以下叙述正确的是
A. 派生类中不可以定义与基类中同名的成员变量
B. 派生类中不可以重载成员函数
C. 派生类中不能调用基类中的同名函数
D. 以上三项均不正确
-
[填空题]数据模型分为格式化模型与非格式化模型,层次模型与网状模型属于 【4】 。
-
[填空题]数据结构分为逻辑结构与存储结构,循环队列属于 【1】 。
-
[单项选择]下述说法错误的是
A. 对象之间不可以相互赋值
B. 对象可以用作函数参数
C. 对象可以用作数组的元素
D. 对象可以用作另一对象的成员
-
[单项选择]下列关于关系运算的叙述中正确的是
A. 投影、选择、连接是从二维表的行的方向来进行运算
B. 并、交、差是从二维表的列的方向来进行运算
C. 投影、选择、连接是从二维表的列的方向来进行运算
D. 以上三种说法都不对
-
[单项选择]下列各类函数中,不是类的成员函数的是
A. 构造函数
B. 析构函数
C. 友元函数
D. 拷贝构造函数
-
[单项选择]在结构化分析方法中,数据字典的作用是
A. 存放所有需要处理的原始数据
B. 存放所有处理的结果
C. 存放所有的程序文件
D. 描述系统中所用到的全部数据和文件的有关信息
-
[单项选择]以下不能够读入空格字符的语句是
A. char line; line=cin.get()
B. char line; cin. get(line);
C. char line; cin>>line;
D. char line[2]; cin. getline(line,2);
-
[单项选择]在多继承中,公用派生和私有派生对于基类成员在派生类中的可访问性与单继承规则
A. 完全相同
B. 完全不同
C. 部分相同,部分不同
D. 以上都不对
-
[单项选择]以下程序运行后,输出结果是
#define PT 5.5
#define S(x)PT* x * x
main( )
int a=1,b=2;
printf("%4.lf/n",S(a+b);
A. 49.5
B. 9.5
C. 22.0
D. 45.0
-
[单项选择]在长度为n的有序线性表中进行二分查找,需要的比较次数为
A. log2n
B. nlog2n
C. n/2
D. (n+1)/2
-
[填空题]参照函数模板的写法,完成非模板函数的定义,语句为 【12】 。
#include<iostream, h>
#include<string. h>
template<class T>
T min(T a, T b)
return(a<b a:b);
char * min(char * a, char * b)
__________________________
void main( )
double a=1.23,b=3.45;
char s1[]="abcd",s2[]="erg";
cout<<min(a, b)<<min(s1,s2)<<end1:
-
[填空题]下列函数的功能是 【7】 。
#include<iostream. h>
int Func(int a,int b)
if (a>b) return 1;
else if(a==b) return 0;
else return -1;
-
[单项选择]设有定义char str[80];以下不能将输入数据first/nsecond/n<CR>读取到数组str中的语句是
A. cin.get(str, strlen(str));
B. cin.getline(str,strlen(str));
C. cin>>str;
D. cin.read(str, strlen(str));
-
[填空题]下列程序的运行结果为 【9】 。
#include<iostream, h>
void main( )
int i;
for(i=1; i<6;i++)if(i==3) break:
com<<"i="<<i<<end1;
-
[单项选择]以下有关类与结构体关系的叙述不正确的是
A. 结构体中只包含数据;类中封装了数据和操作
B. 结构体的成员对外界通常是开放的;类的成员可以被隐蔽
C. 用struct不能声明一个类型名;而class可以声明一个类名
D. 结构体成员默认为Public;类成员默认为private
-
[单项选择]设A为test类的对象且赋有初值,赋值符号已经重载,则语句test B=A;表示
A. 语法错
B. 为对象A定义一个别名
C. 将对象A复制给对象B
D. 仅说明B和A属于同一个类
-
[单项选择]假定a为一个整型数组名,则元素a[4]的字节地址为
A. a+4
B. a+8
C. a+16
D. a+32
-
[单项选择]对于常数据成员,下面描述正确的是
A. 常数据成员可以不初始化,并且不能更新
B. 常数据成员必须被初始化,并且不能更新
C. 常数据成员可以不初始化,并且可以被更新
D. 常数据成员必须被初始化,并且可以被更新
-
[单项选择]已知类A有公用数据成员a,并重载了=运算符,且有A obj2;const A * ptr= new A;则下列语句错误的是
A. ptr->a=100;
B. ptr=&obj2;
C. ptr++;
D. obj2=*ptr;
-
[填空题]下列程序的运行结果为 【14】 。
#include <iostream. h>
class myclass
private:
int a, b, c;
public:
void fun( )
int a;
a=10;
this->,a=5;
b=6;
this->c=7;
cout<<"a="<<a<<",this->a="<<this->a<<endl;
;
void main( )
myclass obj1;
obj1.fun( )
-
[单项选择]已知语句int m=10;则下列引用的表示中正确的是
A. int &x=m;
B. int &y=10;
C. int &z;
D. float &t=&m;
-
[单项选择]关于const修饰符的说法中,错误的是
A. const既可以修饰成员函数,也可以修饰数据成员,还可以修饰对象
B. 若const修饰了一个对象,则该对象中的所有数据成员都无法被更新
C. 常对象无法调用一般成员函数
D. 常成员函数只能被常对象调用,不能被一般对象调用
-
[填空题]下列程序中的this指针的作用是 【13】 。
#include <iostream. h>
class Sample
int n;
static int st;
public,
Sample( )
Sample(int m) n=m; st=m+10;
void Change(int k) st=st+k;
void AddValue(int m)
Sample s,
s. n=n+m;
*this=s;
void disp( ) cout<<"n="<<n<<";st="<<st<<end1;
;
int Sample: :st=0
void main( )
Sample s1(10),s2(10)
s1. disp( )
s1. AddValue(5),
s2. Change(100);
s1. disp( );
s2. disp( )