移远通信笔试题
限时60分钟
1.下列关于栈叙述正确的是 A
A) 栈顶元素最先能被删除
B)栈顶元素最后才能被删除
C)栈底元素永远不能被删除
D)以上三种都不对
在栈中,最后被压入的元素总是在栈顶上方,而栈顶元素总是最先被弹出的元素。
因此,在进行删除操作时,栈顶元素会最先被删除。所以,选项 A 是正确的。
2.下列叙述中正确的是 B
A) 有一个以上根结点的数据结构不一定是非线性结构
B) 只有一个根结点的数据结构不一定是线性结构
C)循环链表是非线性结构
D)双向链表是非线性结构
选项 B 是正确的。只有一个根结点的数据结构不一定是线性结构。
选项 A 是错误的。拥有一个以上根结点的数据结构一定是非线性结构,因为它们无法形成单一的层次结构。
选项 C 和 D 都是错误的。循环链表和双向链表都是线性结构,因为它们沿着一个线性序列连接元素。
循环链表中,最后一个元素链接到了第一个元素,从而形成了一个环。
而双向链表中,每个节点都包含两个指针,分别指向前驱节点和后继节点,这样可以支持双向遍历。
3.某二又树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)
A)3 B) 4 C)6 D)7
4.若有定义语句:int a=3,b=2,c=1;,以下选项中错误的赋值表达式是
A)a=(b=4)=3;
B)a=b=c+1;
C) a=(b=4)+c;
D)a=1+(b=c=4);
选项 A 是错误的,因为 b=4 的结果是 4,所以 a=(b=4)=3 等价于 a=3 和 b=4,但是在 C 语言中,赋值操作返回被赋的值,因此 (b=4) 的结果是 4。然后再将 4 赋值给 b,使得 b 的值变成了 4。这时候再把 b=4 和 a=3 再进行一次赋值运算,就等价于 (4=3),由于左值必须是可修改的,因此会产生一个编译错误。选项 B、C 和 D 都是正确的,其解释如下:选项 B:首先计算 c+1 的结果为 2,然后将其赋值给 b,使得 b 的值变成了 2。接着将 b 赋值给 a,使得 a 的值也变成了 2。
选项 C:首先计算 (b=4) 的结果为 4,然后将其加上 c=1 的结果为 5,最后将 5 赋值给 a,使得 a 的值变成了 5。
选项 D:首先执行表达式 b=c=4,将 c 和 b 的值都变成了 4。接着计算 1+(b=c=4) 的结果为 5,最后将 5 赋值给 a,使得 a 的值变成了 5。
因此,选项 A 是错误的。
5.若有定义语句:char s[3][10],(*k)[3], *p;,则以下赋值语句正确的是
A)p=s;
B) p=k;
C)p=s[0];
D)k=s;
6.一棵二叉树的中序遍历结果为DBEAFC,前序遍历结果为ABDECF,则后序遍历结果为 D
A)DBEFCA
B) DEBCAF
C) DEBFAC
D) DEBFCA
7.下列三条指针定义语句哪些表示含义相同的 B
(1)const char p; (2)char * const p; (3)char constp;
A)1,2
B) 1,3
C) 2,3
D) 1,2,3都相同
8.有以下程序void Func(char str[100]){print("%d”,sizeof(str));}运行结果是 C
A)1
B)2
C)4
D)8
E)100
F)根据传入字符串size大小
9.有以下程序printf(“%d”,sizeof(struct data)+sizeof(max));运行结果是 D
typedef union {long i; int k[5];char c:
}DATA;
typedef struct data
{int cat;DATA cow;doubie dog;
} animal;
DATA max;
A)29
B)12
C)16
D) 52
E)58
F)32
10.有以下程序程序运行后的输出结果是 B
#define S(x) 4*(x)*x+1
main
{ int k = 5, j = 2;printf("%d\r", S(k+j));
}
A)197 B)143 C)33 D)28 E)66 F)208
11.传入参数0x23调用下面的函数fn()会得到返回值是 E
#define x(y)((y<<2) | y)
unsigned int fn(unsigned int u)
{return x(u);
}
A) will not compile
B)0xdc
C)0xcd
D)0xbe
E) 0xaf
F) 0xg0
12. <多选>在多线(进)程编程中,线(进)程间通信方式有 ABCDEF
A)信号
B)信号量
C)消息队列
D)共享内存
E) 管道
F)套接字
13.<多选> 通信双方为了建立串行UART)通信,须要解决哪些问题 ABCDEF
A)波特率
B)数据位数
C)奇偶校验
D)数据流控制
E)起始位
F)停止位
14.<填空>
程序的局部变量存储于 栈
中,全局变量存储于全局静态区
,动态申请数据存储于堆
中
15. <填空>
TCP通信中端口的作用是 标识使用TCP协议的应用进程
16.<填空>
请定义该函数指针类型,带一个整型参数和void* 的返回类型
void * (*pfun) (int arg);
17. <填空>
整型变量a,设置a的bit 3;清除a的bit 3:(保持其它位不变)。
设置a bit 3:
a |= (0x01 << 3);
清除a的bit3 保持其他位不变:
a &= ~(0x01 << 3);
18. <填空>
关键字 volatile有什么含意
在计算机编程中,关键字"volatile"通常用于声明一个变量是易变的(即具有不稳定性)。它告诉编译器该变量的值可能会在程序的其他位置改变,因此不应该对该变量进行优化或缓存。这样可以确保访问该变量时始终从内存中读取最新的值,而不是使用已经缓存的旧值。
在多线程编程中,使用"volatile"变量可以确保不同线程之间的数据同步,因为它们都从内存中读取最新的变量值。否则,在没有同步机制的情况下,并发线程可能会读取到过期的变量值,从而导致不可预测的结果。
一个既可以是const还可以是volatile么?为什么?
可以。比如只读的状态寄存器
19. <填空>
ISO的七层模型是什么? tcp/udp 是属于哪一层? tcp/udp 有何优缺点?
从高往上依次是物理层、数据链路层、网络层、传输层、会话层、表示层、应用层
TCP/UDP属于传输层;
20. <填空> 给出下列程序执行结果
(1) chat str[] = “Hello”; char *p = str;
1、sizeof(str) = 6
2、sizeof(p) = 4
(2)void *p = maloc( 100); int n = 10;
1、sizeof(p) = 4
2、sizeof(n) = 4
21.请找出下列代码片段中不正确的地方,并提供一种你认为合理的解决方案。
(1)
void test1()
{ char string[10];char* str1="0123456789";strcpy( string, str1 );
}
(2)
void test3(char* str1)
{char string[10];if( strlen( str1 ) <= 10 ) strcpy( string, str1);
}
22下面的程序执行后会有什么输出?
(1)
int sum(int a)
{auto int c = 0;static int b = 3;c += 1;b += 2;return(a+b+c);
}void main()
{int i; int a = 2;for(i = 0: i < 5: i++){printf("%d," sum(a));}
}
这个程序输出是:8,10,12,14,16
(2)
int func(x)
{int countx = 0;while(x){ countx++;x =x&(x-1);}return countx:
}void main()
{int ret = func(263);
}
ret变量为 4
23.<编程>定义一个函数,该函数功能为:设置一绝对地址为0x67a9 的整型变量的值为0xaa66,并将该值显示在屏幕上。(编译器是一个纯粹的ANSI编译器)
void func(void)
{int *p = (int *)0x67a9;*p = 0xaa66;printf("%d", *p);
}
24.中断是嵌入式系统中重要的组成部分,这导致了很多编译开发商提供一种扩展一让标准C支持中断。具代表事实是,产生了一个新的关键字 interrupt。下面的代码就使用了_interrupt 关键字去定义了一个中断服务子程序(ISR),请评论一下这段代码的。
__interrupt double compute area (double radius)
{double area = PI* radius * radius;sleep(1);printf(" Area = %f", area);return area;
}
中断不能有返回值和参数
最好不好在中断函数做浮点运算和打印操作,因为耗时长,中断处理追求快进快出
不要再中断函数中调用sleep这种引起系统阻塞函数,因为在中断中系统是不调度,这可能引起系统崩溃
25.<编程>设计一个函数来获知 stack 是向高地址还是低地址方向增长。(使用 C,不建议用伪码)
#include <stdio.h>void find_stack_direction(int *p)
{int val;printf("%p %p\r\n", p, &val);if (p > &val) /* 栈底变量地址比栈顶变量地址大,说明向下增长 */{printf("stack diretion: grow down\r\n");}else{printf("stack diretion grow high\r\n");}
}
26.<编程>有一个单向链表,请编写代码反转该链表。(数据类型可以任意定义,使用 C,不建议用伪码
struct Node {void *data; // 数据指针,数据类型任意struct Node *next; // 指向下一个节点的指针
};struct Node* reverseList(struct Node* head) {struct Node* prev = NULL;struct Node* curr = head;while (curr != NULL) {struct Node* next = curr->next;curr->next = prev;prev = curr;curr = next;}return prev;
}
27. Please translate English into Chinese
Tracker 007 is a multi-functional tracker. Combining with GPRS and high performance GPS, the devicecan be used to track and report device’s position and status to mobile phone through SMS or Main DattServer (MDS) through HTTP The operation modes include continuous tracking and position lock (park). So:buttons can be used to send emergency call. All configurations can be set through SMS or USB interface. The wireless communication includes UDP, TCP/IP,HTTP and SMS. With MTK EPO, it can get shorter TTFF atdistressed environment.
跟踪器007是一款多功能跟踪器。该设备结合GPRS和高性能GPS,可通过短信或HTTP向手机报告设备的位置和状态。
操作模式包括连续跟踪和位置锁定(泊车)。
所以:按钮可以用来发送紧急呼叫。所有配置都可以通过短信或USB接口进行设置。
无线通信包括UDP、TCP/IP、HTTP和SMS。使用MTK EPO,可以在恶劣的环境下获得更短的TTFF。
28.请用英文写信(5分)
客户 Peter 很焦急的写来邮件请求您的帮助。可是由于出差,你耽误了两天才看到邮件。并且他提出的关于蜂窝网络方面的问题并不是你非常熟悉的,你得介绍相关的技术人员和他沟通。请你马上回一个由件给Peter,另外邮件内容中蜂窝网问题的答复要包含如下主要信息
当个人和商业用户需要像手机网络一样简单易用的互联网连接时,移动计算提供简易的方案,以便在任何手机能够工作的地方通过蜂窝网络让上网本、膝上电脑或者其他电子设备连接网络。蜂窝网络是提供任何时间和任何地方低价的数据连接的理想选择
相关文章:

移远通信笔试题
限时60分钟 1.下列关于栈叙述正确的是 A A) 栈顶元素最先能被删除 B)栈顶元素最后才能被删除 C)栈底元素永远不能被删除 D)以上三种都不对 在栈中,最后被压入的元素总是在栈顶上方,而栈顶元素总是最先被弹出的元…...
python算法中的机器学习算法之监督学习知识点(详解)
目录 学习目标: 学习内容: Ⅰ. 线性回归(Linear Regression) Ⅱ. 逻辑回归(Logistic Regression)...
Flink主要有两种基础类型的状态:keyed state
Flink主要有两种基础类型的状态:keyed state 和operator state。 Keyed State Keyed State总是和keys相关,并且只能用于KeyedStream上的函数和操作。 你可以将Keyed State视为是已经被分片或分区的Operator State,每个key都有且仅有一个状态分…...
js录音支持h5 pc ios android
最近在做h5录音的页面要求可暂停录音,继续录音,写好后发现不兼容ios,无奈只能找兼容方法,找了一天也没找到,后来看到一个网站在ios上可以暂停录音,后来引入他的js文件果然能用了 网站放下面了 Recorder H5: 用于html5网页中的前…...

