2014网易游戏TTT笔试(中山大学,可能不全哦,我回忆的)

答案仅供参考,有错误欢迎指正。

1.求1111+2*1111+....+1111*1111对7求余的结果。

556*1111*1111对7求余,每个分别对7求余最后算的结果是5.

2.绕Y轴旋转的旋转矩阵。


3.f(0)=0,f(1)=1,f(n)=(f(n-1)+f(n-2))mod 5求f(2013);

周期为20,答案是3

4.二分查找的时间复杂度,堆排序的空间复杂度。

课本

5.快排的时间复杂度。

课本

6.下面代码的输出结果:

#include <iostream>
#define f(a)  (a)*(a)
using namespace std;
int main()
{
	int a=5,b,c;
	b=f(a++);
	c=f(++a);
	if(!a&&c++)
		b++;
	else
		c++;
	cout<<b<<'\t'<<c<<endl;
}

GCC和VS的结果不同,本来刚开始这么写的,但是后来还是写的GCC上的结果。

VS:25,82.GCC30,82

7.关于断言:

下面是一个断言的声明:

#define asert(e)  if(!e) assert_error(_ERROR_LINE),

这样声明有什么问题?改成下面这样呢?

#define asert(e) {if(!e)assert_error(ERROR_LINE);}

该怎么改才是对的。

8.下面程序输出是什么?

#include <iostream>
using namespace std;
class Base
{
	public:
		~Base()
		{
			cout<<"~Base"<<endl;
		}
};
class Dri:public Base
{
	public:
		~Dri()
		{
			cout<<"~Dri"<<endl;
		}
};
int main()
{
	Base *b=new Dri();
	delete b;
	return 0;
}
~Base
9.在一个低地址的系统中,下面代码输出的结果是:

#include <stdio.h>
struct data
{
	int a;
	short s;
};
int main()
{
	struct data dd;
	dd.s=0x0102;
	char *p=ⅆ
	printf("%d,%d",sizeof(dd),(int)(*(p+4)));
}

p=&dd不知道怎么回事显示有点问题。

8,2

10.下面调用多少次fork(),打印几个'-'

#include <stdio.h>
#include <unistd.h>
int main()
{
	int i;
	for(i=0;i<2;++i)
	{
		fork();
		printf("-");
	}
	return 0;
}

3,8

11.下面代码有什么用?

./a.out >outfile 2>&1

将标准输出和标准出错重定向到outfile
12.一分钟的音乐,采用14400的采样率,双声道,16比特,问大概多大。

前面这些题是试卷的第I部分,上面说第一部分不过直接就pass

下面是编程方面的题目

1.两个题可以选一个,a.写一个strcmp函数b.约瑟夫环的问题。

2.纸牌游戏,随便抽五张牌,A代表1,2-10还是2-10,J,Q,K表示11,12,13 王可以当任何一张。判断5张牌是不是顺子。

3.程序改错

class obj
{
	public:
		obj()
		{
			m=0;
			data=new int[100];
		}
		obj(const &t)
		{
			m=t.m;
		}
		int squ(volatile int *p)
		{
			return *p**p;
		}
		~obj()
		{
			if(data)
				delete[] data;
		}
		void add() const
		{
			m++;
		}
	private:
		int m;
		int *data;
};
int main()
{
	obj o1;
	obj o2=o1;
	return 0;
}
比较明显的错误是:拷贝构造函数要用深拷贝,volatile那个应该先用一个int记下*p的值,还有就是const函数的问题。




评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值