gameloft智乐软件(北京)有限公司 software engineer笔试题

来源:互联网 发布:什么是51单片机 编辑:程序博客网 时间:2024/04/28 00:55

来自:

http://www.shitibao.com/paper.html?id=32834

 

选择题

1:编译程序的功能是

A.将汇编语言程序转换为目标程序

B.将汇编语言程序转换为高级语言程序

C.将高级语言程序转换为目标程序

D.将高级语言程序转换为汇编语言程序


2:以“W”方式打开文本文件a:/aa.dat,若该文件已存在,则

A.新写入数据被追加到文件末尾

B.文件被清空,从文件头开始存放新写入数据

C.显示出错信息

D.新写入数据被插入到文件首部


3:设宏定义#define P(x) x/x ,则执行语句printf(″%d/n″,P(4+6));后的输出结果是

A.1

B.8.5

C.11

D.11.5


4:在下列运算符中,优先级最低的是

A.!

B.·

C.( )

D.[ ]


5:设enum color {red,yellow=2,blue,white,black}r=white;, 执行 printf("%d" ,r) ;后的输出结果是

A.0

B.1

C.3

D.4


6:以下叙述中不正确的是

A.在不同的函数中可以使用相同名字的变量

B.函数中的形式参数是局部变量

C.在一个函数内定义的变量只在本函数范围内有效

D.在一个函数内的复合语句中定义的变量在本函数范围内有效


7:执行下述程序的输出结果是( )。

#include

int m=13;

int fun(int x,int y)

{

int m=3;;

return (x*y-m);

}

main()

{

int a=7,b=5;

printf ("%d/n",fun(a,b)/m);

}

A.1

B.2

C.7

D.10


8:main()

{ int x,y;

  x=y=1;

  y=++x;

  printf( ″ %d,%d/n ″ ,x,y);

}

程序运行结果为

A.2,2

B.1,2

C.2,1

D.1,1


9:假定a和b为int型变量,则执行下述语句组后,b的值为

a=1;

b=10;

do

{

b-=a;

a++;

} while (b--<0);

A.9

B.-2

C.-1

D.8


10:常数的书写格式决定了常数的类型和值, 0x1011 是

A.8 进制整型常量

B.字符常量

C.16 进制整型常数

D.2 进制整型常数


11:设ch、out都为字符型变量,ch:='D';

  执行语句:if(ch>='A')or(ch<='Z')

  then out:=chr(ord(ch)+ord(‘a')-ord(‘A')

  out的值是(  )。(其中A,a,D,d的ASCⅡ码分别为:65,97,68,100)

A.'D'

B.'d'

C.'A'

D.'a'


12:位运算中,操作数左移一位,其结果相当于操作数

A.乘以2

B.除以2

C.乘以4

D.除以4


13:对于文件操作方式″ rb+ ″,准确的说法是

A.可读写文本文件

B.只读二进制文件

C.只读文本文件

D.可读写二进制文件


14:求一个双精度实数的绝对值,应该调用函数

A.sqrt

B.pow

C.abs

D.fabs

简答题

15:根据蒙特卡洛算法计算圆周率

double PI( DOWRD dwCount/*测试次数*/ );

返回值:PI

16:数组a[N],存放了1至N-1个数,其中某个数重复一次。写一个函数,找出被重复的数字.时间复杂度必须为o(N)函数原型:int do_dup(int a[],int N)

17:描述派生类的内存存储方式。

18:写一段程序,找出数组中第k大小的数,输出数所在的位置。例如{2,4,3,4,7}中,第一大的数是7,位置在4。第二大、第三大的数都是4,位置在1、3随便输出哪一个均可。

19:谈谈COM的线程模型。然后讨论进程内/外组件的差别。

20:int func(int a)

{

int b;

switch(a)

{

case 1: 30;

case 2: 20;

case 3: 16;

default: 0

}

return b;

}

则func(1)=?

21:阅读下列程序,将输出结果写到各题右侧的空白处。

main( )

{ int i;

  for(i=0;i<5;i++)

  switch(i%2)

  { case 0:printf(″1″);break;

   case 1:printf(″0″);

22:设有一个顺序表A,包含n个元素,要求写出一个将该表逆置的算法,并只允许在原表的存储空间少再加一个附加的工作单元。

23:有五个人坐在一起,问第5个人多少岁?他说比第4个人大2岁。问第4个人多少岁?他说比第3个人大2岁。问第3个人多少岁?他说比第3个人大2岁。问第2个人多少岁?他说比第1个人大2岁。最后问第1个人多少岁?他说是10岁。请问第5个人多大?

24:下面的函数实现在一个数上加一个数,有什么错误?请改正。

int add_n ( int n )

{

static int i = 100;

i += n;

return i;

}

25:统计一个字符串中字符出现的次数。

建议复习malloc,free,memset,strlen,strcmp,strcpy,const,指针等等