嵌入式工程师入门C程序与单片机基础测试
需积分: 9 96 浏览量
更新于2024-09-17
收藏 69KB DOC 举报
"嵌入式工程师初试试题,主要涵盖了C程序设计和单片机基础两方面的内容,涉及了预编译、编译、汇编、链接等程序开发流程,以及C语言的数据类型、数组、指针、运算符、存储类别、常量表示和程序执行等方面的知识。此外,试题还提及了16进制整型常数、函数返回值类型、地址操作、宏定义及数据存储格式在ASCII和二进制模式下的差异。"
详细说明:
1. C语言处理流程:C语言处理系统在生成执行文件时,通常会经历预编译、编译、汇编和链接四个阶段。预编译处理头文件中的宏定义、条件编译等;编译阶段将源代码转换为汇编代码;汇编阶段将汇编代码转化为机器语言;最后链接阶段将所有模块组合成一个可执行文件。
2. C语言常量和类型:题目中的0x1011是一个16进制整型常量,C语言中用0x开头表示十六进制数。而8进制常量以0开头,字符常量用单引号括起,2进制常量在C语言标准中不直接支持。
3. 函数返回值类型:题目中给出的函数`add(inta,longb)`返回类型为`float`,即使`c`的计算结果是`float`,但返回类型由`return`语句后的表达式决定。
4. 数组和指针:在C语言中,数组名代表数组首元素的地址,所以`a[1][0]`和`b[0][0]`都是整型变量的地址,它们相加的结果是地址的加法,不进行数值计算。因此,程序最后输出的是未定义的内存位置,可能是任何值,但题目选项中没有这个选项,所以选择D,表示不确定的结果。
5. 存储类型符:在函数内部定义变量时,默认存储类型是`auto`,可以省略。而`static`、`extern`和`register`则不能省略,因为它们分别代表静态存储、外部链接和寄存器变量。
6. 地址操作:`&`是取地址运算符,`*`是解引用运算符。在C语言中,`&*a`和`*point`都是表示变量`a`的地址,而`a`本身代表变量的值,`&a`是变量的地址。
7. 宏定义和程序执行:题目中的`#defineF(y)15>>y`定义了一个宏,表示将15右移`y`位。在`main()`函数中调用`PRINT(F(2))`,`F(2)`计算后得到3,`printf`打印出3。
8. 数据存储:在ASCII码形式存储整数时,每个数字通常占1个字节,因此10002需要5个字节。而在二进制形式下,一个32位整数占4字节,所以10002只占2字节,因为它的绝对值小于2^16。
这些知识点对于准备嵌入式工程师面试的考生来说至关重要,因为C语言是嵌入式开发的基础,而单片机基础知识和ARM架构的理解也是嵌入式工程师必备的技能。通过这样的试题,可以评估应聘者的编程能力、对计算机体系结构的理解以及对C语言特性的掌握程度。
2015-03-16 上传
2023-07-31 上传
2013-04-23 上传
2020-09-04 上传
2010-04-18 上传
2016-11-28 上传
2018-04-01 上传
2023-10-16 上传
2023-10-16 上传
ziyouzhiyu
- 粉丝: 0
- 资源: 5
最新资源
- 天池大数据比赛:伪造人脸图像检测技术
- ADS1118数据手册中英文版合集
- Laravel 4/5包增强Eloquent模型本地化功能
- UCOSII 2.91版成功移植至STM8L平台
- 蓝色细线风格的PPT鱼骨图设计
- 基于Python的抖音舆情数据可视化分析系统
- C语言双人版游戏设计:别踩白块儿
- 创新色彩搭配的PPT鱼骨图设计展示
- SPICE公共代码库:综合资源管理
- 大气蓝灰配色PPT鱼骨图设计技巧
- 绿色风格四原因分析PPT鱼骨图设计
- 恺撒密码:古老而经典的替换加密技术解析
- C语言超市管理系统课程设计详细解析
- 深入分析:黑色因素的PPT鱼骨图应用
- 创新彩色圆点PPT鱼骨图制作与分析
- C语言课程设计:吃逗游戏源码分享