故本题选B。
关于函数模板,下列表述不正确的是______。
A、用类模板定义一个对象时,不能省略实参
B、类模板只能有虚拟类型参数
C、类模板本身在编译中不会产生任何代码
D、类模板的成员函数都是模板函数
本题考查的是类模板的一些基本概念。
类模板本身在编译时是不产生代码的,只有在其实例化以后才会产生代码。
定义一个对象时,其实参是不能省略的。
故本题选B。
软件的需求分析阶段的工作,可以概括为四个方面:
______、需求分析、编写需求规格说明书和需求评审。
软件的需求分析阶段的工作,可以概括为四个方面:
需求获取、需求分析、编写需求规格说明书和需求评审。
需求获取的目的是确定对目标系统的各方面需求。
涉及到的主要任务是建立获取用户需求的方法框架,并支持和监控需求获取的过程。
需求分析是对获取的需求进行分析和综合,最终给出系统的解决方案和目标系统的逻辑模型。
编写需求规格说明书作为需求分析的阶段成果,可以为用户、分析人员和设计人员之间的交流提供方便,可以直接支持目标软件系统的确认,又可以作为控制软件开发进度的依据。
需求评审是对需求分析阶段的工作进行的复审,验证需求文档的一致性、可行性、完整性和有效性。
在最坏情况下,冒泡排序的时间复杂度为______。
冒泡排序法是一种最简单的交换类排序方法,它是通过相邻数据元素的交换逐步将线性表变成有序。
假设线性表的长度为n,则在最坏的情况下,冒泡排序需要经过n/2遍的从前往后的扫描和n/2遍的从后往前的扫描,需要的比较次数为n(n-1)/2。
设一棵完全二叉树共有500个结点,则在该二叉树中有______个叶子结点。
所谓完全二叉树是指除最后一层外,每一层上的结点数均达到最大值;在最后一层上只缺少右边的若干结点。
具有n个结点的完全二叉树,其父结点数为int(n/2),而叶子结点数等于总结点数减去父结点数。
本题n=500,故父结点数等于int(500/2)=250,叶子结点数等于500-250=250。
面向对象的程序设计方法中涉及的对象是系统中用来描述客观事物的一个______。
面向对象的程序设计方法中涉及的对象是系统中用来描述客观事物的一个实体,是构成系统的一个基本单位,它由一组表示其静态特征的属性和它可执行的一组操作组成。
______是数据库应用的核心。
数据库设计是数据库应用的核心。
在数据库应用系统中的一个核心问题就是设计一个能满足用户要求,性能良好的数据库,这就是数据库设计。
下面程序的功能是将形参x的值转换为二进制数,所得二进制数的每一位数放在一维数组y中返回,二进制的最低位放在放在下标为0的元素中。
请填空。
voidf(intx,inty[])
{
inta=0,b;
do
{
b=x%______;
y[a++]=b;
x/=2;
}while(x);
}
本题考查的是二进制转换的基本算法。
解题思路为:
把十进制转换为二进制每次把十进制数对2求余,然后将其整除2。
所以答案为2。
类继承中,缺省的继承方式是______。
本题考查的是继承的基本概念。
类的继承方式有公有、保护、私有三种。
默认的继承方式为私有继承。
在面向结构程序设计语言中,______是程序组成的基本单位。
本题考查的是面向对象和面向结构两种程序实际方法的区别。
在面向对象程序设计语言中,类是程序组成的基本单位。
面向结构程序设计语言以函数作为程序组成的基本单位。
C++中的多态性分为编译时的多态性和运行时的多态性,其中运行时的多态性是通过______实现的。
本题考查的是多态性的基本概念。
多态性分为编译时多态性和运行时多态。
编译时多态性是通过函数重载实现的,运行时多态性是通过虚函数实现的。
经常和一个运算符连用,构成一个运算符函数名的C++关键字为______。
本题考查的是操作符重载的一些概念。
运算符重载一般是和operator结合使用的。
执行下列程序后,写出程序的输出结果______。
#include
usingnamespacestd;
intmain()
{
inta=3;
int&b=a;
b++;
cout<return0;
}
本题考查的是引用的使用。
引用实际上是为一个为变量起个别名,其后对其的任何操作都相当于对原变量的操作。
所以最后输出4。
C++中预定义标准输入流对象是______。
本题考查的C++的预定义流对象。
C++中有4个标准的流对象。
cin,cout,cerr,clog。
故本题填"cin"。
若要把类FriendClass定义为类MyClass的友元类,则应该在类MyClass的定义中加入语句______。
本题考查的是友元类的声明。
要把一个类声明为另外一个类的友元类,只要在另外一个类中添加如下语句:
friendclass类名;所以本题答案为:
“friendclassFriendClass”。
写出执行完下列程序段以后指定的变量的值:
boolx=true,y=false,z=false;
x=x&&y||z;
y=x||y&&z;
z=!
(x!
=y)||(y==z);
已知x=false,z=true,则y=______。
本题考查的是逻辑变量的运算以及他们之间的优先级关系。
C++语言提供了三种逻辑运算符,它们是:
!
(逻辑非)、&&(逻辑与)、||(逻辑或)。
其中!
为单目运算符,&&和||为双目运算符。
它们之间优先级从高到低依次为:
!
,&&,||。
执行下列语句后,输出结果为______。
intx=0,y=2,z=3;
switch(x)
{
case0:
switch(y)
{
case1:
cout<<'*';break;
case2:
cout<<'%';break;
}
case1:
switch(z)
{
case1:
cou