老大不伤悲

 

最近笔试面试集锦(c/c++)

最近在找工作,把遇到的笔试、面试题记录在此,总结经验教训,为后面的笔试、面试打好基础。
闲话少叙,看题:
1、
声明以下变量(简单的就不列了,列我觉得稍微有点难度的吧)
a、指向整型的指针的指针的数组: int **p[];
b、指向数据的指针: int (*p)[];
c、参数为void,返回值为void的函数数组:void (*p[])();

2、下列代码输出什么?
int a = -5;
unsigned int b = 1;
b > a ? cout << b : cout << a ;
输出 -5 ,因为算术转化把int提升为unsigned int。

3、下列代码输出什么?
int a = 1;
int b = 2;
int c = a+++b;
cout << "a=" << a << " b=" << b << " c=" << c;
a=2 b=2 c=3;
优先级后置++ > 前置++ > + ;NC题,那个写代码的时候不会加个括号。

4、实现下列运算
1-2+3-4+5-6+7-8+9
方法1:
int sum = 0;
for (int i=1; i<10; i++) {
    if (i % 2) {
        sum += i;  
    } else {
        sum -= i;
    }
}
 
方法2:
int sum = 0;
int flag = -1;
for (int i=1; i<10; i++) {
    flag *= -1;
    sum += flag * i;
}

答题的时候写了两种,以为方法2的效率高,不过回来加大循环量后,发现方法1快些,两次乘法比一次求余慢。

5、memcpy是,目标内存与源内存有重叠是怎么copy?
可以从后往前拷。

未完待续


posted on 2011-04-24 20:06 长风 阅读(455) 评论(2)  编辑 收藏 引用

评论

# re: 最近笔试面试集锦(c/c++) 2011-05-06 12:24 李现民

判断是否为奇偶数可以用(a&1), 取最后一位,是0则为偶数,是1则是奇数  回复  更多评论   

# re: 最近笔试面试集锦(c/c++) 2011-05-06 14:26 FandyM

@李现民
效率的确要高,多谢!!  回复  更多评论   


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


导航

统计

常用链接

留言簿(2)

随笔档案

搜索

最新评论

阅读排行榜

评论排行榜