您的位置:首页 > 其它

浙商银行2011笔试题+答案解析

2012-08-13 15:04 363 查看
1、下列4行代码是否有错误,若有错误请指出,若没有,请确定a的值是多少?

int main(void)

{

int a = 3;

a += (a++);

a += (++a);

(++a) += (a++);

(a++) += a;

return 0;

}

2、下面代码的输出是多少?

int main(void)

{

FILE *fp;

char str[100];

fp=fopen("myfile.dat","w");

fputs("abc",fp);

fclose(fp);

fp=fopen("myfile.dat","a+");

fprintf(fp,"%d",28);

rewind(fp);

fscanf(fp,"%s",str);

puts(str);

fclose(fp);

return 0;

}

3、下面代码的输出是()

class Myclass

{

public:

Myclass(int n) { number = n;}

Myclass(Myclass &other)

{

number = other.number;

cout<<"a ";

}

private:

int number;

};

Myclass fun(Myclass p)

{

Myclass temp(p);

return temp;

}

int main(void)

{

Myclass obj1(10),obj2(0);

Myclass obj3(obj1);

obj2=fun(obj3);

return 0;

}

A、a a a B、a a a a C、a a D、a

4、下面代码的输出是()

class Myclass

{

public:

Myclass(int n) { number = n;}

Myclass(Myclass &other)

{

number = other.number;

cout<<"a ";

}

private:

int number;

};

Myclass fun(Myclass &p)

{

Myclass temp(p);

return temp;

}

int main(void)

{

Myclass obj1(10),obj2(0);

Myclass obj3(obj1);

obj2=fun(obj3);

return 0;

}

A、a a a B、a a a a C、a a D、a

5、下面错误的是()

A、define N 10;

int x
;

B、int N = 10;

int x
;

C、int x[0..10];

D、int x[];

简答题:

1、abstract class 和interface的区别?

2、数据库中索引的作用的什么?什么情况下适合建立索引及什么情况下不适合建立索引?

3、黑盒测试和白盒测试的优缺点各是什么?

参考答案(欢迎讨论) 转载请注明来源 http://www.cnblogs.com/jerry19880126/

编译错误,第七行后缀++是右值,只能位于等号的右边(左值既可以位于等号的左边,亦可以位于等号的右边)。

abc28。有几个知识点:fputs是向文件中写入,而puts是向屏幕输出。fopen方式有w、r和a三种,w是覆盖写入(不支持读文件内容),若文件不存在,则新建一个;r是以只读方式打开文件,不能对文件写入,若文件不存在,则出错;a是以追加方式打开文件(不支持读文件内容),不覆盖文件原内容,跟在原内容的后面进行写入,若文件不存在,也会新建一个。本程序有两个fopen,第一个以写方式打开(因为之前不存在文件,所以会直接新建一个文件);第二个fopen是以a+方式打开的,’+’表示在追加写入的基础上,还可以读取文件内容。rewind是重置文件指针,将指针指向文件开头。因此,文件首先有内容abc,然后追加写入后的结果是abc28,重置指针后,读入str里的内容是abc28,puts将之写入到标准输出(显示器)中。

B。调用了四次拷贝构造函数,第一次是main中的Myclass obj3(obj1),第二次是实参obj3到fun形参p,第三次是fun中的temp,第四次是函数返回时,temp到临时变量(临时变量再到obj2调用的是’=’运算符,不是拷贝构造函数)。

A。与第3题不同的是fun的形式参数是引用,传入的直接是实参的地址,所以不调用拷贝构造函数了。其他地方是一样的。

BCD。只有A是对的,宏可以,另外const int N = 10; int x
;也是可以的。除此以外,都需要动态分配空间。D要有初始化元素时才可以这样写,比如int x[] = {1,2,3},这样编译器就知道[]里应该填3。

简答题:

这个是java的题,c++里面没有interface,但有abstract class,当一个类中包含有纯虚函数时,这个类就是abstract class。下面从java语法角度来回答这个问题,可以分成三块还说:从成员变量角度,接口必须定义成public static final,而抽象类无此要求;从构造方法角度,接口不能有任何的构造方法,但抽象类可以有构造方法(但不能用构造方法直接生成抽象类对象,这个构造方法是用于子类调用的);从成员函数(方法)角度,接口中所有方法都是抽象的(没有函数体),若不是所有方法都为抽象,就是抽象类。

索引好比目录,用于快速查找。当数据表较大且不经常进行批量更新时,适合建立索引;反之不适合建立索引。

从效率、成本、范围覆盖和设计角度来说。黑盒测试效率高,不要求测试人员熟悉编程语言和代码,因而成本也低。黑盒测试的范围覆盖不全面,程序未执行的代码无法发现,测试用例的设计也比较困难。黑盒的优点就是白盒的缺点,而黑盒的缺点就是白盒的优点。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: