乐投科技笔试题:C语言编程挑战
需积分: 9 140 浏览量
更新于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
- 粉丝: 1196
- 资源: 12
最新资源
- BottleJS快速入门:演示JavaScript依赖注入优势
- vConsole插件使用教程:输出与复制日志文件
- Node.js v12.7.0版本发布 - 适合高性能Web服务器与网络应用
- Android中实现图片的双指和双击缩放功能
- Anum Pinki英语至乌尔都语开源词典:23000词汇会话
- 三菱电机SLIMDIP智能功率模块在变频洗衣机的应用分析
- 用JavaScript实现的剪刀石头布游戏指南
- Node.js v12.22.1版发布 - 跨平台JavaScript环境新选择
- Infix修复发布:探索新的中缀处理方式
- 罕见疾病酶替代疗法药物非临床研究指导原则报告
- Node.js v10.20.0 版本发布,性能卓越的服务器端JavaScript
- hap-java-client:Java实现的HAP客户端库解析
- Shreyas Satish的GitHub博客自动化静态站点技术解析
- vtomole个人博客网站建设与维护经验分享
- MEAN.JS全栈解决方案:打造MongoDB、Express、AngularJS和Node.js应用
- 东南大学网络空间安全学院复试代码解析