现在的位置: 首页 > 综合 > 正文

厦门亿联网络2013校园招聘C++软件工程师笔试题(2012-10-17)

2013年12月20日 ⁄ 综合 ⁄ 共 1373字 ⁄ 字号 评论关闭

1、现在小明一家过一座桥,过桥时候是黑夜,所以必须有灯.现在小明过桥要1秒,小明的弟弟要3秒,小明的爸爸要6秒,小明的妈妈要8秒,小明的爷爷要12秒。每次过桥只能过2人,两人过桥的速度以最慢者为定。还有过桥后要已过桥的其中一人送灯也算秒速,而灯在30秒后就会熄灭,过桥时不能没有灯。问小明一家怎样过桥?

2、A、B、C、D四个人,他们分别来自英、法、德、美四个国家,现已知德国人是医生,美国人年龄最小且是警察,C比德国人年纪大,B是法官且是英国人的朋友,D从未学过医,由此判断C来自哪里

3、 8瓶酒一瓶有毒,用人测试。每次测试结果8小时后才会得出,而你只有8个小时的时间。问最少需要几个人测试?写出运算过程。

4、 下面程序输出什么结果

#include <iostream>
extern char ext_String[] = "hello yealink!";
char * func()
{
	char func_String [] ="hello yealink!";
	return func_String;
}
int main()
{
	static char sta_String[] = "hello yealink!";
	char *func_String = func();
	cout<<"Static: "<<sta_String+6<<endl;
	cout<<"Extern: "<<ext_String+6<<endl;
	cout<<"Temp: "<<func_String+6<<endl;
        return 0;
}

5、指出下面程序的错误,并改正

class A
{
public:
	void func()
	{
		m_str = NULL;
		m_str = new char[128];
		m_str = 'a';
		delete m_str;
	}
private:
	char *m_str;
};
int main()
{
	A a;
	A *p = NULL;
	{
		p = &a;
		p->func();
	}
	return 0;
}

6、写出下面程序的输出结果。

class Father
{
public:
	void name(){cout<<"Father name"<<endl;}
	virtual void call(){cout<<"Father call"<<endl;}
};
class Son:public Father
{
public:
	void name(){cout<<"Son name"<<endl;}
	virtual void call(){cout<<"Son call"<<endl;}
};
int main()
{
	Son *s1 = new Son();
	Father *f1 = (Father *)s1;
	f1->call();
	f1->name();
	((Son*)f1)->call();
	((Son*)f1)->name();
	Father *f2 = new Father();
	Son *s2 = (Son*)f2;
	s2->call();
	s2->name();
	((Father*)s2)->call();
	((Father*)s2)->name();

	return 0;
}

7、编写程序,将字符串转换为数字,函数原型 bool strToNum( char *pStr, int &num),pStr是输入的字符串,num为转换后的结果,返回值表示转换成功或失败。

8、有一个写者多个读者,可以有多个读者同时读,但是在读者读时不允许写,在写者写时不允许读。请编写程序实现。

抱歉!评论已关闭.