嵌入式常见笔试题总结(4)

1:用C语言实现大小端的测试

   Int CheckCpu()

      {

union

{

int a;

char b;

}c;

c.a=1;

if(c.b==1)

printf(“小端”)

else printf(“大端”);

}

2volatile的作用有哪些?

Volatile第一变量相当于告诉编译器这个变量的值会随时发生变化,每次使用之前都要去内存里从新读取它的值,并不要随意针对它做优化,主要用在:

1:一个中断子程序中会访问到的非自动变量;

2:多线程应用中被几个线程共享的变量;

3:并行设备的硬件寄存器。

3C语言中static关键字的作用有哪些?

     1:在函数体中,一个被声明为静态的变量在这个变量在调用过程中维持其值不变;

     2:在模块内(但在函数体外),一个被声明为静态的变量,可以被这个模块内的所用函数使用,但不能被模块外的函数使用,它是一个本地的全局变量;

     3:在模块内,一个被声明为静态变量的函数,智能被这个模块内的函数调用;

     4static全局变量与局部变量的区别:static全局变量只能被初始化一次,防止其他单元文件中被引用;

     5static局部变量与局部变量的区别:static局部变量只能被初始化一次,下一次依据上一次结果的值;

      6static函数与普通函数的区别:static在内存中只用一份,普通函数在每一次调用中维持一份拷贝。

4:请问下面三种变量的区别:

   Int const *p :     指向常整型的指针;

   Int *const p   指向整型的常指针;

   Int *const *p   指向常整型的常指针;

5:在ARM系统中,在函数调用的时候,参数是通过哪种方式传递的。

    当参数小于等于4的时候是通过r0~r3来进行传递的,当参数大于4的时候是通过压栈的方式进行传递。

6:中断与异常有何区别.

     异常在处理的时候必须考虑与处理器的时钟同步,实际上异常也称为同步中断,在处理器执行到因编译错误而导致的错误指令时,或者在执行期间出现特殊错误,必须靠内核处理的时候,处理器就会产生一个异常;所谓中断是指外部硬件产生的一个电信号从CPU的中断引脚进入,打断CPU的运行。所谓异常是指软件运行过程中发生了一些必须作出处理的事件,CPU自动产生一个陷入来打断CPU的运行。

7:用预处理指令#define表示一年中有多少秒

#define SECONDS_PER_YEAR     (60*60*24*365)UL

   注意后面必须加UL,表示计算的结构是常整型。

8:简述SPI,UART,I2C三种传输方式。

SPI:高速同步串行口,首发独立,可同步进行

     SPI接口主要应用在EEPROMFlash,实时时钟,A/D转化器,数字信号处理,是一种全双工同步通讯总线,该接口一般使用四条线:串行时钟线(sck),主出从入线,主入从出线,低电平有效地的从机选择线。

I2C协议:是单片机与其他芯片进行通讯的协议:1:只要求两条总线线路,一条是串行时钟线,一条是串行数据线; 2:通过软件设定地址   3:是一个多主机总线,如果两个或更多主机同时初始化数据传送可通过冲突检测和仲裁防止数据破坏; 4I2C总线传输的是数据的总高位

UART:主要是由一个modem(调制解调器),可以将模拟信号量转化成数字信号量。

9:中断不能返回一个值,中断不能传递参数。

10:嵌入式系统总要求用户对变量或者寄存器进行位操作,给定一个整型变量a

      define BIT3 (oxo1<<3)

        static int a ;

     void set_bit3(void)

        {

a|=BIT3;

}

void clear_bit3(void)

       {

a&=~BIT3;

}

作为一个嵌入式程序员,这种程序是小菜一碟,至所以给出这个程序,是想规范大家写程序方法,这里主要是用到了一个宏定义:BIT3  这样的话就可以增加程序的可读性

同时移植性也增强。

11:嵌入式系统中经常要求程序去访问某特定内存的特点,在某工程中,要求设定一个绝对地址0x6799的整型变量的值为0xaa66.

      Int *ptr

      ptr=int*0x67a9

      *ptr=aa66

12:引用和指针有什么区别?

      1:应用必须初始化,指针不必;

       2:引用处画化后不能改变,指针可以被改变;

       3:不存在指向空值的引用,但存在指向空值的指针;

   13:全局变量与局部变量在内存中是否有区别,是什么区别?

        全局变量存储在静态数据库,局部变量存储在堆栈;

14:写出floatboolint类型与零的比较,假设变量为X

       Int     ifx==0

       Float    ifx>0.0000001&&x<0.0000001

       Bool:      if(x==false)

15:Intertnet采用哪种网络协议,该协议的主要层次结构?

   TCP/IP协议

应用层/传输层/网络层/数字链路层/物理层。

16IP地址有两部分组成:网络号和主机号

17:程序的局部变量存储在(栈)中,全局变量存储于(静态存储区),动态申请数据存储于(堆中);

18:编写一个字符串复制函数:strcpyconst char *strconst char *str1

         void strcpy(const *char str,const chat *str1)

            {

               if(*str1==’\0’) return;

char *sp1,*sp2;

sp1= str;

sp2=str1;

while(*sp2!=’\0’)

{

*sp1=sp2;

sp1++;

sp2++;

}

}

19:编写一个函数实现字符串翻转 void rechangechar *str

           void rechangechar *str

               {

Int len

char t

len=strlenstr);

forint i=0len/2i++

{

t=str[i];

str[i]=str[len-i-1];

str[len-i-1]=t;

}

}

20:编写一个函数实现字符串比较 int strcmpchar *str1char *str2,相等返回1,不相等返回0

   int strcmpchar *str1char *str2

{

if*str1==\0||*str2==’\0’ return;

while(*str1=’\0’&&*str2=’\0’&&*str1==*str2)

{

str1++

str2++

}

if(*str1==*str2)

return 1;

else return 0;

}

}

21:进程和线程的区别:

     1:调度:线程作为调度和分配的基本单元,进程作为拥有资源的基本单位;

      2:并发性:不仅进程可以并发执行,同一进程内的线程也可以并发执行。

      3:拥有资源:进程是拥有资源的基本独立单元,线程不拥有资源,但可以访问进程内的资源;

4:在创建或撤销线程时,由于系统都要为之分配和回收内存资源,导致系统的开销明显大于创建或撤销线程时的开销。

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

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

相关文章

《java入门第一季》之类String类小案例

String类有许多获取方法&#xff0c;API文档里面可查看。针对获取方法&#xff0c;给出小案例。 /** 需求&#xff1a;遍历获取字符串中的每一个字符* 分析&#xff1a; 用到两个方法&#xff1a;char charAt(int index) 表示获取字符串指定索引的字符int length() …

同字母异序词 python_49. 字母异位次分组(Python)

题目 给定一个字符串数组&#xff0c;将字母异位词组合在一起。字母异位词指字母相同&#xff0c;但排列不同的字符串。 说明 所有输入均为小写字母。 不考虑答案输出的顺序。 示例 输入: ["eat", "tea", "tan", "ate", "nat&quo…

嵌入式常见笔试题总结(5)

1、 如何在C中初始化一个字符数组。这个问题看似很简单&#xff0c;但是我们要将最简单的问题用最严谨的态度来对待。关键的地方&#xff1a;初始化、字符型、数组。最简单的方法是char array[];。这个问题看似解决了&#xff0c;但是在初始化上好像还欠缺点什么&#xff0c;个…

SQL Server - 高可用与灾难恢复(HADR)技术 -- AlwaysOn可用性组(理论篇)

因为篇幅原因&#xff0c;AlwaysOn可用性组被拆成了两部分&#xff1a;理论部分和实战部分。而实战部分又被拆成了准备工作和AlwaysOn可用性组搭建。 三篇文章各自的链接&#xff1a; SQL Server ->> 高可用与灾难恢复&#xff08;HADR&#xff09;技术 -- AlwaysOn&…

嵌入式常见笔试题总结(6)

一、常识理论题 1、 简述嵌入式操作系统有哪些&#xff0c;你用过哪几种&#xff0c;简述其特点、优势及劣势&#xff1f;(5分) 2、 请描述控制及提高嵌入式软件质量有哪些办法&#xff0c;在开发过程中怎么才能保证嵌入式软件的可靠性&#xff1f;&#xff08;5分&#xff09;…

python 3.6.5编译安装_Linux系统安装Python3.6.5

Linux系统安装Python3.6.5 1、下载Python3.6.5 wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz 如果报command not found则执行&#xff1a;yum -y install wget命令后再进行下载 也可下载好安装包进行手动上传 2、安装Python3.6可能使用的依赖 yum install o…

从传统运维到云运维演进历程之软件定义存储(一)

运维是企业业务系统从规划、设计、实施、交付到运维的最后一个步骤&#xff0c;也是重要的步骤。运维从横向、纵向分可以分为多个维度和层次&#xff0c;本文试图抛开这纷繁复杂的概念&#xff0c;讲述一个传统的企业级运维人员转型到云运维人员&#xff0c;尤其是软件定义存储…

Abp Uow 设计

初始化入口 在AbpKernelModule类中&#xff0c;通过UnitOfWorkRegistrar.Initialize(IocManager) 方法去初始化 1 /// <summary>2 /// This class is used to register interceptor for needed classes for Unit Of Work mechanism.3 /// </summary>4 …

python3.8 实现鼠标自动移动_“新生报到”!【移动机器人 HD-1500】负载1500kg,实现了重型货物运输的自动化...

