一,选择
1(C++)关于this 指针的说法错误的是:
A this 指针必须显示说明
B 当创建一个对象后,this指针就指向该对象
C 成员函数拥有this 指针
D 静态成员函数不拥有this 指针
2 (C语言)以下程序的输出结果是:
char str[15]="hello!";
printf("%d\n",strlen(str));
A 6
B 14
C 7
D 15
3(C++)若有以下说明,对n的正确访问语句是:
class Y
{
public:
static int n;
};
int Y::n;
Y objY;
A n=1; B Y::n=1; C objY::n=1; D Y->n;
4 (C语言) 执行下列代码后,结果是:
double result;
result=100/3;
printf("%.2f",result);
A 0.00 B 33.00 C 33.33 D 34.00
5(C) 执行下列代码后,结果是:
int i;
int total=0;
for(i=1;i<100;i++){
total+=i;
}
printf("%d",total);
A 0 B 100 C 4950 D 5050
6(C#)当驶入合并两个非空委托失败时,可以抛出一个()异常
A InvalidCastException
B ArrayTypeMismatchException
C IndexOutOfRangeException
D MulticastNotSupportedException
7(C++) 下面关于虚函数,说法错误的是:
A 析构函数不能被定义为虚函数
B 包含纯虚函数的类不能被实例化
C 虚函数可以被定义为Protected 的
D 多态通常是借助于虚构函数来实现的
8(C语言) 以下不能正确定义二维数组的是:
A int a[2][2]={{1},{2}};
B int a[][2]={1,2,3,4};
C int a[2][2]={{1},2,3,4};
D int a[2][]={{1,2},{3,4}};
9(C语言) 执行下面代码,结果:
unsigned char v=1;
int i;
for(i=0;i<10;i++){
v*=2;
}
printf("%d",v);
A 0 B 1 C 512 D 1024
10(C语言) 执行下面代码,结果:
int checkNumber(int *n)
{
if(*n==0)
reuturn 0;
else if(*n>0)
return --(*n);
else
return ++(*n);
}
int x=-8;
int i=0;
while(checkNumber(&x))
{
i++;
}
printf("%d,%d",x,i);
A -1 7 B -1 8 C 0 7 D 0 8
12 -14 略
15 (软件工程)在软件开发的V模型中,应该在_____阶段指定单元测试计划。
A 需求分析 B 概要设计 C 详细设计 D代码编写
二:填空题
1 在16 bit 环境下,int 类型数据占__个字节,short 类型占___个字节。
2 class Sample
{ int x,y; public : Sample(){x=y=0;} Sample(int a,int b){x=a,y=b;} void disp(){ cout<<"x="<<x<<",y="<<y<<endl; } } int _main(int argc,_TCHAR* argv[]){ Sample s(2,3),*p=&s; p->disp(); return 0; }
{ int x; public : Sample(int a){ x=a; cout<<"constructing object :x="<<x<<endl; } } void func(int n){ static Sample obj(n); } int _main(int argc,_TCHAR* argv[]){ func(1); func(10); return 0; }
执行结果:
void func(){ int b=10; char *p=(char *)malloc(32); }