您的位置:首页 > 大数据 > 人工智能

maipu 笔试

2013-10-18 00:00 246 查看
逻辑:

1.1 : 0,4,18,(),100:

0=1 ^ 2 *(1-1);

4=2^ 2 *(2-1);

18=3^2 *(3-1);

100=5^2 *(5-1)

?()=4^2 *(4-1)=48

1.2: 0,1,3,10,()

0;

1=0^2 +1 ;

3= 1^2 +2;

10= 3^2 +1;

?()=10^2 +2=102

2.1 define 定义的宏和inline定义的宏有什么区别?

答:

编译态:

内联函数参数类型和返回值类型被指定

宏无类型概念,展开后有编译器检查语法。

执行态:

宏对参数不运算,直接替换,

内联函数是函数,进行表达式运算,参与函数运算。

2.2: volatile在C,C++,Java的区别是什么?

java 中:支持volatilt,但是用于其他的用途:

1.读和写一个volatile变量有全局的排序,也就是说:

每个线程访问一个volatile作用域会在继续执行之前读取他的当前值。即先读后操作。

而不是使用一个缓存的数值。但是并不能保证经常读写volatilt作用域读和写的顺序。

2.(适用于java 5之后):

volatile的读和写建立一个happens-before关系,类似于happens-before关系,申请一个释放一个互斥锁。

c/C++中:volatile 关键字的作用:

1.允许访问内存的映射设备

2.允许在stejmp 和longjmp之间使用变量

3.允许使用信号处理函数中使用sig_atomicb变量:

3.1 memcpy函数内部实现:

从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中

refence:

http://blog.csdn.net/asdjy123/article/details/7993040
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: