朗国电子(嵌入式)

news2024/11/16 4:40:21

1.[问答题]已知单片机内置10位精度的ADC,单片机工作电压1.8V,ADC基准电压1.8V,请计算ADC采样的电压最小分辨率是多少?请写出计算过程和结果;如果单片机ADC输入口电压为0.9V,则采样得到的值是多少?请写出计算过程和结果。

在这里插入图片描述

2.[问答题],写出下面的结果:

char str1[] = "abc";
char str2[] = "abc";
const char* str3 = "abc";
const char* str4 = "abc";
const char* str5 = "abc";
const char* str6 = "abc";
char* str7 = "abc";
char* str8 = "abc";

cout << (str1 == str2) << endl; // 0 (false)
cout << (str3 == str4) << endl; // 可能是1 (true),也可能0 (false),依赖于编译器实现
cout << (str5 == str6) << endl; // 同上,可能是1 (true),也可能0 (false),依赖于编译器实现
cout << (str7 == str8) << endl; // 同上,可能是1 (true),也可能0 (false),依赖于编译器实现

在C++中,字符串字面量(如 “abc”)实际上是一个指向常量字符数组的指针。当多个相同的字符串字面量出现在同一个程序中时,编译器可能会选择将它们存储在内存中的同一位置,以节省空间。这意味着,对于这些字符串字面量,比较它们的地址可能会返回true,即使它们是在不同的地方声明的。

但是,对于使用字符数组(如 char str1[] = “abc”;)定义的字符串,每个数组都会在内存中分配独立的空间,即使它们包含相同的字符序列。因此,它们的地址总是不同的。

解释如下:
对于 str1 和 str2,尽管它们初始化了相同的字符串,但它们是两个独立的数组,因此它们的地址不同,输出为 0(即 false)。

对于 str3, str4, str5, str6, str7, 和 str8,它们都是指向字符串字面量的指针。理论上讲,这些指针可能指向同一个内存地址,特别是当它们指向相同的字符串字面量时。然而,这完全取决于编译器的具体实现。某些编译器可能会优化,使得所有指向相同字符串字面量的指针都指向同一个内存地址,而其他编译器则可能不会这样做。因此,对于这些指针的相等性检查,结果可能是 1(即 true)也可能是 0(即 false),具体要看编译器的行为。

3.根据你所学的计算机体系架构知识,请简还搭建一个嵌入式系统的硬件框图和软件程序流程图,并说明每个部分在某中的角色定位和作用。

在这里插入图片描述

4. 给出下面的答案:

typedef struct AA
{
    int b1 : 5;
    int b2 : 2;
}AA;

int main() {
    AA aa;
    char cc[100];
    strcpy(cc,"123456789abederehi jk1mmoparstuywxyz");
    memcpy(&aa,cc,sizeof(AA));

    cout << "aa.b1=" << aa.b1 << endl;
    cout << "aa.b2=" << aa.b2 << endl;

    system("pause");

    return 0;
}.

在这里插入图片描述
在这里插入图片描述

5.[问答题〕什么是野指针?产生的原因?

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.[问答题]<key.value>结构是常用的数据储存结构,如<张三,19岁><李四,18岁>,请编程实现<key,value>存储程序模块,向外提供创建和增删改查接口功能,不限编程语言。

#include <iostream>
#include <unordered_map>
#include <string>

class KeyValueStore {
public:
    // 创建一个新的键值对存储
    KeyValueStore() {}

    // 增加一个键值对
    void add(const std::string& key, int value) {
        store[key] = value;
    }

    // 删除一个键值对
    bool remove(const std::string& key) {
        auto it = store.find(key);
        if (it != store.end()) {
            store.erase(it);
            return true;
        }
        return false;
    }

    // 修改一个键值对
    bool update(const std::string& key, int value) {
        auto it = store.find(key);
        if (it != store.end()) {
            it->second = value;
            return true;
        }
        return false;
    }

    // 查询一个键值对
    bool get(const std::string& key, int& value) const {
        auto it = store.find(key);
        if (it != store.end()) {
            value = it->second;
            return true;
        }
        return false;
    }

private:
    std::unordered_map<std::string, int> store;
};

int main() {
    KeyValueStore kvStore;

    // 添加键值对
    kvStore.add("张三", 19);
    kvStore.add("李四", 18);

    // 查询键值对
    int age;
    if (kvStore.get("张三", age)) {
        std::cout << "张三的年龄是: " << age << std::endl;
    } else {
        std::cout << "未找到张三" << std::endl;
    }

    // 修改键值对
    if (kvStore.update("张三", 20)) {
        std::cout << "更新张三的年龄成功" << std::endl;
    } else {
        std::cout << "未找到张三" << std::endl;
    }

    // 再次查询
    if (kvStore.get("张三", age)) {
        std::cout << "张三的年龄是: " << age << std::endl;
    } else {
        std::cout << "未找到张三" << std::endl;
    }

    // 删除键值对
    if (kvStore.remove("李四")) {
        std::cout << "删除李四成功" << std::endl;
    } else {
        std::cout << "未找到李四" << std::endl;
    }

    // 再次查询
    if (kvStore.get("李四", age)) {
        std::cout << "李四的年龄是: " << age << std::endl;
    } else {
        std::cout << "未找到李四" << std::endl;
    }

    return 0;
}

在这里插入图片描述

7.[问答题]简述进程和线程的联系和区别。

在这里插入图片描述
在这里插入图片描述

8.填空题]在Linux文件I/O操作时,当调用 open 函数打开一个现有文件或创建一个新文件时,内核会向该进程返回()。