mybatis04-mybatis缓存、分页插件、注解开发(一对一、多对一、多对多)
mybatis04 mybatis 缓存 一、mybatis 缓存概述 1、缓存 缓存 是存在于内存中的临时数据,使用缓存的目的是:减少和数据库的交互次数,提高执行效率。 2、mybatis 缓存 mybatis 与 大多数的持久层框架一样,提供了缓存策略…...
软件平台接口常见问题汇总
接口常见问题汇总 一、接口技术层面 1、输入参数验证校验不全面。如: 1.1入参数据类型长度边界,范围边界。 1.2 入参数据内容、成员内容,有效无效,合法非法。 1.3 入参数据 特殊字符 敏感字符过滤。 1.4 入参可否必选。 2、接口…...

SparkStreaming学习之——无状态与有状态转化、遍历kafka的topic消息、WindowOperations
目录 一、状态转化 二、kafka topic A→SparkStreaming→kafka topic B (一)rdd.foreach与rdd.foreachPartition (二)案例实操1 1.需求: 2.代码实现: 3.运行结果 (三)案例实操2 1.需求: 2.代码实现: 3.运行结果 三、W…...
上市公司碳排放测算数据(1992-2022年)
根据《温室气体核算体系》,企业的碳排放可以分为三个范围。 范围一是直接温室气体排放,产生于企业拥有或控制的排放源,例如企业拥有或控制的锅炉、熔炉、车辆等产生的燃烧排放;拥有或控制的工艺设备进行化工生产所产生的排放。 范…...

Springboot 整合 JPA 及 Swagger2
首先是官方文档: Spring Data JPA - Reference Documentationhttps://docs.spring.io/spring-data/jpa/docs/2.2.4.RELEASE/reference/html/#repositories.query-methods 1、JPA相关概念 2、创建 Springboot 项目 修改 pom 文件,可以直接进行复制粘贴&a…...

android aidl
本文只是记录个人学习aidl的实现,如需学习请参考下面两篇教程 官方文档介绍Android 接口定义语言 (AIDL) | Android 开发者 | Android Developers 本文参考文档Android进阶——AIDL详解_android aidl_Yawn__的博客-CSDN博客 AIDL定义:Android 接口…...

MYSQL---主从同步概述与配置
一、MYSQL主从同步概述 1、什么是MySQL主从同步? 实现数据自动同步的服务结构 主服务器(master): 接受客户端访问连接 从服务器(slave):自动同步主服务器数据 2、主从同步原理 Maste:启用binlog 日志 Slave:Slave_IO: 复制master主…...
WebClient学习
1. 介绍 Java中传统的RestTemplate 的主要问题在于不支持响应式流规范,也就无法提供非阻塞式的流式操作。而WebClient是响应式、非阻塞的客户端,属于Spring5中的spring-webflux库 2. 依赖 maven依赖 <dependency><groupId>org.springfra…...

