乐投科技笔试题:C语言编程挑战
需积分: 9 155 浏览量
更新于2024-09-23
收藏 35KB DOC 举报
"乐投科技的笔试题目涉及C语言,主要测试软件开发工程师的技能,时间限制为30分钟。题目不受特定厂商编译器的影响,所有代码示例、问题和C++规则均来源于《Annotated C++ Reference Manual》。请注意,不要在试卷上做任何标记。"
现在我们详细分析一下这些题目及其相关的知识点:
1. 题目一考察了自增自减操作符的优先级。`j=(--i)*(i++)`首先进行`--i`,使`i`变为5,然后乘以`i++`(此时`i`仍为5,但之后会变为6),所以`j`的初始值为25。接着`i`被自增为6。因此,`i`=6, `j`=25。
2. 题目二涉及宏定义和算术运算。`#define add(a,b) a+b`创建了一个宏,将两个参数相加。`z=36/add(y,x)`等价于`z=36/(4+2)`,计算后`z`的值为6。
3. 题目三考察类型转换和数组操作。将`short`指针指向`char`数组的第三个元素,即`a[2]`,然后将某个值赋给它。题目没有提供具体赋值,因此无法计算确切结果。但需要注意不同类型之间的转换可能会带来字节对齐问题。
4. 题目四是一个关于函数调用和数组的题目。`cal()`函数修改了传入数组`b`的值,同时影响了全局数组`a`。函数返回值是`a[1]`加上修改后的`b[1]`,即5+5=10。所以`j`的值是10,程序输出`j=10`。
5. 题目五涉及过程调用和传参方式。`procedure p(x,y,z);`是一个过程(非函数),如果参数传递是按引用传递(Call By Reference),那么在`p(A+B,A,A)`执行后,`A`的值将被内部的`y`更新,因为`y:=y+1;`相当于`A:=A+1;`,所以`A`的值会增加1,变成4。
6-8. 这部分题目涉及到C++的面向对象特性。`class A`有一个虚函数`print()`,而`class B`是`A`的虚基类。由于信息不完整,无法解答具体的6-8题,但可以推测这可能与继承、虚函数和对象调用有关。
总结来说,这些题目涵盖了C语言的基础知识,如自增自减运算符、宏定义、类型转换、数组操作、函数调用和参数传递,以及C++的面向对象特性如虚函数和继承。通过解答这些题目,可以评估应聘者对C/C++编程语言的理解和应用能力。
508 浏览量
点击了解资源详情
2009-03-22 上传
2010-05-05 上传
2021-10-02 上传
2020-11-10 上传
2011-08-15 上传
graceljh
- 粉丝: 1199
- 资源: 12
最新资源
- Python中快速友好的MessagePack序列化库msgspec
- 大学生社团管理系统设计与实现
- 基于Netbeans和JavaFX的宿舍管理系统开发与实践
- NodeJS打造Discord机器人:kazzcord功能全解析
- 小学教学与管理一体化:校务管理系统v***
- AppDeploy neXtGen:无需代理的Windows AD集成软件自动分发
- 基于SSM和JSP技术的网上商城系统开发
- 探索ANOIRA16的GitHub托管测试网站之路
- 语音性别识别:机器学习模型的精确度提升策略
- 利用MATLAB代码让古董486电脑焕发新生
- Erlang VM上的分布式生命游戏实现与Elixir设计
- 一键下载管理 - Go to Downloads-crx插件
- Java SSM框架开发的客户关系管理系统
- 使用SQL数据库和Django开发应用程序指南
- Spring Security实战指南:详细示例与应用
- Quarkus项目测试展示柜:Cucumber与FitNesse实践