在这里插入图片描述

9.[填空题】通用输入/输出接口,用英文大写字母缩写为(),嵌入式处理器内部一般均集成该种I/O接口。该接口一般具有三态,即()态,()态和()态。

在这里插入图片描述

10.[填空题]嵌入式系统使用的存储器有多种类型,按照其存储特性可分为易失性随机存储器()和非易失性储器();

在这里插入图片描述

11.填密题!Lnux在某目录下查找某字符串通常可以用()命令。

如果你想在某个目录下查找包含特定字符串的文件,通常可以使用 grep 命令结合 find 命令来实现。这两个命令结合起来非常强大,可以递归地搜索目录中的文件并查找指定的字符串。

12.【[道空题」不能做switch0的参数类型是()。

在这里插入图片描述

13.[填空题〕串口通讯硬件接口是按( )单位传输数据。

在这里插入图片描述

14.[多选题]下面代码是某平台中断申请的代码,关于该代码的描述,正确的是()(多选题)

//省略了变量的定义部分
test irg = gpio to irq(test _gpio);
ret = request threaded irg(test irg, NuLL,
test_irg_handler,
IRQF_TRIGGER_RISING |IROF ONESHOT, "test", NULL);
if (ret) {
gpio free(test gpio);
return ret;
}
enable irg wake(test irg);

A.该代码中通过函数request_threaded_irg申请了一个线程中断
B.题中通过函数gpio_to_irg来获取了该gpio对应的中断号
C.题中代码通过enable_irq_wake来使能了对应的中断
D.题中没有判断enable_irg_wake的返回值,是因为该函数没有返回值
在这里插入图片描述
在这里插入图片描述

15.[多选题]下面面向对象的语言有哪些_·

A.C++
B. python
C.php
D.C#

在这里插入图片描述

16.[多选题]万用表可以测是哪些物理量?

A.电压值
B.电流值
C.电阻值
D.电荷值
在这里插入图片描述

17.[单选题]以下关于通信方式的说法,错误的是()

A.按照通信息交互的过程,可以将通信方式分为单工通信、半双工通信和全双工通信三种
8.单工通信只能在一个方向上通信
C.全双工通信可以在两个方向上通信,且能同时发送和接收信息
D.半双工通信可以在两个方向上同时通信
在这里插入图片描述

18.[单选题]TCP和UDP分别是()协议。

A.可靠传输,可靠传输
B.可靠传输,不可靠传输
C.不可靠传输,可靠传输
D.不可靠传输,不可靠传输
在这里插入图片描述

19.[单选题]对于电容下列说法正确的是()

A.电容容抗为1/jwC
B.电容两端电流不会发生实变
C电容具有“通交流,阻直流”的作用
D.电容的电压领先电流90度
在这里插入图片描述

20.单选题电路的抗干扰能力强,不易受外界干扰;()电路能够在大电流高电压下工作。

A. 数字,模拟
B.数字,数字
C.模拟,数字
D.模拟,模拟
在这里插入图片描述

21.[单选题]在两输入端的门电路中,当输入为1和0时,输出为1的门电路是()

A.与门
B.或非门
C.同或门
D.异或门
在这里插入图片描述
在这里插入图片描述

22.[单选题]extern关键字的作用是什么?()

A.声明外部函数或变量
B.声明外部头文件引用
C.声明使用扩展C++语句
D.声明外部成员函数、成员数据
在这里插入图片描述

23.[单选题]I2C总线具有线()逻辑功能。

A.或
B.与
C.非
D.不确定
在这里插入图片描述

24.[单选题]在RAM中储存数据是以什么方式存储的?

A .二进制码
B.HEX
C.十进制致掘
D. string
在这里插入图片描述

25.[单选题]关于栈和队列的说法正确的是().

A.都是先进先出
B.都是先进后出
C.没有共同点
D,只允许在端点处操作元素
在这里插入图片描述

26、[单选题〕在嵌入式系统中,通常使用哪种存储器来保存固件或引导加载程序?

A.RAM
B.EEPROM
C.Flash
D.HDD
在这里插入图片描述

27.[单选题]0x5F的补码是多少?

A.0xF5
B.0x5F
C.0x60
D.0xF0
在这里插入图片描述

28.[单选题)在C语言中下面哪个函数可以在控制台中输出信息?

A. printf
B.scanf
C. fprintf
D.fscanf
在这里插入图片描述
在这里插入图片描述

29.[单选題]在Linux系统中下面哪个命令可为用户新建一个目录?

A mkdir
B. touch
C.mk
D.cp
在这里插入图片描述
在这里插入图片描述

30.[单选题〕以下为Linux下的32 位C程序,请计算sizeof§的值.

char strl[] = "Hello" ;
char *p = str;
int n =10;

A.1
B.2
C.4
D.8
在这里插入图片描述

31.[单选题]在大多数Linux发行版本中,以下哪个属于块设备 (block devices)?

A串行口
B.硬盘
C.虚拟终端
D.打印机
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2165457.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2024 年最新 Protobuf 结构化数据序列化和反序列化详细教程

Protobuf 序列化概述 Protobuf&#xff08;Protocol Buffers&#xff09;是由Google开发的一种语言中立、平台中立、可扩展的序列化结构数据的方法。它用于在不同系统之间高效地交换数据。Protobuf使用定义文件&#xff08;.proto&#xff09;来描述数据结构&#xff0c;并通过…

excel导出图片---HSSFWorkbook--SXSSFWorkbook

1 概述 平时在工作中&#xff0c;excel导出图片经常会用到&#xff0c;但奈何HSSFWorkbook导出数据数量有限制问题&#xff0c;所以企业里大多都用SXSSFWorkbook格式&#xff0c;很少用HSSFWorkbook。所以今天以这两种格式分别记录下&#xff0c;图片的导出过程。 2 HSSFWork…

【刷题3】找到字符串中所有字母异位词、串联所有单词的子串

目录 一、找到字符串中所有字母异位词二、串联所有单词的子串 一、找到字符串中所有字母异位词 题目&#xff1a; 思路&#xff1a; 用一个变量count来统计有效字符的个数。哈希表2统计字符串p的每个字符出现的个数&#xff0c;然后遍历字符串s&#xff0c;先进窗口&#xf…

怎么测试射频芯片质量的好坏?

无论是手机通信&#xff0c;还是卫星导航&#xff0c;射频芯片都是其核心组件之一。本文将探讨如何准确判断射频芯片的质量&#xff0c;以确保技术设备的稳定运行。 1. 外观检查 检查射频芯片是否有破损、引脚断裂、缺陷等。 2. 电气参数测试 对射频芯片的输入输出阻抗、功耗、…

DBAPI如何实现插入数据前先判断数据是否存在,存在就更新,不存在就插入

DBAPI实现数据不存在即插入、存在即更新 场景 往数据库插入数据的时候&#xff0c;需要先判断一下记录是否在数据库已经存在&#xff0c;如果已经存在就更新记录&#xff0c;如果不存在&#xff0c;才插入数据。 实现方案 采用存储过程实现&#xff0c;以mysql为例子 创建存储过…

【运维系列资料】运维系统建设方案(PPT源文件)

1.智慧运维系统建设背景 2.智慧运维系统建设目标 3.智慧运维系统建设内容 4.智慧运维系统建设技术 5.智慧运维系统建设流程 6.智慧运维系统建设收益 软件全套资料部分文档清单&#xff1a; 工作安排任务书&#xff0c;可行性分析报告&#xff0c;立项申请审批表&#xff0c;产品…

小阿轩yx-Ansible部署与应用基础

小阿轩yx-Ansible部署与应用基础 前言 由于互联网的快速发展导致产品更新换代速度逐步增长&#xff0c;运维人员每天都要进行大量的维护操作&#xff0c;按照传统方式进行维护使得工作效率低下。这时部署自动化运维就可以尽可能安全、高效的完成这些工作。 Ansible 概述 什…

编程遇到问题了?一个命令让 AI 解决你的困惑!

作为一名程序员&#xff0c;我们在开发过程中常常会遇到各种各样的问题&#xff0c;尤其是在开发新功能或使用新技术时。在这些时候&#xff0c;我们往往会寻求帮助并寻找最佳的解决方案。 去年的时候大家还是在使用百度或者谷歌来搜寻问题的答案&#xff0c;但是今年大家肯定…

MICS:PythonJail沙箱逃逸(持续更新中)

沙箱是一种防护机制&#xff0c;是用来运行不受信任的代码&#xff0c;通常是用户上传的代码&#xff0c;但这些代码可能是恶意代码&#xff0c;而沙箱就是防止恶意代码运行的机制。所谓沙箱逃逸&#xff0c;就是利用相关操作绕过沙箱防护&#xff0c;从而获得目标主机的文件信…

JVM(HotSpot):堆空间(Heap)以及常用相关工具介绍

文章目录 内存结构图二、堆的定义三、堆内存溢出四、堆内存排查工具 内存结构图 二、堆的定义 1、通过new关键字创建的对象&#xff0c;都会放到堆空间中。 2、它是线程共享的&#xff0c;堆中的对象都要考虑线程安全问题。 那有同学肯定会问&#xff0c;方法内通过new创建的…

JavaScript --数字Number的常用方法

toFixed(保留几位小数) <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthde…

python编程开发“人机猜拳”游戏

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;开发者-曼亿点 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 曼亿点 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a…

UIAutomation:Python 自动获取 QQ 群成员资料

出于兴趣&#xff0c;想要获取 “QQ 群”成员资料&#xff0c;于是乎找到了一个自动化的 Python 仓库&#xff1a;Python-UIAutomation-for-Windows。 目录 1. 简介 1.1 实际环境 1.2 安装/源码 1.2.1 pip安装 1.2.2 源码 2. 代码 2.1 全部代码 2.2 class QQGroupMemb…

16. C++ TinyWebServer项目总结(16. 服务器调制、调试和测试)

主要包括&#xff1a; 使用 tcpdump 抓包&#xff1b;使用 gdb 调试器&#xff1b;使用压力测试工具&#xff0c;模拟现实世界中的高并发请求&#xff0c;测试服务器在高压状态下的稳定性。 最大文件描述符数 Linux 对应用进程能打开的最大文件描述符数量有两个层次的限制&a…

升压站成套设备厂家

那么&#xff0c;本文呢&#xff0c;就是将围绕着升压站设备厂家这个关键词&#xff0c;来为您、为潜在的光伏升压站成套设备的采购们分享 一些干货&#xff0c;以及说说升压站设备生成厂家的情况。 我知道&#xff0c;很多人关注的所谓的升压站设备或许比较的多。比如包括了逆…

Flutter路由

路由作为一种页面切换的能力&#xff0c;非常重要。Flutter 中路由管理有几个重要的点。 Navigator 1.0&#xff1a;Flutter 早期路由系统&#xff0c;侧重于移动端 &#xff0c;命令式编程风格&#xff0c;使用 Navigator.push() 和 Navigator.pop() 等方法来管理路由栈。 N…

序列化流(对象操作输出流)反序列化流(对象操作输入流)

可以把Java中的对象写到本地文件中 序列化流&#xff08;对象操作输出流&#xff09; 构造方法 成员方法 使用对象输出流将对象保存到文件会出现NotSerializableException异常 解决方案&#xff1a;需要让Javabean类实现Serializable接口 Student package myio;import java.…

Claude 的上下文检索功能提升了 RAG 准确率,这会是人工智能革命?

前言 在人工智能领域不断进步的过程中&#xff0c;人们对更准确且具备上下文理解能力的响应的追求&#xff0c;催生了诸多突破性创新。 而 Claude 的上下文检索技术就是其中一项进步&#xff0c;有望显著提升检索增强生成 (RAG) 系统的表现。 可能有同学就要问了&#xff1a;…

DDL 超时,应该如何解决 | OceanBase 用户问题集萃

问题背景 在OceanBase的社区问答里常看到有用户发帖提出DDL超时的问题&#xff0c; 如“执行 DDL 超时&#xff0c;为何调大超时时间不生效&#xff1f;” 。但很多帖子的回答都没有完美解决。因此&#xff0c;这里把相关的解决思路在这里分享给大家。 帖子里对这类问题的描述…

2、 如何提高电脑运行速度 (改虚拟内存)?

改下电脑C磁盘的虚拟内存 方法如下&#xff1a; ① 按下电脑键盘上的 win E 键 &#xff0c; 然后鼠标移动到左边的【此电脑上】 然后&#xff0c;按下鼠标右键&#xff0c;选择【属性】 ② 然后&#xff0c;选择【高级系统设置】 4、选择【高级】&#xff0c;选择性能里面…