笔试题(10)

1.extern,“C”的作用

参考答案:

在C语言中,extern关键字用于说明一个变量或函数在其他文件中定义,但在当前文件中使用。也就是说,这个关键字的作用是告诉编译器,这个变量或函数在其他文件中定义,并且在链接时会与其他文件中定义的同名变量或函数进行匹配。这样可以避免出现重复定义的问题。当我们在一个C程序中使用某个变量或函数时,编译器会先在当前文件中查找,如果没有找到就会在其他文件中查找,这个过程就是由extern关键字完成的。通常,在一个头文件中声明变量或函数时,需要加上extern关键字,这样在其他文件中就可以直接使用这个变量或函数了。

2.数据如何在单片机上计算? 从哪里取出,放到哪里?

参考答案:

在单片机上进行计算,需要将待计算的数据存储在单片机的内存中,通过对存储在内存中的数据进行运算和处理,最终得到计算结果。具体来说,单片机中的存储器包括RAM和ROM两种,其中RAM主要用于存储临时数据和程序运行时的变量,ROM则用于存储程序代码和常量数据。数据可以通过多种方式加载到RAM中例如读取外设数据、接收传感器数据、从外部存储器中加载等。在处理完数据后,可以将结果存储在RAM中,也可以通过外设将结果输出。值得注意的是,由于单片机的存储器容量有限,需要合理地利用存储资源,避免浪费和溢出

3.static的作用,需要从在函数里和函数外两个地方来答√参考答案:

在函数内部,static 修饰符表示一个变量或者函数只在声明它的函数的作用域内可见。这意味着变量或函数不能被同一作用域内的其他函数或代码访问,但可以被声明它的函数内的其他函数或代码访问。在函数外部,static 修饰符表示一个变量或者函数只在声明它的源文件中可见。这意味着这个变量或函数不能被其他源文件中的代码访问。

总的来说,static的作用是控制变量或函数的作用域和可见性。在函数内部,它可以用于限制变量或函数的作用域,在函数外部,它可以用于限制变量或函数的可见性,避免命名冲突和变量被其他代码修改的风险。

4.解释一下多态

参考答案:

多态(polymorphism) 是指同一种操作或方法可以应用于多种类型的对象,而且可以根据对象的类型进行不同的处理,这样可以增加程序的灵活性和可扩展性。具体来说,多态分为静态多态和动态多态。静态多态主要通过函数重载和运算符重载来实现,同一种函数名或运算符可以有不同的参数类型,编译器根据参数类型来决定调用哪个函数或运算符重载。动态多态主要通过继承和虚函数来实现,同一种虚函数可以有不同的实现,程序在运行时根据对象的类型来决定调用哪个实现。多态可以提高代码的可重用性和可维护性,通过接口的方式来实现多态可以减少代码的合性,提高代码的灵活性和扩展性。同时,多态也是面向对象编程的重要特性之一,可以使程序设计更加符合真实世界的对象行为。

5.链表和数组的区别?

参考答案

链表和数组是两种常见的数据结构,它们有以下的区别:存储方式不同:数组在内存中是一段连续的空间,而链表则不是连续的空间,每个节点可以分布在内存中的任何地方。插入和删除操作的效率不同:链表在任意位置插入或删除一个节点的效率比数组高,因为链表不需要像数组一样移动其他节点的位置。

访问元素的效率不同:数组可以通过下标随机访问任何一个元素,访问元素的效率比链表高。

空间使用效率不同:链表需要额外的空间来存储指向下一个节点的指针,而数组只需要存储数据本身,因此对于同样数量的元素,数组的空间使用效率比链表高。

在嵌入式系统中,由于资源受限,需要根据具体的应用场景来选择使用哪种数据结构。如果需要频繁进行插入和删除操作,并且元素数量比较大,可以选择链表。如果需要随机访问元素,可以选择数组。另外,也可以考虑使用其他的数据结构,如树、堆等,根据实际需要选择最合适的数据结构来优化系统性能。

6.CAN通信协议的特点

参考答案:

CAN (Controller Area Network) 是一种常用于工业自动化和汽车领域的通信协议,具有以下特点:

高可靠性:CAN协议采用差分信号传输,可以抵抗电磁干扰,保证数据传输的可靠性。

高实时性:CAN协议采用优先级机制,具有快速响应和实时性高的特点。

高速性:CAN协议的传输速率高达1Mbps,可以满足高速数据传输的需求

网络拓扑灵活:CAN协议支持总线型、星型、混合型等多种网络拓扑结构,可以满足不同的应用场景数据帧格式固定:CAN协议的数据帧格式是固定的,包括顿头数据、校验等字段,便于各个设备之间进行数据交换和通信.支持多节点:CAN协议支持多节点通信,可以同时连接多个设备进行通信,具有较强的扩展性和兼容性。总之,CAN协议具有高可靠性、高实时性、高速性和灵活性等特点,因此被广泛应用于汽车电子、工业自动化、机器人、航空航天等领域的数据传输和通信。

8、常用通信协议CAN,RS485

参考答案:

CAN (Controller Area Network) 和RS485都是常用的串行通信协议。

CAN协议是一种广泛用于工业控制系统和汽车领域的高可靠性高实时性的串行通信协议。它采用差分传输和非归零码编码方式,在噪声环境下具有很好的抗干扰能力。CAN协议的优点在于可靠性高,支持多主机,传输距离可达数千米,速度快,且具备良好的错误检测和纠正机制。在工业控制系统中,CAN协议被广泛应用于各种机器、设备、控制器之间的数据交互。RS485协议是一种适用于远距离通信的串行通信协议。它采用差分传输方式,可用于半双工或全双工通信。RS485协议的优点在于传输距离可达数百米,支持多点连接,传输速度可达10Mbps.成本低廉,易于实现。在工业控制系统中,RS485协议常用于各种传感器、执行器和控制器之间的数据交互。

9、PCB平时用什么画的

参考答案:

PCB (Printed Circuit Board) 通常使用EDA (Electronic DesignAutomation)软件进行设计和制作。EDA软件是专门为电子设计而开发的软件,可以协助工程师进行电路设计、仿真、布局、布线等操作,从而实现快速、高效、精确地设计PCB。常用的EDA软件有Altium Designer、 Cadence、Mentor Graphics、 PADS等。

10.解释ICMP DHCP10

参考答案:

ICMP(Internet ControlMessage Protocol) 是一种网络协议,它主要用于在网络中传递控制信息和错误报告。它通常被用来检测网络连接的可用性和测试网络性能,比如 ping命令就是基于ICMP 协议实现的。当出现网络故障时,ICMP 可以向发送端发送错误消息,以及向其他网络设备发送请求,以便进行网络故障排查。

DHCP(Dynamic Host Configuration Protocol) 是一种网络协议,它允许网络中的设备自动获得IP 地址和其他网络配置信息DHCP是一种自动化的方式,使得网络管理员可以轻松地管理网络,而无需手动分配IP 地址。DHCP 的工作原理是,当一个设备加入网络时,它会向 DHCP 服务器发送请求,请求分配一个可用的IP地址。DHCP 服务器会从一个可用的地址池中选择一个IP 地址,并将该地址分配给设备。同时,DHCP 还可以为设备分配其他网络配置信息,比如默认网关、DNS 服务器等。这样,设备就可以自动获取网络配置信息,而无需手动配置。

11.HTTP从浏览器输入域名的全过程

参考答案

当浏览器输入域名并按下回车键时,HTTP (超文本传输协议) 协议将开始在客户端和服务器之间进行数据传输。以下是HTTP从浏览器输入域名的全过程:DNS解析:当用户输入URL时,首先需要将其转换为IP地址。此过程称为DNS解析。浏览器会首先检查本地DNS缓存是否包含所请求的域名的IP地址。如果本地DNS缓存中不存在,则浏览器将向本地DNS服务器发出请求,该服务器将向互联网上的根DNS服务器发送请求,直到找到相应的IP地址。建立TCP连接:一旦浏览器知道服务器的IP地址,它将通过TCP连接请求与服务器建立连接。这个过程被称为“三次握手”。在这个过程中,浏览器和服务器将交换一些数据包来确认它们的身份,以确保连接已成功建立。发送HTTP请求:一旦TCP连接建立,浏览器将向服务器发送HTTP请求。该请求将包含一些信息,例如请求类型,URL,标头等。服务器处理请求:一旦服务器收到HTTP请求,它将解析请求并查找所请求的资源。如果请求的资源可用,则服务器将准备响应。服务器发送HTTP响应:一旦服务器准备好响应,它将使用HTTP响应将所请求的资源发送回客户端。该响应包括HTTP状态代码响应头和响应体等信息。

关闭TCP连接:一旦浏览器收到响应,它将通过TCP连接关闭连接。这个过程被称为“四次挥手”。在这个过程中,浏览器和服务器将交换一些数据包以确认它们的身份,并关闭连接。显示内容:最后,浏览器将使用响应的内容来显示请求的资源。这可能包括HTML,CSS,JavaScript,图像和其他资源。

12、数据结构中图的概念

参考答案

在数据结构中,图是由顶点和边组成的一种数据结构。它可以用来表示许多现实世界中的实体和关系,比如地图、社交网络和电路等等。在图中,顶点表示实体,边表示实体之间的关系图可以分为有向图和无向图。有向图中,边是有方向的,表示顶点之间的单向关系。无向图中,、边没有方向,表示顶点之间的双向关系。

图还可以分为带权图和无权图。带权图中,每条边都有一个权值,可以表示实体之间的某种权重或距离等。无权图中,每条边没有权值,只表示实体之间的关系。

图的表示方式有邻接矩阵和邻接表两种。邻接矩阵是一个二维数组,其中行和列分别表示图中的顶点,数组元素表示相应顶点之间是否存在边。邻接表是由若干个链表组成的结构,其中每个链表表示一个顶点及其相邻的顶点。

图的遍历算法有深度优先搜索和广度优先搜索。深度优先搜索从起点开始,沿着一条路径一直遍历到底,然后回溯到之前的结点,继续遍历其它路径。广度优先搜索从起点开始,先遍历所有与之相邻的结点,然后再遍历与这些结点相邻的其它结点,直到遍历完所有结点为止。

  • 23
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值