试卷详情
-
二级C++笔试-63
-
[单项选择]下面程序的输出结果是
#include<iostream.h>
#include<string.h>
void main( )
char p1[10],p2[10]
strcpy(p1,"abc");
strcpy(p2,"ABC");
char str[50]="xyz";
strcpy(str+2,strcat(p1,p2));
cout<<str;
A. xyzabcABC
B. zabcABC
C. xyabcABC
D. yzabcABC
-
[填空题]如果类B继承了类A,则称类A为类B的基类,类B称为类A的 【10】 。
-
[填空题]设i,j,k均为int型变量,则执行完for(i=0,j=10;i<=j;i++,j--)k=i+j语句后,k的值为 【8】 。
-
[单项选择]C)操作数除以4
A. 操作数乘以2
B. 操作数除以2
-
[单项选择]C++语言中,表示一条语句结束的标号是
A. #
B. ;
C. //
-
[单项选择]如果友元函数重载一个运算符时,其参数表中没有任何参数则说明该运算符是
A. 一元运算符
B. 二元运算符
C. 选项A) 和选项B) 都可能
D. 重载错误
-
[单项选择]以下叙述中正确的是
A. 构成C++语言程序的基本单位是类
B. 可以在一个函数中定义另一个函数
C. main( )函数必须放在其他函数之前
D. 所有被调用的函数一定要在调用之前进行定义
-
[单项选择]在深度为5的满二叉树中,叶子结点的个数为
A. 32
B. 31
C. 16
D. 15
-
[单项选择]B,)先进的软件开发工具和环境
A. 操作系统的资源管理功能
B. 程序入员的数量
C. 计算机的并行处理能力
-
[单项选择]下面程序输出的结果是
#include<iostream.h>
void main( )
int i;
int a[3][3]=1,2,3,4,5,6,7,8,9;
for(i=0;<3;i++)
cout << a[2-i][i]<<" ";
A. 1 5 9
B. 7 5 3
C. 3 5 7
D. 5 9 1
-
[单项选择]下面程序段的运行结果是
void main( )
int t,a,b,c;
a=1;b=2;C=2;
while(a<b<c)
t=a;a=b;b=t;c--;
cout << a << "," <<b << "," << c;
A. 1,2,0
B. 2,1,0
C. 1,2,1
D. 2,1,1
-
[单项选择]索引属于
A. 模式
B. 内模式
C. 外模式
D. 概念模式
-
[填空题]数据模型按不同应用层次分成3种类型,它们是概念数据模型、 【5】 和物理数据模型。
-
[填空题]将x+y中的+运算符用友元函数重载应写为 【11】 。
-
[单项选择]在软件测试设计中,软件测试的主要目的是
A. 实验性运行软件
B. 证明软件正确
C. 找出软件中全部错误
D. 发现软件错误而执行程序
-
[单项选择]若某二叉树的前序遍历访问顺序是abdgcefh,中序遍历访问顺序是dgbaechf,则其后序遍历的结点访问顺序是
A. bdgcefha
B. gdbecfha
C. bdgaechf
D. gdbehfca
-
[单项选择]函数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的长度之和
-
[单项选择]有以下结构体说明和变量的定义,且指针p指向变量a,指针q指向变量b。则不能把结点b连接到结点a之后的语句是
struct node
char data;
struct node*next;
a,b,*p=&a,*q=&b;
A. next=q;
B. next=&b;
C. p->next=&b;
D. (*p).next=q;
-
[单项选择]下列程序中画线处应填入的语句是
class Base
public:
void fun( )cout<<"Base of fun"<<end1;
;
class Derived:public Base
void fun( )
______//显示基类的成员函数fun
cout<<"Derived of fun"<<end1;
;
A. fun( );
B. Base.fun( );
C. Base: :fun( );
D. Base->fun( );
-
[单项选择]数据库系统的核心是
A. 数据库
B. 数据库管理系统
C. 模拟模型
D. 软件工程
-
[单项选择]在重载一个运算符时,如果其参数表中有一个参数,则说明该运算符是
A. 一元成员运算符
B. 二元成员运算符
C. 一元友元运算符
D. 选项B) 和选项C) 都可能
-
[单项选择]一些重要的程序语言(如c语言和Pascal语言)允许过程的递归调用。而实现递归调用中的存储分配通常用
A. 栈
B. 堆
C. 数组
D. 链表
-
[填空题]面向对象的模型中,最基本的概念是对象和 【3】 。
-
[单项选择]下列关于C++语言类的描述中错误的是
A. 类用于描述事物的属性和对事物的操作
B. 类与类之间通过封装而具有明确的独立性
C. 类与类之间必须是平等的关系,而不能组成层次结构
D. 类与类之间可以通过一些方法进行通信和联络
-
[单项选择]下列描述中哪个是正确的
A. 私有派生的子类无法访问父类的成员
B. 类A的私有派生子类的派生类C无法初始化其祖先类A对象的属性,因为类A的成员对类C是不可访问的
C. 私有派生类不能作为基类派生子类
D. 私有派生类的所有子孙类将无法继续继承该类的成员
-
[填空题]在树形结构中,树根结点没有 【1】 。
-
[单项选择]下述关于数据库系统的叙述中正确的是
A. 数据库系统减少了数据冗余
B. 数据库系统避免了一切冗余
C. 数据库系统中数据的一致性是指数据类型一致
D. 数据库系统比文件系统能管理更多的数据
-
[简答题]下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除,在划线处应填入的选项是
#include <iostream.h>
void main( )
int i=0,j,k;
doi++;k=316-13*i;while(______);
j=k/11;
cout<<"316=13*"<<i<<"+11*"<<j;
-
[单项选择]软件工程的理论和技术性研究的内容主要包括软件开发技术和
A. 消除软件危机
B. 软件工程管理
C. 程序设计自动化
D. 实现软件可重用
-
[填空题]Jackson结构化程序设计方法是英国的M.Jackson提出的,它是一种面向 【2】 的设计方法。
-
[单项选择]若定义int k=7,x=12;,则能使值为3的表达式是
A. x%=(k%=5)
B. x%=(k-k%5)
C. x%=k-k%5
D. (x%=k)-(k%=5)
-
[填空题]软件设计模块化的目的是 【4】 。
-
[单项选择]下面程序的结果为
#include<iostream.h>
int c;
class A
private:
int a;
static int b;
public:
A( ) a=0;c=0;
void seta( )a++;
void setb( )b++;
void setc( )c++;
void display( ) cout << a << " " << b << " " << C;
;
int A: :b=0;
void main( )
A a1,a2;
a1.seta( );
a1.setb( );
a1.setc( );
a2.seta( );
a2.setb( );
a2.setc( );
a2.display( );
A. 1 2 1
B. 1 2 2
C. 1 1 2
D. 2 2 2
-
[填空题]派生类的成员一般分为两部分,一部分是 【6】 ,另一部分是自己定义的新成员。
-
[单项选择]设有数组定义:char array[ ]="China";,则数组array所占的空间为
-
[单项选择]一个类的友元函数能够访问该类的
A. 私有成员
B. 保护成员
C. 公有成员
D. 所有成员
-
[单项选择]以下程序的输出结果是
#include<iostream.h>
void main( )
int x=1,y=3;
cout << x++ << ",";
int x=0;x+=y*2;
cout <<X <<"," <<y << ",";
cout << x <<","<< y;
A. 1,6,3,1,3
B. 1,6,3,6,3
C. 1,6,3,2,3
D. 1,7,3,2,3
-
[填空题]如果要把返回值为void的函数A声明为类B的友元函数,则应在类B的定义中加入的语句是
【9】 。
-
[单项选择]下列关于模板的说法正确的是
A. 模板的实参在任何时候都可以省略
B. 类模板与模板类所指的是同一概念
C. 类模板的参数必须是虚拟类型的
D. 类模板中的成员函数全部都是模板函数
-
[填空题]下列程序段的输出结果是 【15】 。
cout << fixed<<509.123456789<<end1;
-
[单项选择]表示在输出时显示小数位,和在文件输入时判断文件尾的函数分别是
A. showbase( )和eof( )
B. showpoint( )和eof( )
C. showpoint( )和bad( )
D. showpoint( )和good( )
-
[简答题]以下程序的输出结果是
#include<iostream.h>
void reverse(int a [ ] ,int n)
int i,t;
for(i=0;i<n/2;i++)
t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;
void main( )
int b[10]=1,2,3,4,5,6,7,8,9,10;int i,s=0;
reverse(b,8);
for(i=6;i<10;i++)s+=b[i];
cout << S;
-
[单项选择]数据处理的最小单位是
A. 数据
B. 数据元素
C. 数据项
D. 数据结构
-
[填空题]已知程序的结果为1 2 3,请填空。
#include<iostream.h>
template<class T>
class A
public:
T x,y,Z;
void display( ) cout << x << " " << y << " " << z;
;
void main( )
A<int>a1;
【12】
【13】
【14】
a1.display( );
-
[填空题]以下程序输出的结果是 【7】 。
#include<iostream.h>
void main( )
int a=5,b=4,c=3,d;
d=(a>b>C) ;
cout<<d;
-
[单项选择]已知有定义
const int D=5;
int i=1;
double f=0.32;
char c=15;
则下列选项错误的是
A. ++i;
B. D--;
C. c++;
D. --f
-
[单项选择]若已定义:
int a[ ]=0,1,2,3,4,5,6,7,8,9,*p=a,i;
其中0≤i≤9,则对a数组元素不正确的引用是
A. a[p-a]
B. *(&a[i])
C. p[i]
D. a[10]
-
[单项选择]下列关于构造函数说法不正确的是
A. 构造函数必须与类同名
B. 构造函数可以省略不写
C. 构造函数必须有返回值
D. 在构造函数中可以对类中的成员进行初始化