雅虎的面试题令人抓狂

chaojiew 2009-03-31 03:15:56
题目来源于wangdeqie的资源:

ms50道选择题,前30道基本都是基础知识,类似于软考的题目,后20道是c基础题,考的有点
变态了,感觉像c二级。。

下面我把不会的题目列出来,希望求个解答
Question 32. (单选)
设有以下宏定义: #define N 3 ,
#define Y(n) ( (N+1)*n) ,
则执行语句:z=2 * (N+Y(5+1));后,z的值为 (3)
1. 出错
2. 42
3. 48
4. 54Question 32. (单选)
设有以下宏定义: #define N 3 ,
#define Y(n) ( (N+1)*n) ,
则执行语句:z=2 * (N+Y(5+1));后,z的值为 (3)
1. 出错
2. 42
3. 48
4. 54


ms经常考的题目,不过忘了。。记得软件开发中说不叫用宏的。。

Question 33. (单选)
执行以下程序段后,m的值为 (1)
int a[2][3]={ {1,2,3},{4,5,6} };
int m,*p;
p=&a[0][0];
m=(*p)*(*(p+2))*(*(p+4));
1. 15
2. 14
3. 13
4. 12

这种代码这么多年了,项目中从没见过,不知道考这个有什么意义,求解了。

Question 36. (单选)
下述标识符中, 合法的用户标识符是(4)
1. A#C
2. getch
3. void
4. sizeOf

Question 37. (单选)
以下选项中合法的字符常量是(3)
1. A
2. '10'
3. 68
4. D

先不说答案,从事it的大家谁能不google答出来,抑或是俺记性太差了,不过谁没事记这个,


Question 38. (单选)
以下叙述正确的是 (3)
1. 在C程序中,main函数必须位于程序的最前面
2. C程序的每行中只能写一条语句
3. C语言本身没有输入输出语句
4. 在对一个C程序进行编译的过程中,可发现注释中的拼写错误

这道题求解,,我记得弄unix时候曾经比较过系统的读写函数没有缓冲但是c库函数是有缓冲的,不知道怎么回事?

Question 40. (单选)
设int类型的数据长度为2个字节,则 unsigned int 类型数据的取值范围是 (2)
1. 0~255
2. 0~65535
3. -32768~32767
4. -256~255

这种题,一直不会求,求指导

Question 42. (单选)
语句:printf("%d",12 & 012);的输出结果是 (3)
1. 12
2. 012
3. 8
4. 6
求解

Question 45. (单选)
已知int i,a;执行语句: i=(a=2*3,a*5),a+6;后,变量i的值是 (3)
1. 6
2. 12
3. 30
4. 36
无聊的逗号表达式,我算的是答案是12,不知道怎么算成30

Question 49. (单选)
char x=3,y=6,z;
z=x^y<<2;
则z的二进制值是 (2)
1. 10100
2. 11011
3. 11100
4. 11000

这道题还真难,不知道符号的优先级,不知道怎么算,谁还记得?

end:不像yahoo的笔试,倒像国内标准的测试了。。
...全文
1113 67 打赏 收藏 转发到动态 举报
写回复
用AI写文章
67 条回复
切换为时间正序
请发表友善的回复…
发表回复
爱吃大南瓜 2009-04-05
  • 打赏
  • 举报
回复
Question 40. (单选)
设int类型的数据长度为2个字节,则 unsigned int 类型数据的取值范围是 (2)
1. 0~255
2. 0~65535
3. -32768~32767
4. -256~255

这种题,一直不会求,求指导

--------------------------------------------------
2个字节也就是 16位 那么他能表示的最大数是 2的16次方减一 65535
不过int型16位的最高位的零和一是用来表示符号的,所以 int的范围是 -32768~32767
unsigned 就是说没有符号位,所以它的取值范围就是0000000000000000~1111 1111 1111 1111 就是 0~65535

fiyaa 2009-04-05
  • 打赏
  • 举报
回复
基础也很重要吧,可能面试时没有准备吧....有的题目确实是不会,有的是忘记了...
要是不面试的话,这些东西其实也不是那么的很重要,要是为了面试也应该去看看...
Algol_li 2009-04-05
  • 打赏
  • 举报
回复
先mark后抓狂
liubuweiright 2009-04-05
  • 打赏
  • 举报
回复
看来注意细节,掌握基础看重要.
zhh157 2009-04-05
  • 打赏
  • 举报
回复
先mark后抓狂
wjhgh04 2009-04-03
  • 打赏
  • 举报
回复
受不了,还考运算符优先级
记住这有啥用。
第一、忘记了可以查资料。我就从来不记,都是看《C++ Primer》,难保记错了。
第二、为了避免优先级搞混,我都尽量用括号来标明优先级关系。

这种题目是误导大家。
LINUCOOKER 2009-04-03
  • 打赏
  • 举报
回复
沙发
xiaoQ008 2009-04-03
  • 打赏
  • 举报
回复
感觉不难
LINUCOOKER 2009-04-03
  • 打赏
  • 举报
回复
沙发
ericming200409 2009-04-03
  • 打赏
  • 举报
回复
回复5楼:刚好说反了吧 以0(不是字幕o)开头才是八进制啊
lxl843 2009-04-03
  • 打赏
  • 举报
回复
这么基础的知识都看的抓狂...
不会做的好好反省去,去补补基础知识吧
dalinthegreat 2009-04-03
  • 打赏
  • 举报
回复
2
wzw200 2009-04-03
  • 打赏
  • 举报
回复
无聊的题目
almug 2009-04-02
  • 打赏
  • 举报
回复
真是看不懂!
我看你有戏 2009-04-02
  • 打赏
  • 举报
回复
Question 42. (单选)
语句:printf("%d",12 & 012);的输出结果是 (3)

就是这道题目感觉比较叼
蛮基础的题目,我比较欣赏,顶起来
zsf81 2009-04-01
  • 打赏
  • 举报
回复
瞅瞅
canican 2009-04-01
  • 打赏
  • 举报
回复
1: i=(2,3,6);
2: printf("%d\n",i);
1句中加括号i为6,不加括号i为2,还真是没注意过这个问题
juniosan01 2009-04-01
  • 打赏
  • 举报
回复

int a[2][3]={ {1,2,3},{4,5,6} };
int m,*p;
p=&a[0][0];
m=(*p)*(*(p+2))*(*(p+4));

指针的基本运算
*p=1
*(p+2)=3
*(p+4)=5
m=1*3*5=15
meetyu 2009-04-01
  • 打赏
  • 举报
回复
mark
aaajj 2009-04-01
  • 打赏
  • 举报
回复
记号看看
加载更多回复(45)

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