判断
Y1全局变量是静态存储变量     
N2定义一个输入文件流对象,并打开d盘du文件夹下的abc.dat文件方法是:
Ifstream fin:
Fin .open(“d:\du\abc.dat”);   
N3若有int i,*p=1000是合法的   
N4形参变量和实参变量一样同时被分配内存单元,并且同实参一起释放   
N5重载函数必须在参数类型上有所不同   
Y6一维字符数组的输入:char str[22]; cin>>str;   
Y7在C++中常量可分为6种,它们是整型常量、实型常量、字符型常量、字符串常量、符号常量、逻辑型常量   
N8表达式4>=5?1:0的值是1   
N9对数组进行初始化bb[]=”hello”;则数组bb的长度是5   
Y10 do-while循环,它先执行循环中的语句,然后在判断表达式的值   
N11析构函数是一个函数体为空的成员函数   
Y12友元破坏了类的封装性,即友元函数可以访问对象的私有数据成员和保护数据成员   
Y13创建引用时要用一个同类型的变量进行初始化   
Y14构造函数的名字必须与类名相同   
Y15数组名是一个值不可以改变的地址变量   
N16对二叉排序树进行先序遍历,可以得到一个有序序列   
Y17一个二叉树的先序序列是ABDGECF,中序序列是DGBEAFC,那么可以得出该二叉树的后序序列是GDEBFCA    Y
N18数据的存储结构可以分为线性结构和非线性结构 
Y19二叉树是n(n>=0)个节点有限集合,它可以为空集   
Y20数据结构的概念一般包括三个方面的内容:数据的逻辑结构,数据的存储结构和数据的运算   
选择
1 关于建立函数的目的,以下正确的说法是(B ).
(A).提高程序的执行效率
(B).提高程序的可读性
(C).减少程序的篇幅
(D).减少程序文件所占内存
2 下列说法中错误的是(C ).
(A).构造函数没有类型
(B).创建对象时构造函数自动被调用
(C).在一个类中,只能定义一个构造函数
(D).构造函数的函数名与类同名
3 下面不正确的字符串常量是 (A ).
字符串长度判断(A).abc'
(B)."12'12"
(C)."0"
(D)." "
4 设有定义char str[]="abcde",则下列语句中能正确输出字符串的是(B  ).
(A).cout<<str[];
(B).cout<<str;
(C).cout<<&str;
(D).cout<<str[0];
5 以下能对一维数组a进行正确初始化的语句是(C ).
(A).int a[10]=(0,0,0,0,0)
(B).int a[10]={};
(C).int a[]={0};
(D).int a[10]={10*1};
6 下列选项中合法的实型常数是(C  ).
(A).5E2.0
(B).E-3
(C).1.2E1
(D).1.3E
7 以下标识符中,不能作为合法的C用户定义标识符的是( A ).
(A).return
(B).-double
(C).-123
(D).INI
8 以下语句中,循环次数不为10次的语句是(A  ).
(A).for(i=1;i<10;i++);
(B).i=1;do{i++;}while(i<=10);
(C).i=10;while(i>0){--i;}
(D).for(i=10;i>0;i--);
9 在定义构造数据类型时,不能(D  ).
(A).说明变量
(B).说明存储类型
(C).初始化
(D).末尾不写分号
10 下列程序段的输出结
果为( C ). #include <iostream.h>
void main()
{
int x=3,y=2;
cout<<(x-=y,x*=y+8/5);
}
(A).1
(B).7
(C).3
(D).5
11 假定AB为一个类,则执行"AB a(4),b[5],*p[2];"语句时,自动调用该类构造函数的次数为 D
(A).11
(B).9
(C).7
(D).6
12 关于成员函数重载,说法正确的是 C
(A).就是在类中设计多个函数名相同,参数个数及参数类型也相同的函数
(B).析构函数可以重载
(C).函数重载,要求函数名相同,但参数个数不同,或参数相同,但其类型不同
(D).构造函数不可重载
13 以下叙述中不正确的是(A )
(A).类中的数据成员可以是私有或共有的,而类中的成员函数必须是公有的
(B).拷贝构造函数的作用是使用一个已经存在的对象去初始化一个新的同类的对象
(C).类中的构造函数可以重载,而析构函数不能重载
(D).构造函数和析构函数都应是类的公有成员函数
14 ( B )是处理文件I/O操作的类.
(A).istream
(B).fstream
(C).ofstream
(D).iostream
15 下列函数中,( C )不能重载.
(A).成员函数
(B).非成员函数
(C).析构函数
(D).构造函数
16 软件工程要解决的问题是 D
(A).如何编写出高效的程序
(B).证明所开发软件的正确性
(C).研究各种算法
(D).如何用工程化的方法开发和维护软件
17 每个类( C )构造函数.
(A).只能有一个
(B).只可有公有的
(C).可以有多个
(D).只可有缺省的
18 下列描述中,( C )是错误的.
(A).内联函数主要解决程序的运行效率问题;
(B).内联函数的定义必须出现在内联函数第一次被调用之前;
(C).内联函数中可以包括各种语句;
(D).对内联函数不可以进行异常接口声明;
19 假设person是一个类,p、q是它的不同对象,有函数f(person x),下列过程中没有调用拷贝构造函数的是 D
(A).person p(q);
(B).person p=q;
(C).q=f(p);
(D).person p(10);
20按照软件工程的观点,下面说法中( )符合好的编程风格 A
(A).代码逻辑简明、清晰,可读性好
(B).为追求效率,可以不考虑可读性
(C).编程的技巧性越高越好
(D).只要程序运行正确就行
21 数据对象是具有相同性质的( B )的集合.
(A).数据项
(B).数据元素
(C).数据
(D).数据结构
22 对于一个栈,设输入序列为1、2、3、4、5,则( B )不可能是栈的输出序列.
(A).2、3、4、1、5
(B).5、4、1、3、2
(C).2、3、1、4、5
(D).1、5、4、3、2
23. 设哈希函数h(k)=k%13,哈希表地址范围为0~12.现在,地址为4,5,6,7的单元已被占用,其余地址单元为空,如果用平方探查开放地址法解决冲突,则关键字45的哈希地址是(C  )
(A).6
(B).9
(C).10
(D).7
24. 在以下排列算法中,从待排序序列中挑选元素,并将其放入已排序序列的一端,称为( A )
(A).选择排序
(B).归并排序
(C).插入排序
(D).交换排序
25. 在完成出对或读队头元素操作时,( A )
(A).必须判断队是否
为空
(B).必须判断队是否为满
(C).要判别队列元素的类型
(D).不必做任何判断
26. 共有三层节点的满二叉树有( B )个节点
(A).6
(B).7
(C).8
(D).不确定
27. 评价算法的两个主要标准是 C
(A).正确性和简明性
(B).可读性和文档性
(C).空间复杂度和时间复杂度
(D).数据复杂度和程序复杂度
28. ( A )是数据的几本单位.
(A).数据元素
(B).数据项
(C).对象数据
(D).一个字母
29. 设p指向单链表中的一个结点,如果要把由q指向的结点插到p所指向的结点的后面,需要的操作是( D )
(A).p->next=q;q->next=p->next;
(B).q->next=p->next;p=q;
(C).q->next=p->next;p->next= q->next;
(D).q->next= p->next ; p->next=q;
30. 顺序查的平均查长度为(C  )
(A).n
(B).n/2
(C).(n+1)/2
(D).(n-1)/2

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。