「计算机控制系统」6. 直接设计法
特殊类型系统的最小拍无差设计 一般系统的最小拍无差设计 最小拍控制器的工程化改进 Dahlin算法 文章目录 特殊类型系统的最小拍无差设计理论分析典型输入函数的最小拍无差系统 一般系统的最小拍无差设计有波纹最小拍无差设计无波纹最小拍无差设计 最小拍控制器的工程化改进针对…...

什么是JWT?
起源 需要了解一门技术,首先从为什么产生开始说起是最好的。JWT 主要用于用户登录鉴权,所以我们从最传统的 session 认证开始说起。 session认证 众所周知,http 协议本身是无状态的协议,那就意味着当有用户向系统使用账户名称和…...

STM32—0.96寸OLED液晶显示
本文主要介绍基于STM32F103的0.96寸的OLED液晶显示,详细关于0.96寸OLED液晶屏幕的介绍可参考这篇博客:https://blog.csdn.net/u011816009/article/details/130119426 一、简介 OLED被称为有机激光二极管,也被称为有机激光显示,O…...

Mysql的简介和选择
文章目录 前言一、为什么要使用数据库 数据库的概念为什么要使用数据库二、程序员为什么要学习数据库三、数据库的选择 主流数据库简介使用MySQL的优势版本选择四、Windows 平台下安装与配置MySQL 启动MySQL 服务控制台登录MySQL命令五、Linux 平台下安装与配置MySQL总结 前言…...

