| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> 嵌入式笔试题4 -> 正文阅读 |
|
[网络协议]嵌入式笔试题4 |
1.下面关于关键字的描述及使用中,错误的是:(B) A、volatile可用于定义多线程应用中的共享变量。 B、const可用于定义全局变量。 C、一个变量既可以是const,同时也是volatile。 D、register static int i = 0 解析:int b = i;volatile使i可能随时发生变化,每次使用前必须从i的地址中读取,因而编译器生成的汇编代码会重新从i的地址读取数据放在b中。volatile会保证对特殊地址的稳定访问。 ? register变量是直接放在寄存器中的,这样就大大提高了变量存取的速度,但是静态变量不能定义为register。 2、假设有10个记录,他的初始关键字序列为{55,2,6,4,32,12,9,73,26,37},用插入排序对此排序,则第五次排序结果为:2,4,6,12,32,55,9,73,26,37。 插入排序相关概念:有一个已经有序的数据序列,要求在已经排好的数据序列中插入一个数,但要求此数据插入后依然有序,此时用插入排序法。 相关代码:
3.中断响应时间是指从发出中断请求到进入中断处理。 4.ftp协议使用的默认端口号是21;http协议使用的默认端口号是8080。 5.SQL语言具有①数据定义 ②数据操控 ③数据控制 ④数据查询 功能。 6.下面代码完成两个值互换,①处填写的代码正确的是:*b=*a^*b;? ? ? ? ? ? *a = *a^*b;
7.统一进程内的所有线程除了共享全局变量外共享程序计数器。 堆栈是保证线程独立运行所必需的。线程函数可以调用函数,而被调用函数中又是可以层层嵌套的,所以线程必须拥有自己的函数堆栈,使得函数调用可以正常进行,不受其他线程的影响。 由于一个进程中有多个线程在同时运行,可能某个线程进行系统调用,后设置了error值,而在该线程还没有处理这个错误,另外一个线程就在此时被调度器投入运行,这样错误值就有可能被删改。 8.? 9.在ANSIC标准中,signal函数的声明如下void(*signal(int sig,void(*fun)(int)))(int),对此函数进行分析: signal是一个函数,其返回值是一个函数指针,该指针指向一个带一个int参数、无返回值得函数。
例: ? ? ? ? ①void hello (void){printf("你好");} ? ? ? ? ②void bye (void) {printf("再见");} ? ? ? ? ③void ok(void) {printf("好的!");} 构造一个通用函数:typedef void (*funcptr)(void); 使用时如下:
此结果显示为:speak(0):你好;speak(1):再见;speak(2):好的 10.下面代码求n值,空白处应填写的代码是?
11.在TCP通信中,其建立连接需要经过3次握手,终止连接需要经过4次挥手。 TCP是一个面向连接的服务,面向连接的服务是电话系统服务模式的抽象,每一次完整的数据传输都必须经过建立连接,数据传输和终止连接三个部分。 ? ? TCP建立连接的过程称为三次握手,其具体流程为:①主机A通过主句B,发送一个含有同步序列号的标志位的数据段给主机B,向主机B请求建立连接,通过这个数据段主机A告诉主机B,向主机B请求建立连接,通过这个数据段,主机A告诉主句B两件事,我想要和你通信你可以用那个序列号作为起始数据段来回应我。②主机B收到主机A的请求后,用一个带有确认应答(ACK)和同步序列号(SYN)标志位的数据段相应主机A,也告诉主机A两件事:我已经收到了你的请求,你可以传输数据了;你要用哪个序列号作为起始数据段来回应我。③主机A收到这个数据段后,再发送一个确认应答,确认已经收到主机B的数据段:我已经收到回复,我现在要开始传输实际数据了。 ? ? TCP断开连接的过程称为四次挥手,其流程为:①当主机A完成数据传输后,将控制位(FIN)位置1,提出停止TCP连接的请求。②主机B收到FIN后对其做出响应,确认这一方向上的TCP连接将关闭,将ACK置1.③由B端再提出反方向的关闭请求,将FIN置1.④主机A对主机B的请求进行确认,将ACK置1,双向的关闭结束。 ? ?由三次握手和四次挥手可以看出,TCP通信提高了数据传输的可靠性,为数据正式传输打下了坚实的基础。 12.函数foo的原型为:
则foo(0xAABB4455)的返回结果是:0X55; 解析:在计算机中,数据一律用补码来表示和存储。所以UC其实是-1的补码,即11111111,而_in>>24^uc先后移24位再和uc进行异或。 13.UDP通信是面向报文的通信,TCP是面向字节流的通信。UDP可靠性必须由上层应用实现,一般都会采用消息重传方式来实现,消息重传有两种方式方式,一是发送者发起,二是接受者发起。 14.事务是DBMS的基本单位,它是用户定义的。 15.函数foo原型如下,则foo(0x32)打印结果为:error
16.在32 位系统中,以下代码输出结果为:
17.白盒测试方法一般适用于单元测试。 18.进程是系统执行的最小单位,线程是系统分配资源的最小,进程可以包含多个线程。 19.heap和stack的差别是stack空间由操作系统自动分配/释放,heap空间用户手动分配/释放。 |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/28 20:47:36- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |