c++绝版面试题--9.7(9)

2020-02-22 13:13

arr[k] = arr[k + 1]; arr[k + 1] = temp; } } } }

183. 以下两条输出语句分别输出什么?[C++难] float a = 1.0f;

cout << (int)a << endl; cout << (int&)a << endl;

cout << boolalpha << ( (int)a == (int&)a ) << endl; // 输出什么? float b = 0.0f;

cout << (int)b << endl;

cout << (int&)b << endl;

cout << boolalpha << ( (int)b == (int&)b ) << endl; // 输出什么? 1

1065353216 boolalpha0 0 0

boolalpha1

51. 以下反向遍历array数组的方法有什么错误?[STL易] vector array;

array.push_back( 1 ); array.push_back( 2 );

array.push_back( 3 );

for( vector::size_type i=array.size()-1; i>=0; --i ) // 反向遍历array数组 {

cout << array[i] << endl; }

184 写一个函数,完成内存之间的拷贝。[考虑问题是否全面] 答:

void* mymemcpy( void *dest, const void *src, size_t count ) {

char* pdest = static_cast( dest );

const char* psrc = static_cast( src ); if( pdest>psrc && pdest

for( size_t i=count-1; i!=-1; --i ) pdest[i] = psrc[i]; }

else

{

for( size_t i=0; i

return dest; }

int main( void ) {

char str[] = \ mymemcpy( str+1, str+0, 9 ); cout << str << endl;

system( \ return 0; }

185 对于C++中类(class) 与结构(struct)的描述正确的为:

A,类中的成员默认是private的,当是可以声明为public,private 和protected, 结构中定义的成员默认的都是public;

B,结构中不允许定义成员函数,当是类中可以定义成员函数;

C,结构实例使用malloc() 动态创建,类对象使用new 操作符动态分配内存; D,结构和类对象都必须使用new 创建;

E,结构中不可以定义虚函数,当是类中可以定义虚函数. F,结构不可以存在继承关系,当是类可以存在继承关系. 答:A,D,F

186.两个互相独立的类:ClassA 和 ClassB,都各自定义了非静态的公有成员函数 PublicFunc() 和非静态的私有成员函数 PrivateFunc();

现在要在ClassA 中增加定义一个成员函数ClassA::AdditionalPunction(ClassA a,ClassB b);则可以在AdditionalPunction(ClassA x,ClassB y)的实现部分(函数功能体内部)

出现的合法的表达是最全的是:

A,x.PrivateFunc();x.PublicFunc();y.PrivateFunc();y.PublicFunc(); B,x.PrivateFunc();x.PublicFunc();y.PublicFunc(); C,x.PrivateFunc();y.PrivateFunc();y.PublicFunc(); D,x.PublicFunc();y.PublicFunc(); 答:B

186.C++程序下列说法正确的有:

A,对调用的虚函数和模板类都进行迟后编译.

B,基类与子类中函数如果要构成虚函数,除了要求在基类中用virtual 声名,而且必须名字相同且参数类型相同返回类型相同

C,重载的类成员函数都必须要:或者返回类型不同,或者参数数目不同,或者参数序列的类

型不同.

D,静态成员函数和内联函数不能是虚函数,友员函数和构造函数也不能是虚函数,但是析构函数可以是虚函数. 答:A

***************************************************************************

187 头文件的作用是什么?

答:一、通过头文件来调用库功能。在很多场合,源代码不便(或不准)向用户公布,只要向用户提供头文件和二进制的库即可。用户只需要按照头文件中的接口声明来调用库功能,而不必关心接口怎么实现的。编译器会从库中提取相应的代码。

二、头文件能加强类型安全检查。如果某个接口被实现或被使用时,其方式与头文件中的声明不一致,编译器就会指出错误,这一简单的规则能大大减轻程序员调试、改错的负担。

188、以下为Windows NT下的32位C++程序,请计算sizeof的值(10分)

char str[] = “Hello” ; char *p = str ; int n = 10; 请计算

sizeof (str ) = 6 (2分)

sizeof ( p ) = 4 (2分)

sizeof ( n ) = 4 (2分)void Func ( char str[100]) {

请计算

sizeof( str ) = 4 (2分) }

void *p = malloc( 100 ); 请计算

sizeof ( p ) = 4 (2分)

3写出下列程序的运行结果。

unsigned int i=3; cout<

189.写出下列程序所有可能的运行结果。 int a; int b; int c;

void F1() {

b=a*2; a=b; }

void F2() { c=a+1; a=c; }

main() { a=5;

//Start F1,F2 in parallel F1(); F2();

printf(\}a=11

190一个链表的操作,注意代码的健壮和安全性。要求: (1)增加一个元素; (2)获得头元素;

(3)弹出头元素(获得值并删除)。

191.unsigned short array[]={1,2,3,4,5,6,7}; int i = 3;

*(array + i) = ? 答: 4 192 class A {

virtual void func1(); void func2(); }

Class B: class A {

void func1(){cout << \

virtual void func2(){cout << \}

A, A中的func1和B中的func2都是虚函数.

B, A中的func1和B中的func2都不是虚函数.

C, A中的func2是虚函数.,B中的func1不是虚函数. D, A中的func2不是虚函数,B中的func1是虚函数. 答: A

193输出下面程序结果。 #include class A {

public:

virtual void print(void) {

cout<<\ } };

class B:public A {

public:

virtual void print(void) {

cout<<\ };

};

class C:public B

{

public:

virtual void print(void) {

cout<<\ } };

void print(A a) {

a.print(); }

void main(void) {

A a, *pa,*pb,*pc; B b; C c;


c++绝版面试题--9.7(9).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: