C语言面试深度解析:嵌入式开发笔试题
需积分: 8 187 浏览量
更新于2024-08-04
收藏 37KB DOC 举报
"C语言实际工作中的面试题"
在C语言的实际工作中,面试通常会涉及到对语言基础、指针操作、内存管理、数据结构、宏定义以及程序执行流程等多方面的理解。以下是对这些面试题的详细解答:
1. 填空题
- sizeof(char*) = 4 (通常在32位系统中,指针占用4个字节)
- sizeof(char[3]) = 3 (数组长度为3,每个字符占1字节)
- sizeof(char*[3]) = 12 (一个指针数组包含3个指针,每个指针4字节)
- sizeof(char[]) = 6 (字符串"const"包含6个字符,末尾还有一个隐含的'\0'字符)
- sizeof(char[8]) = 8 (分配8个字节,但只用到6个,剩余2字节未用)
- sizeof(char*) = 4 (字符串常量实际上是一个指向字符数组的指针)
2. a[q-p] = 2 (q-p表示从a开始到a[2]的偏移量,即2)
3. 大字节模式:78 56 34 12 小字节模式:12 34 56 78 (32位整数的高字节存储在低地址,低字节存储在高地址)
4. 输出结果是50, 20 (函数fun中的cp和dp分别被赋值为x+y和x-y,即50和-20)
5. z的值为22 (N被展开为3,Y(5+1)计算得到18,所以z=2*(3+18)=22)
6. a1 = 1 (d为0,非0为真,所以a1为1),a2 = 0 (b和c不相等,表达式b!=c为真,但赋值给整型变量a2时,真值转换为1,所以a2为0)
7. 结构体大小计算:
- sizeof(DATE) = 12 (long i 占8字节,int k[5]占20字节,但因为对齐规则,实际大小是12字节)
- sizeof(max) = 12 (DATE类型的联合体变量max)
- 所以printf的结果是:12 + 12 = 24
8. 这段代码中,sum函数有静态变量b,每次调用时b的值都会累加,而局部变量c仅在函数内部有效。因此,输出为:
7, 11, 15, 19, 23
9. 局部变量存在于栈(stack)中,全局变量存在于数据段(data segment)中,动态申请数据存在于堆(heap)中。
10. 程序的运行结果:
1, 2, 3, 4, 5,
以上是C语言面试题的详细解答,涵盖的知识点包括指针、数组、内存管理、数据类型、运算符优先级、宏定义、结构体与联合体以及变量的作用域。理解和掌握这些知识点对于C语言开发者至关重要。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2009-02-25 上传
2011-06-01 上传
2012-11-17 上传
2023-01-13 上传
2022-09-23 上传
2022-09-21 上传
zeropoint127
- 粉丝: 18
- 资源: 72
最新资源
- 数据库课程设计-员工信息管理系统(基于pymysql实现).zip
- Desktop_demon_LOFAR_舰船噪声_demon谱_lofardemon
- 屏蔽泵转子的支承轴承及其材料.rar
- Excel模板大学管理学科工商管理类教学计划.zip
- Patterns:无需编写任何JavaScript即可快速应用丰富的交互模式的库
- PH315-52-79VM
- html5-boilerplate-tamasverhoest-howest:html5-boilerplate-tamasverhoest-howest由GitHub Classroom创建
- bash-scan
- todo-list-app
- agile_methods:不同敏捷方法的可视化
- shuntaidianliu_spwm_瞬态电流整流_瞬态电流控制_experimentalPWM_单相PWM整流器
- 基于 Kotlin + MVP + Retrofit + RxJava.zip
- Excel模板大学考前辅导表.zip
- aoc2020:Code 2020的出现
- Assemblytics:Assemblytics是一种生物信息学工具,可通过将其与参考基因组进行比较来检测和分析基因组装配中的结构变体
- cashtray-client