没有合适的资源?快使用搜索试试~ 我知道了~
嵌入式八股文篇(200页).pdf
需积分: 0 118 下载量 58 浏览量
2023-10-04
13:10:05
上传
评论 20
收藏 9MB PDF 举报
温馨提示
试读
214页
嵌入式八股文篇(200页).pdf
资源推荐
资源详情
资源评论
1
目录
面试必备 .......................................................................................................................................... 11
运算符 .............................................................................................................................................. 11
()[].-> !~ ++ -- &* /%* +- << >>== >< &|^ &&|| ?: = += -= , ............ 11
一、关键字篇 .................................................................................................................................. 13
1. Continue ........................................................................................................................... 13
2. Break .................................................................................................................................13
3. Return............................................................................................................................... 14
4. Goto .................................................................................................................................. 15
5. Volatile(编译优化阶段) ..............................................................................................15
6.Struct(结构体) (C 和 C++区别,求结构体大小,使用的注意事项) ..........................15
7.class 和 struct 的区别? .......................................................................................................16
8.Union(联合体) .......................................................................................................................16
2.联合体 union 和结构体 struct 的区别: ....................................................................16
3.联合体一般可以用来判断大小端问题: ...................................................................16
4.大小端转换问题: .......................................................................................................17
5.计算占用空间大小问题: ...........................................................................................18
9.Enum ......................................................................................................................................19
10.Typedef .................................................................................................................................19
1.#define 和 typedef 的区别 (宏,关键字,预处理,编译,检查) .................. 20
注意#define 和 typedef 定义指针的区别 ......................................................................20
typedef int (*funtion)() //表示函数指针,重新命名为 funtion ................................ 20
11.Const (C 中的变量:局部,函数形成,返回值,指针,typedef 的区别,数组大小
定义,case C++:常函数,常对象) .............................................................................. 20
12.Extern(链接阶段) .......................................................................................................... 21
13.Register ................................................................................................................................ 22
14.Auto ..................................................................................................................................... 22
15.Static (c 语言:变量、函数 C++:类中变量、类中静态成员函数) ..................... 22
1.定义变量 ....................................................................................................................... 22
2.定义函数 ....................................................................................................................... 25
3.定义类中的静态成员变量(不能在类里面初始化,不占类内存空间,必须定义才
能使用) .......................................................................................................................... 25
4.定义类中的静态成员函数(只能访问静态成员变量) ................................................26
16.Swicth case .......................................................................................................................... 26
17.Do while ...............................................................................................................................26
18.Sizeof ....................................................................................................................................26
1.Sizeof()和 strlen()的区别 .............................................................................................. 26
2.求指针大小 ................................................................................................................... 27
3.计算数组大小 ...............................................................................................................27
4.如何不使用 sizeof 求数据类型字节的大小 ............................................................... 27
#define mysizeof(value) (char*)(&value+1)-(char*)(&value) .......................................... 27
5.strlen(“ ”) = ? sizeof(“ ”); ..........................................................................................27
6.sizeof(a++) ..................................................................................................................... 28
7. 计算字符数组大小 ..................................................................................................28
2
8.sizeof(void) .................................................................................................................... 28
19.New/malloc delete/free(指明大小,返回值,初始化) ...................................................28
20.左值和右值是什么? .........................................................................................................28
21. 什么是短路求值......................................................................................................29
22.++a 和 a++区别 ................................................................................................................... 30
23.局部变量能不能和全局变量重名? .................................................................................31
24. gets 和 scanf 函数的区别(空格,输入类型,返回值) .........................................32
25. C 语言编译过程中,volatile 关键字和 extern 关键字分别在哪个阶段起作用?
32
26. Printf()函数的返回值 .............................................................................................. 32
27.C 语言中不能用来表示整常数的进制是二进制 ............................................................. 33
28.char *str1 = “hello”和 char str2[] = “hello” ........................................................................ 33
二. 内存篇.................................................................................................................................... 34
1. 内存分配有几种方式: ..................................................................................................34
2. 静态全局存储区......................................................................................................34
3. 堆上分配 .................................................................................................................. 34
2. 堆和栈有什么区别(申请方式、效率、方向) ..........................................................34
3.栈在 c 语言中有什么作用 ................................................................................................... 35
4.c++的内存管理是怎样的 ..................................................................................................... 35
5.什么是内存泄漏 ...................................................................................................................35
6.如何判断内存泄漏(如何减少内存泄漏) ............................................................................ 35
7. 字节对齐问题 .................................................................................................................. 36
8.C 语言函数参数压栈顺序是怎样的 ....................................................................................36
9.C++如何处理返回值.............................................................................................................36
10.栈的空间值最大是多少 .....................................................................................................37
11. 在 1G 内存的计算机中能否 malloc(1.2G)?为什么? ......................................... 37
12.strcat、strncat、strcmp、strcpy 哪些函数会导致内存溢出?如何改进 ......................37
13.malloc、calloc、realloc 内存申请函数 .............................................................................37
14. 内存泄漏(补充) ..................................................................................................38
三、指针和数组.............................................................................................................................. 39
难点在于:一、二维数组的初始化,数组名的加法和&数组名的加法,指针数组和数组
指针和一、二维数组的关系 ..................................................................................................39
1.什么是指针? ....................................................................................................................... 39
2.什么是指针的类型? ...........................................................................................................39
3.什么是指针所指向类型 .......................................................................................................39
4.指针的值----或者叫指针所指向的内存区或地址 ..............................................................39
5.指针本身所占据的内存区 ...................................................................................................39
8. 函数指针 .......................................................................................................................... 40
6.指针的运算 ........................................................................................................................... 40
7.认识这些指针运算指针的自加 ...........................................................................................41
9. 指针数组 .......................................................................................................................... 42
10. 数组指针和一维数组 ..............................................................................................43
11. 指针函数 .................................................................................................................. 43
12.指针和数组的区别?(类型、赋值、内存、字节大小、修改内容) ........................ 44
3
13.什么是野指针?如何产生?如何避免? .........................................................................44
14.什么是智能指针 .................................................................................................................45
15.智能指针的内存泄漏问题是如何解决的? .....................................................................45
12. 数组名 num /&num 的区别 ....................................................................................45
13. 二级指针和指针引用 ..............................................................................................45
21.指针和数组的使用 .............................................................................................................46
22.有了指针为什么还需要引用 .............................................................................................46
23.使用指针的好处 .................................................................................................................46
24.指针常量、常量指针、指向常量的常量指针 .................................................................46
25.指针和引用的异同,如何转换 .........................................................................................47
26.sizeof(数组名)和 sizeof(&数组) ..........................................................................................48
27. 数组下标是负数的情况 ..........................................................................................48
28.二维数组 ............................................................................................................................. 48
29.指针减指针 ......................................................................................................................... 49
30.数组作为参数传递 .............................................................................................................49
31. 数组初始化 ..............................................................................................................50
32. 调用 Free 释放内存后,指针还能用吗 ................................................................ 50
33. 函数指针 .................................................................................................................. 51
44. 指针不能加指针......................................................................................................51
45. 指针作为函数参数传递问题 ..................................................................................51
46.空指针的指向问题 .............................................................................................................53
47.数组声明和引用的下标 .....................................................................................................54
48. 二维数组和数组指针 ..............................................................................................54
四、预处理 ...................................................................................................................................... 56
1.预处理器标识#error 的目的是什么? ................................................................................56
2.头文件中#ifndef #define #endif ...........................................................................................56
3.#define 和 const....................................................................................................................56
4.typedef 和 define(原理、作用域,对指针操作不同) ..................................................57
5.define 的一些坑(缺点): ................................................................................................57
6.#include<头文件>,#include”头文件”的区别 ....................................................................57
7.定义一个常数,用以表明一年有多少秒(忽略闰年) .................................................. 58
8.简述 C++从代码到可执行二进制文件的过程 ................................................................... 58
9.写一个标准宏 MIN, ...........................................................................................................59
10.#define sqort(a) ((a)*(a)) ...................................................................................................59
11. 对指针的操作 .......................................................................................................... 59
12. 在头文件中是否可以定义静态变量 ......................................................................60
13. #和##的作用 ............................................................................................................ 60
14. 使用宏求结构体的内存偏移地址 ..........................................................................60
15. 枚举和 define 区别 ..................................................................................................60
16. const 和 define 区别 ................................................................................................61
17. typedef 和 define 区别 ............................................................................................ 61
18. 宏函数和内联函数的区别 ......................................................................................61
19. 如何判断一个整数是有符号还是无符号? ..........................................................61
五、 函数 ........................................................................................................................................ 62
4
1.说说内联函数和宏函数的区别 (本质,效率,检查) ...................................................... 62
2.内联函数和普通函数的区别(寻址,复制) ...................................................................62
3.为什么析构函数必须是虚函数? .......................................................................................62
4.为什么 C++默认的析构函数不是虚函数 ............................................................................65
5.静态函数和虚函数的区别? ...............................................................................................65
6.重载和重写(覆盖) .................................................................................................................65
7.虚函数表具体怎么实现运行是多态? ...............................................................................66
8.构造函数有几种,分别什么作用 .......................................................................................66
9.只定义析构函数,会自动生成哪些构造函数 ...................................................................68
10.说说一个类,默认会生成哪些函数 .................................................................................68
11.说说 C++ 类对象的初始化顺序,有多重继承情况下的顺序 ...................................... 69
12. select 函数 ................................................................................................................69
13.Fork wait exec 函数 .......................................................................................................72
14.select epoll poll 函数区别 ................................................................................................. 73
15.变参函数的实现 .................................................................................................................74
16. 字符输入函数 .......................................................................................................... 74
17. fseek 函数 .................................................................................................................74
18. 文件位置函数 .......................................................................................................... 74
19. 处理信号的函数......................................................................................................75
20. Scanf 函数 ................................................................................................................ 75
21. printf()函数和 scanf()函数中的* ............................................................................ 75
六、 面向对象 ................................................................................................................................ 76
1.什么是面向对象 ...................................................................................................................76
2.面向对象和面向过程的区别 ...............................................................................................76
3.面想对象的三大特征 ...........................................................................................................76
4.什么是深拷贝?什么是浅拷贝? .......................................................................................78
5.什么是友元? ....................................................................................................................... 78
6.基类的构造函数和析构函数能不能被继承? ..................................................................78
7.什么函数不能声明为虚函数 ...............................................................................................78
8. vector 的底层实现...........................................................................................................79
9. vector 和 list 的区别有什么 ............................................................................................79
10. 说一说 vector 扩容时发生了什么 ......................................................................... 79
11. 删除元素导致两者迭代器发生什么变化 ..............................................................80
12. 如何理解迭代器......................................................................................................80
13. 容器的迭代器时由什么组成的..............................................................................80
14. 假如给你一个 class,让你去用 class 去实现一个智能指针,你会怎么做? ...80
15. STL 中迭代器有什么用?有指针为何还有迭代器 ...............................................80
16. STL 中迭代器是如何删除元素 ............................................................................... 81
17. map 和 set 有什么区别?区别又是怎么实现的? .............................................. 81
18. STL 的 allocator 有什么作用 ................................................................................... 81
19. STL 中的 MAP 数据如何存放的 ............................................................................. 82
20. STL 中的 map 和 unordered_map 有什么区别 ..................................................... 82
21. STL 的 resize 和 reserver 的区别 .............................................................................82
22. 为什么基类的构造函数和析构函数不能被继承 ................................................. 82
5
23. C++中如何阻止一个类被实例化 ............................................................................82
24. 纯虚函数指的是什么? ..........................................................................................82
25. C++中哪些情况只能初始化列表,而不能赋值? ............................................... 83
26. 没有参数的函数能不能被重载? ..........................................................................83
27. 虚函数表建立时间 ..................................................................................................84
七、 数据结构与算法 .................................................................................................................... 84
数组篇 ...................................................................................................................................... 88
1.求两数之和: ...............................................................................................................88
2. 三数之和 .................................................................................................................. 90
3.最小连续数组长度之和------>滑动窗口 ..................................................................... 92
4.最大子数组和 .............................................................................................................. 93
5.原地移除元素 ...............................................................................................................95
6.【26】. 删除有序数组中的重复项 ..........................................................................97
7.
合并两个有序数组......................................................................................................98
8.寻找数组的中心下标 ..................................................................................................99
9.
有序数组的平方........................................................................................................100
1. 排序 ................................................................................................................................ 102
1) 直接插入 ................................................................................................................102
2)希尔排序----->直接插入的升级版 ..........................................................................103
1) 冒泡排序 ................................................................................................................ 105
2) 快速排序 ................................................................................................................ 107
1) 直接选择 ................................................................................................................ 108
2)堆排序 ........................................................................................................................ 109
队列篇 .................................................................................................................................... 114
1.顺序队列 ..................................................................................................................... 115
2.循环队列的相关计算 .................................................................................................115
3.链式队列 ..................................................................................................................... 118
4. 双端队列 ................................................................................................................ 119
链表 ........................................................................................................................................ 120
二叉树 .................................................................................................................................... 121
查找 ........................................................................................................................................ 121
八、 操作系统 .............................................................................................................................. 122
1.什么是进程?什么是线程? .............................................................................................122
2.进程、线程、协程的区别? .............................................................................................122
3.何时使用多进程?何时使用多线程?(考虑优缺点) ......................................................123
4.创建进程的方式? .............................................................................................................123
5.进程有几种状态? .............................................................................................................123
6.进程间通信方式有哪些? ................................................................................................124
7.进程间通信的选择 .............................................................................................................125
8、什么是僵尸进程、孤儿进程、守护进程? ..................................................................125
9.僵尸进程有什么危害? .....................................................................................................125
10.线程间通信方法有哪些? ...............................................................................................125
剩余213页未读,继续阅读
资源评论
xq_h
- 粉丝: 1
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于python爬取新浪微博爬虫以及生成词云源码+源代码+文档说明(高分项目)
- 基于python爬取新浪微博爬虫以及生成词云源码+源代码+文档说明(高分项目)
- 纯 PHP 开发的并行抓取工具 (Parallel web crawler written in PHP)
- 基于Vue的云视讯入住解决方案设计源码
- 对人脸图像进行性别和年龄的判断
- Go语言开发的端口转发工具 for port data forward (TavenLi)
- 无限弹窗的各种常用代码(cpp和bat)
- FME模板演示:DLG转成dwg数据,还原地物样式
- R language bioinformatics analysis package wrapper for VisualBas
- 基于Keras的LSTM多变量时间序列预测python源码+文档说明
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功