试卷详情
-
国家计算机二级(C++)75
-
[单项选择]有以下程序
main( )
{int y=10;
while(y--);printf("y=%d/n",y);
}
程序执行后的输出结果是______。
A. y=0
B. y=-1
C. y=1
D. while
-
[单项选择]下列定义中p指向的地址可更改,但* p不能够更改的是( )。
A. 用于输入的友元函数
B. 用于输入的成员函数
C. 用于输出的友元函数
D. 用于输出的成员函数
-
[单项选择]下列关于栈的叙述正确的是
A. 栈按“先进先出”组织数据
B. 栈按“先进后出”组织数据
C. 只能在栈底插入数据
D. 不能删除数据
-
[单项选择]有以下程序:
main( )
{ int num[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},i,j;
for(i=0;i<4;i++)
{ for(j=0;j<=i;j++) printf("%4c",’’ ’’); for(j=_____;j<4;j++) printf("%4d",num[i][j]); printf("/n");
}
}
若要按以下形式输出数组右上半三角
1 2 3 4
6 7 8
11 12
16
则在程序下划线处应填入的是______。
A. i-1
B. i
C. i+1
D. 4-i
-
[单项选择]有以下程序:
main( )
{
int p[8]={11,12,13,14,15,16,17,18},i=0,j=0; while(i++<7) if(p[i]%2) j+=p[i]; printf("%d/n",j);
}
程序运行后的输出结果是______。
A. 42
B. 45
C. 56
D. 60
-
[单项选择]下面关于数组的初始化正确的是( )。
A. 0
B. 22
C. 12
D. 10
-
[单项选择]下列语句中,错误的是【 】
A. const int buffer=256;
B. const double*point;
C. int const buffer=256;
D. double*const point;
-
[单项选择]派生类对象对其基类中的什么成员是可访问的
A. 公有继承的私有成员
B. 私有继承的公有成员
C. 私有继承的保护成员
D. 保护继承的保护成员
-
[单项选择]软件设计中模块划分应遵循的准则是
A. 低内聚低耦合
B. 高内聚低耦合
C. 低内聚高耦合
D. 高内聚高耦合
-
[单项选择]以下程序的输出结果是( )。
#include<iostream.h>
void main( )
{ int a=21,b=11;
cout<<- -a+b;}
A. 30
B. 31
C. 32
D. 33
-
[单项选择]下列运算符中,不能被重载的是
A. &&
B. !=
C. .
D. ++
-
[单项选择]以下叙述中正确的是______。
A. 预处理命令行必须位于源文件的开头
B. 在源文件的一行上可以有多条预处理命令
C. 宏名必须用大写字母表示
D. 宏替换不占用程序的运行时间
-
[单项选择]在公有派生的情况下,派生类中定义的成员函数只能访问原基类的【 】
A. 公有成员和私有成员
B. 私有成员和保护成员
C. 公有成员和保护成员
D. 私有成员、保护成员和公有成员
-
[单项选择]以下哪个基类中的成员函数表示纯虚函数
A. 4
B. -4
C. 32004
D. 0
-
[填空题]下列程序的输出结果是【 】
#include<iostream>
using namespace std;
template<typenameT>
Tfun(Ta,TB) {return (a<=B) a:b;}
int main ( )
{
cout<<fun(3,6)<<’’,’’<<fun(3.14F,6.28F)<<end1;
return 0;
}
-
[单项选择]若有说明int a[3][4];,则a数组元素的非法引用是( )。
A. a[0][2*1]
B. a[1][3]
C. a[4-2][0]
D. a[0][4]
-
[单项选择]下列叙述中正确的是______。
A. 程序设计就是编制程序
B. 程序的测试必须由程序员自己去完成
C. 程序经调试改错后还应进行再测试
D. 程序经调试改错后不必进行再测试
-
[单项选择]一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树中的总结点数为
A. 219
B. 221
C. 229
D. 231
-
[单项选择]下面程序输出的结果是( )。
#include<iostream.h>
void main( )
{ int i;
int a[3][3]={1,2,3,4,5,6,7,8,9};
for(i=0;i<3;i++)
cout<<a[i][i]<<" ";}
A. 1~5
B. 1~6
C. 5~10
D. 6~10
-
[单项选择]在E-R图中,用来表示实体的图形是______。
A. 矩形
B. 椭圆形
C. 菱形
D. 三角形
-
[填空题]有如下定义:
class MA{
int value ;
public:
MA(int n=0)。value(n){}
};
MA*ta,tb
其中MA类的对象名标识符是______。
-
[单项选择]有以下程序
main( )
{int c=35;printf("%d/n",c&c);}
程序运行后的输出结果是______。
A. 0
B. 70
C. 35
D. 1
-
[填空题]已知字符A的ASCII代码值为 65,以下程序运行时若从键盘输入B33<回车>,则
输出结果是_________。
#include
main( )
{ char a,b; a=getchar( );scanf("%d",&b); a=a-’’A’’+’’0’’;b=b*2;
printf("%c %c/n",a,b);
}
-
[填空题]C++语言的参数传递机制包括传值和传地址两种,如果调用函数时,需要改变实参或者返回多个值,应该采取【 】方式。
-
[单项选择]关于动态存储分配,下列说法正确的是【 】
A. new 和 delete是C++语言中专门用于动态内存分配和释放的函数
B. 动态分配的内存空间也可以被初始化
C. 当系统内存不够时,会自动回收不再使用的内存单元,因些程序中不必用delete释放内存空间
D. 当动态分配内存失败时,系统会立刻崩溃,因此一定要慎用new
-
[单项选择]若有语句int * point,a=4;和point=&a;下面均代表地址的一组选项是( )。
A. 选择查询
B. 参数查询
C. 交叉表查询
D. 操作查询
-
[单项选择]下列程序的运行结果为( )。
#include<iostream.h>
class Location {
protected:
int X,Y;
publiC://
void SeX(int myx){X=myx;}
void SetY(int myy){Y=myy;}
void showxy( ) {cout<<"X=" <<X<<" " <<"Y"=<< Y<<
endl;} };
Class Rectangle :public Location{
private:
int H,W;
public:
void SetH(int myh){H=myh;}
void SetW(int myw) {W=myw;}
void show( ) {cout <<"X="<<X<<" "<<"Y="<<"<<
Y<<" "<<"H="<< H<<" " <<"W=" <<W
<<endl;} };
void main( )
{ Rectangle r1;
r1.SetX(3);
r1.SetY(5);
r1.SetH(4);
r1.SetW(6);
r1.showxy( );
r1. show( );}
A. ThisForm.Text1.Value
B. ThisForm.Parent.Value
C. Parent.Text1.Value
D. This.Parent.Text1.Value
-
[填空题]以下程序的功能是输入任意整数给 n 后,输出 n 行由大写字母 A 开始构成的三角形 字符阵列图形。例如,输入整数 5 时(注意:n 不得大于 10),程序运行结果如下:
A B C D E F G H I
J K L M N O
请填空完成该程序。
main( )
{ int i,j,n; char ch=’’A’’;
scanf("%d",&n);
if(n<11)
{ for(i=1;i<=n;i++)
{ for(j=1; j<=n-i+1;j++)
{ printf("%2c",ch);
_______ ;
}
_______ ;
}
}
else printf ("n is too large!/n");
printf("/n");
}
-
[填空题]指针数组是由【 】构成的数组。
-
[填空题]测试用例包括输入值集和【 】值集。
-
[单项选择]有以下类定义
classPoint{
public:
Point(int x=0,int y=0){_x=x;_y=y;}
void Move (int xOff,int yOff
{_x +=xOff;_y+yOff}
void Print( ) const
{cout<<’’(’’<<_x<<’’,’’<<_y<<’’)’’<<endl;}
private:
int_x_y;
};
下列语句中会发生编译错误的是【 】
A. Pointpt;pt;Print();
B. const Point pt;pt.Print();
C. Pointpt;pt.Move(1,2);
D. const Point pt;pt.Move(1,2);
-
[填空题]以下程序运行后的输出结果是_________。
void swap(int x,int y)
{ int t;
t=x;x=y;y=t;printf("%d %d ",x,y);
}
main( )
{ int a=3,b=4;
swap(a,b); printf("%d %d",a,b);
}
-
[单项选择]数据库技术的根本目标是要解决数据的【 】
A. 存储问题
B. 共享问题
C. 安全问题
D. .保护问题
-
[填空题]以下程序运行后的输出结果是 _______ 。
fun(int a)
{ int b=0; static int c=3; b++;c++; return(a+b+c);
}
main( )
{ int i,a=5;
for(i=0;i<3;i++) printf("%d%d",i,fun(a));
printf("/n");
}
-
[单项选择]下列描述中哪个是正确的
A. 私有派生的子类无法访问父类的成员
B. 类A的私有派生子类的派生类C无法初始化其祖先类A对象的属性,因为类A的成员对类C是不可访问的
C. 私有派生类不能作为基类派生子类
D. 私有派生类的所有子孙类将无法继续继承该类的成员
-
[填空题]已知程序的结果为123,请填空。
#include<iostream.h>
template<classT>
classA
{
public:
Tx,y,z;
voiddisplay( ){cout<<x<<""<<y<<""<<z;= =;
voidmain( )
{
A<int>al;
【 】
【 】
【 】
al.display( );
=
-
[单项选择]有如下程序
#include
using namespace std;
class Base{
protected:
Base( ){cout<<′A′;}
Base(char C){cout<A. B
B. BA
C. AB
D. BB
-
[单项选择]所有在函数中定义的变量,连同形式参数,都属于( )。
A. 局部变量不能被本层模块程序调用
B. 私有变量只能被本层模块程序调用
C. 局部变量能被本层模块和下层模块程序调用
D. 私有变量能被本层模块和下层模块程序调用
-
[填空题]在MyClass类的定义中,对赋值运算符"="进行重载。请将画线处缺失的部分补充完整。【 】 MyClass::operator==(const MyClass&rhs)
{
if(this==&rhs
)return*this;
value=rhs.value;
retum*this;
}
-
[单项选择]有以下程序:
#include
main( )
{ FILE *fp; int i,k,n; fp=fopen("data.dat","w+"); for(i=1;i<6;i++)
{fprintf(fp,"%d ",i);
if(i%3==0) fprintf(fp,"/n");
}
rewind(fp);
fscanf(fp,"%d%d",&k,&n); printf("%d %d/n",k,n);
fclose(fp);
}
程序运行后的输出结果是______。
A. 0 0
B. 123 45
C. 1 4
D. 1 2
-
[单项选择]若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是( )。
A. 联合查询
B. 传递查询
C. 数据定义查询
D. 子查询
-
[填空题]C++语言的基本控制结构为顺序结构、选择结构和【 】。
-
[单项选择]下列函数模板的定义中,合法的是
A. templateT abs(T x){return x<0? -X:x;)
B. template classT abs(T x){return xC. template Tabs(T x)(return xD. template T abs{return x<0 -x:xI)
-
[单项选择]以下叙述中错误的是______。
A. C 程序必须由一个或一个以上的函数组成
B. 函数调用可以作为一个独立的语句存在
C. 若函数有返回值,必须通过 return 语句返回
D. 函数形参的值也可以传回给对应的实参
-
[单项选择]以下程序的输出结果是( )。
#include<iostream.h>
void main( )
{ inti,j,x=0;
for(i=0;i < 2;i++)
{ x++;
for(j=0;j < 3;j++)
{ if (j% 2)continue;
x++;}
x++;}
cout < < "x=" < < x;}
A. x=4
B. x=8
C. x=6
D. x=12
-
[单项选择]派生类继承基类的方式有( )。
A. SEEKN
B. SEEK FOR基本工资=N
C. FIND 1000
D. LOCATE FOR基本工资=N
-
[单项选择]下面程序的执行结果是( )。
#include" iostream.h"
void main( )
{ int * p,r;
p=new in;
* p=20;
r=sizeof(* p);
cout < < r < < end1;
delete p;
}
A. CDate
B. IsDate
C. Date
D. IsText