乐投科技笔试题:C语言编程挑战
需积分: 9 85 浏览量
更新于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
最新资源
- 前端协作项目:发布猜图游戏功能与待修复事项
- Spring框架REST服务开发实践指南
- ALU课设实现基础与高级运算功能
- 深入了解STK:C++音频信号处理综合工具套件
- 华中科技大学电信学院软件无线电实验资料汇总
- CGSN数据解析与集成验证工具集:Python和Shell脚本
- Java实现的远程视频会议系统开发教程
- Change-OEM: 用Java修改Windows OEM信息与Logo
- cmnd:文本到远程API的桥接平台开发
- 解决BIOS刷写错误28:PRR.exe的应用与效果
- 深度学习对抗攻击库:adversarial_robustness_toolbox 1.10.0
- Win7系统CP2102驱动下载与安装指南
- 深入理解Java中的函数式编程技巧
- GY-906 MLX90614ESF传感器模块温度采集应用资料
- Adversarial Robustness Toolbox 1.15.1 工具包安装教程
- GNU Radio的供应商中立SDR开发包:gr-sdr介绍