分类: C/C++
2011-02-12 14:34:12
一、一些常规中举的C考题
第一题:写出下述程序结果:
int m[][3] = {1,4,7,2,5,8,3,6,9};
int i, j, k = 2;
for (i = 0; i < 3; i++) {
printf(“%d”, m[k][i]);
}
问题所在:本题考点一眼就可以看出,二重数组啦!
A: 369
第二题:下列哪个引用是不正确的?int a[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, *p = a;
(A) a[p-a]; (B) *(&a[i]); (c) p[i]; (D) *(*(a+i));
A: (D)
第三题:下列4个选项中,哪个结果为6?
int a[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, *p = a;
(A) *p + 6; (B) *(p+6); (C) *p += 5; (D) p+5;
A: (A)和(B)
第四题:关于二叉树的,给你前序与中序,让你画出二叉树图形;
第五题:关于操作系统方面的,具体题目记不清了,大概意思如下:
在多任务操作系统中,任务间的通信方式有哪几种?如何任务间互斥(并举例说明);
漏了一个考点,记不起来了,想起来再补上吧!
二、一些怪题(别误会,不是那些平时根本不用的、只放在旮旯的偏题,而是网上的原题,^_^)
此公司笔试题的另外一个怪像就是,直接将网络上已经很久很久以前的题目(可谓说是嵌入界C笔试题的经典了,在偶的“几道经典C语言面试题”贴中,已经有了)放入试卷中考你,一共大概有3道题,其中有两道是原封不动照搬的,具体题目如下:
1、写一个“标准”宏MIN,这个宏输入两个参数并返回较小的一个。
2、给定一个整型变量a,写两段代码,第一个设置a的bit 3,第二个清除a 的bit 3。在以上两个操作中,要保持其它位不变。
3、在某工程中,要求设置一绝对地址为0x67a9的整型变量的值为0xaa66。写代码去完成这一任务。(注:这一题稍微改了改,呵呵,改的地方就是文字变了个说法,变长了,^_^,嗯,地址也应该变了吧,唉,记不清了!)
三、还有一道《高质量C++-C编程指南》中的题目
头文件中的 ifndef/endif 干什么用?(呵呵,与原题相比只是少了define)!