3D视觉之深度相机方案
随着机器视觉,自动驾驶等颠覆性的技术逐步发展,采用 3D 相机进行物体识别,行为识别,场景 建模的相关应用越来越多,可以说 3D 相机就是终端和机器人的眼睛。 3D 相机 3D 相机又称之为深度相机,顾名思义&…...

Mysql列的完整性约束详解(主键约束)
文章目录 前言一、设置表字段的主键约束(PRIMARY KEY,PK) 1.单字段主键2.多字段主键总结 前言 完整性约束条件是对字段进行限制,要求用户对该属性进行的操作符合特定的要求。如果不满足完整性约束条件,数据库系统将不再…...

母婴市场竞争激烈,如何通过软文营销脱颖而出
如今,随着宝宝数量增加以及人们对孩子的重视程度的增加,母婴市场愈发火爆。然而,母婴行业的竞争也越来越激烈,企业需要不断开拓新市场才能生存。在这样的情况下,软文营销成为了母婴企业拓展市场的一种有效方式。 首先&…...

java--线程池
目录 1.线程池概 2 为什么要使用线程池 1创建线程问题 2解决上面两个问题思路: 3线程池的好处 4线程池适合应用场景 3 线程池的构造函数参数 1.corePoolSize int 线程池核心线程大小 2.maximumPoolSize int 线程池最大线程数量 3.keepAliveTime long 空闲…...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)
题目:3442. 奇偶频次间的最大差值 I 思路 :哈希,时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况,哈希表这里用数组即可实现。 C版本: class Solution { public:int maxDifference(string s) {int a[26]…...

springboot 百货中心供应链管理系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,百货中心供应链管理系统被用户普遍使用,为方…...
线程同步:确保多线程程序的安全与高效!
全文目录: 开篇语前序前言第一部分:线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分:synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分ÿ…...
Objective-C常用命名规范总结
【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名(Class Name)2.协议名(Protocol Name)3.方法名(Method Name)4.属性名(Property Name)5.局部变量/实例变量(Local / Instance Variables&…...

ESP32读取DHT11温湿度数据
芯片:ESP32 环境:Arduino 一、安装DHT11传感器库 红框的库,别安装错了 二、代码 注意,DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...
服务器硬防的应用场景都有哪些?
服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式,避免服务器受到各种恶意攻击和网络威胁,那么,服务器硬防通常都会应用在哪些场景当中呢? 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...

【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力
引言: 在人工智能快速发展的浪潮中,快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型(LLM)。该模型代表着该领域的重大突破,通过独特方式融合思考与非思考…...

跨链模式:多链互操作架构与性能扩展方案
跨链模式:多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈:模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展(H2Cross架构): 适配层…...
06 Deep learning神经网络编程基础 激活函数 --吴恩达
深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...

嵌入式学习笔记DAY33(网络编程——TCP)
一、网络架构 C/S (client/server 客户端/服务器):由客户端和服务器端两个部分组成。客户端通常是用户使用的应用程序,负责提供用户界面和交互逻辑 ,接收用户输入,向服务器发送请求,并展示服务…...