2020年第三季度欧姆龙自动化&#xff08;中国&#xff09;有限公司新品【移动机器人 HD-1500】即日起在中国市场首次对外发布&#xff0c;实现了重型货物运输的自动化。这款最新的自动化移动机器人重型载荷能力为1500 kg&#xff01;更高的载荷能力可以令客户实现以前无法实现的…

Linux 关闭服务后 鼠标 键盘用不了

大部分情况下我们做实验都是使用虚拟机&#xff0c;但是个人比较本实在太老了&#xff0c;性能有限&#xff0c;所以虚拟机里面的系统启动神慢&#xff0c;怎么办&#xff1f;把系统中自己用不到的服务全部关闭掉呗&#xff0c;如下for i in chkconfig --list | awk {print $1}…

对session的理解

java Servlet API引入session 机制来跟踪客户的状态&#xff0c;session指的是在一段时间内&#xff0c;单个客户和web服务器之间一连串的交互过程&#xff0c;在一个session中&#xff0c;一个客户可能会多次请求同一个网页&#xff0c;也可能请求多个不同服务器资源&#xff…

android 监听本机网络请求_fiddler如何抓取https请求实现fiddler手机抓包-证书安装失败100%解决...

一、HTTP协议和HTTPS协议。(1) HTTPS协议HTTP协议SSL协议&#xff0c;默认端口&#xff1a;443(2) HTTP协议&#xff08;HyperText Transfer Protocol&#xff09;&#xff1a;超文本传输协议。默认端口&#xff1a;80&#xff0c;其中包含请求和响应两部分&#xff0c;其中请求…

c语言笔试题总结2

下列各题A)、B)、C)、D)四个选项中&#xff0c;只有一个选项是正确的&#xff0c;请将正确选项涂写在答题卡相应位置上&#xff0c;答在试卷上不得分。(1)算法的时间复杂度是指_______。A)执行算法程序所需要的时间B)算法程序的长度C)算法执行过程中所需要的基本运算次数D)算法…

C#的四舍五入函数

2019独角兽企业重金招聘Python工程师标准>>> 1.四舍六入&#xff08;国外的四舍五入&#xff09; Math.Round&#xff08;num&#xff09;; 2.四舍五入 Math.Round(num,MidpointRounding.AwayFromZero); 转载于:https://my.oschina.net/CrazyBoy1024/blog/746268

C语言笔试题总结3

4. static有什么用途&#xff1f;&#xff08;请至少说明两种&#xff09;1.限制变量的作用域2.设置变量的存储域7. 引用与指针有什么区别&#xff1f;1) 引用必须被初始化&#xff0c;指针不必。2) 引用初始化以后不能被改变&#xff0c;指针可以改变所指的对象。2) 不存…

【BZOJ2243】 [SDOI2011]染色

Description 给定一棵有n个节点的无根树和m个操作&#xff0c;操作有2类&#xff1a; 1、将节点a到节点b路径上所有点都染成颜色c&#xff1b; 2、询问节点a到节点b路径上的颜色段数量&#xff08;连续相同颜色被认为是同一段&#xff09;&#xff0c;如“112221”由3段组成&am…

jquery easyui DataGrid 数据表格 属性

扩展自 $.fn.panel.defaults &#xff0c;用 $.fn.datagrid.defaults 重写了 defaults 。 依赖 panelresizablelinkbuttonpagination用法 1. <table id"tt"></table> 1. $(#tt).datagrid({ 2. url:datagrid_data.json, 3. columns:[…

C语言笔试题总结

1. 下面这段代码的输出是多少(在32位机上). char *p; // 4 char *q[20]; // 80 char *m[20][20]; // 1600 int (*n)[10]; // 4 struct MyStruct { char dda; double dda1; int type ; }&#xff1b; MyStruct k; // 24 printf("%d %d %d %d",sizeof(p),siz…

第五次作业

学习时间新增代码行博客发表量知识总结 第十周5801HTML5 C和C 一般用于服务端的服务程序开发&#xff0c;硬件编程开发&#xff0c;系统等等大量框架要用到的。JAVA&#xff0c;学好这个可以开发移动设备程序&#xff0c;JSP网页程序。C#&#xff0c;学了这个可以开发Winform&a…

数字信号处理的fpga实现_FPGA数字信号处理:通信类I/Q信号及产生

大侠好&#xff0c;欢迎来到FPGA技术江湖&#xff0c;江湖偌大&#xff0c;相见即是缘分。大侠可以关注FPGA技术江湖&#xff0c;在“闯荡江湖”、"行侠仗义"栏里获取其他感兴趣的资源&#xff0c;或者一起煮酒言欢。大侠好&#xff0c;“宁夏李治廷”再一次和各位见…