第1章概述1.1单片机的结构与应用1.1.1单片机的定义、分类与内部组成1.1.2单片机应用系统的结构及其工作过程1.1.3单片机的应用1.2单片机基础知识1.2.1数制与数制间的转换1.2.2单片机中数的表示方法及常用数制的对应关系1.2.3逻辑数据的表示1.2.4单片机中常用的基本术语1.3单片机入门的有效方法与途径1.4学习单片机的基本条件1.4.1软件条件1.4.2硬件条件习题与实验第2章单片机开发软件及开发过程2.1仿真软件Proteus的使用2.1.1Proteus的主要功能特点2.1.2实例1:功能感受——Pmteus仿真单片机播放《渴望》主题曲2.1.3Proteus软件的界面与操作介绍2.1.4实例2:Proteus仿真设计快速入门2.2KeilC51的使用2.2.1单片机最小系统2.2.2实例3:用Kei1C51编写点亮一个发光二极管的程序2.3程序烧录器及烧录软件的使用习题与实验第3章逐步认识单片机基本结构3.1实例4:用单片机控制一个灯闪烁3.1.1实现方法3.1.2程序设计3.1.3用Proteus软件仿真3.1.4延时程序分析3.2实例5:将P1口状态送入P0口、P2口和P3口3.2.1实现方法3.2.2程序设计3.2.3用Proteus软件仿真3.2.4用实验板试验3.2.5I/O口功能介绍3.2.6I/O口的结构分析3.3实例6:使用P3口流水点亮8位1ED3.3.1实现方法3.3.2程序设计3.3.3用Proteus软件仿真3.3.4用实验板试验3.4实例7:通过对P3口地址的操作流水点亮8位1ED3.4.1实现方法3.4.2程序设计3.4.3用Proteus软件仿真3.4.4用实验板试验3.5MCS-51单片机存储器的基本结构3.5.1程序存储器3.5.2数据存储器3.6单片机的复位电路习题与实验第4章单片机C语言开发基础4.1C语言源程序的结构特点4.2标志符与关键字4.3C语言的数据类型与运算符4.3.1数据类型4.3.2运算符4.3.3实例8:用不同数据类型的数据控制1ED的闪烁4.3.4实例9:用P0口、P1口分别显示加法和减法运算结果4.3.5实例10:用P0口、P1口显示乘法运算结果4.3.6实例11:用P1口、P0口显示除法运算结果4.3.7实例12:用自增运算控制P0口8位1ED的闪烁花样4.3.8实例13:用P0口显示逻辑“与”运算结果4.3.9实例14:用P0口显示条件运算结果4.3.10实例15:用P0口显示按位“异或”运算结果4.3.11实例16:用P0口显示左移运算结果4.3.12实例17:“万能逻辑电路”实验4.3.13实例18:用右移运算流水点亮P1口8位1ED4.4C语言的语句4.4.1概述4.4.2控制语句4.4.3实例19:用if语句控制P0口8位LED的点亮状态4.4.4实例20:用swtich语句控制PO口8位LED的点亮状态4.4.5实例21:用for语句设计鸣笛报警程序4.4.6实例22:用while语句控制PO口8位LED闪烁花样4.4.7实例23:用dOwhile语句控制PO口8位LED流水点亮4.5C语言的数组4.5.1数组的定义和引用4.5.2实例24:用字符型数组控制PO口8位LED流水点亮4.5.3实例25:用PO口显示字符串常量4.6C语言的指针4.6.1指针的定义与引用4.6.2实例26:用PO口显示指针运算结果4.6.3实例27:用指针数组控制PO口8位LED流水点亮4.6.4实例28:用数组的指针控制PO口8位LED流水点亮4.7C语言的函数4.7.1函数的定义与调用4.7.2实例29:用PO口、P1口显示整型函数返回值4.7.3实例30:用有参函数控制PO口8位LED流水速度4.7.4实例3l:用数组作函数参数控制PO口8位LED流水点亮4.7.5实例32:用指针作函数参数控制PO口8位LED流水点亮4.7.6实例33:用函数型指针控制PO口8位LED流水点亮4.7.7实例34:用指针数组作为函数的参数显示多个字符串4.7.8实例35:字符软件ctype.h中的isalpha()函数应用举例4.7.9实例36:内部函数库文件intrins.h中的_cml_()函数应用举例4.7.10实例37:标准函数库文件stdlib.h中的rand()函数应用举例4.7.1l实例38:字符串函数库文件string.h中的strcmp()函数应用举例4.8C语言的编译预处理4.8.1常用预处理命令介绍4.8.2实例39:宏定义应用举例4.8
2023/6/30 19:58:11 56.86MB 单片机 c语言100例
1
google的一种数据交换的格式,它独立于语言,独立于平台。
google提供了多种语言的实现:java、c#、c++、go和python,每一种实现都包含了相应语言的编译器以及库文件。
由于它是一种二进制的格式,比使用xml进行数据交换快许多。
可以把它用于分布式应用之间的数据通信或者异构环境下的数据交换。
作为一种效率和兼容性都很优秀的二进制数据传输格式,可以用于诸如网络传输、配置文件、数据存储等诸多领域。
https://github.com/protocolbuffers/protobufhttps://github.com/protocolbuffers/protobuf/releases
2023/5/15 14:57:31 3.92MB protobuf
1
1.static有甚么用途?(请起码阐发两种)1)在函数体,一个被申明为动态的变量在这一函数被挪用进程中抛却其值巩固。
2)在模块内(但在函数体外),一个被申明为动态的变量能够被模块内所用函数晤面,但不能被模块外另外函数晤面。
它是一个当地的全局变量。
3)在模块内,一个被申明为动态的函数只可被这一模块内的另外函数挪用。
那便是,这个函数被限度在申明它的模块的当地规模内使用2.援用与指针有甚么差距?1)援用必需被初始化,指针不用。
2)援用初始化之后不能被窜改,指针能够窜改所指的货物。
3)不存在指向空值的援用,然则存在指向空值的指针。
3.描摹实时体系的底子特色在特定功夫内实现特定的责任,实时性与牢靠性。
4.全局变量以及部份变量在内存中能否有差距?假如有,是甚么差距?全局变量贮存在动态数据库,部份变量在堆栈。
5.甚么是失调二叉树?左右子树都是失调二叉树且左右子树的深度差值的相对于值不大于1。
6.堆栈溢出普通是由甚么原因导致的?不付与垃圾资源。
7.甚么函数不能申明为虚函数?constructor函数不能申明为虚函数。
8.冒泡排序算法的功夫繁杂度是甚么?功夫繁杂度是O(n^2)。
9.写出floatx与“零值”比力的if语句。
if(x>0.000001&&x<-0.000001)10.Internet付与哪类收集协议?该协议的首要条理结构?Tcp/Ip协议首要条理结构为:使用层/传输层/收集层/数据链路层/物理层。
11.Internet物理地址以及IP地址转换付与甚么协议?ARP(AddressResolutionProtocol)(地址剖析協議)12.IP地址的编码分为哪俩部份?IP地址由两部份组成,收集号以及主机号。
不外是要以及“子网掩码”按位与上之后才气分辨哪些是收集位哪些是主机位。
13.用户输入M,N值,从1至N末了秩序轮回数数,每一数到M输入该数值,直至部份输入。
写出C法度圭表标准。
轮回链表,用取余操作做14.不能做switch()的参数尺度是:switch的参数不能为实型。
1.写出分辨ABCD四个表白式的能否准确,若准确,写出经由表白式中a的值(3分)inta=4;(A)a+=(a++);(B)a+=(++a);(C)(a++)+=a;(D)(++a)+=(a++);a=?答:C差迟,左侧不是一个实用变量,不能赋值,可改为(++a)+=a;改后谜底按次为9,10,10,112.某32位体系下,C++法度圭表标准,请盘算sizeof的值(5分).charstr[]=“http://www.ibegroup.com/”char*p=str;intn=10;请盘算sizeof(str)=?(1)sizeof(p)=?(2)sizeof(n)=?(3)voidFoo(charstr[100]){请盘算sizeof(str)=?(4)}void*p=malloc(100);请盘算sizeof(p)=?(5)答:(1)17(2)4(3)4(4)4(5)43.回答上面的下场.(4分)(1).头文件中的ifndef/define/endif干甚么用?预处置答:提防头文件被重复援用(2).#include以及#include“filename.h”有甚么差距?答:前者用来搜罗开拓情景提供的库头文件,后者用来搜罗自己编写的头文件。
(3).在C++法度圭表标准中挪用被C编译器编译后的函数,为甚么要加extern“C”申明?答:函数以及变量被C++编译后在标志库中的名字与C语言的不合,被extern"C"润色的变量以及函数是依据C语言方式编译以及毗邻的。
由于编译后的名字不合,C++法度圭表标准不能直接挪用C函数。
C++提供了一个C毗邻交流指定标志extern“C”来处置这个下场。
(4).switch()中不应承的数据尺度是?答:实型4.回答上面的下场(6分)(1).VoidGetMemory(char**p,intnum){*p=(char*)malloc(num);}voidTest(void){char*str=NULL;GetMemory(&str,100);strcpy(str,"he
1
付与java语言实现编译原理词法阐发器的实现,法度圭表标准比力约莫,巨匠能够更正,不外原理没下场,也能准确运行
2023/4/20 15:01:18 2KB 编译原理 词法分析 java
1
国内典型的编译原理中文课本,适宜深入入门,大概盘问不雅点,标志表等。
首要内容包援揭法阐发、语法阐发、属性文法与语法制导葱泽、语立阐发与中间代码暴发、标志表与运行时存储空饲结构、优化与吕标代哥哥天生、并行编译技幸。
本书将编译技幸的最蒜发震,譬如属位立法'lifl每一货物语言部编译本领、并行编译技本、编译法度圭表标准自动结构货物等内容罩统地领悟到教括中。
本书的首要侥题以及习题均I;(C,P.,.边为语言配景,并在一些弥留舵章节中增细了需要的例题.以帮裂读者知道以及自学。
使用本课本对于应留意,在学这门课之部,教师必需预修盘算寻i论(法度圭表标准方案方式)以及低级语言但且记丛、C或者C+叶,并且是好具备数据结谈判离散数学方面的底子学识。
1
《法度圭表标准方案语言:编译原理》(第3版)是在陈火旺、钱家骅、孙永强三位传授编写的《法度圭表标准方案语言编译原理》的底子上,松散编译本领的最新钻研下场以及作者多年的教学阅历编写而成的。
《法度圭表标准方案语言:编译原理》(第3版)比力片面、体系地介绍了编译法度圭表标准结构的普通原理以及底子实现方式,内容搜罗词法阐发、语法阐发、属性文法与语法制导翻译、语义阐发与中间代码暴发、标志表与运行时存储空间结构、优化与目的代码天生、并行编译本领。
与原课实情比,《法度圭表标准方案语言:编译原理》(第3版)将编译本领的最新阻滞,譬如属性文法、面向货物语言的编译本领、并行编译本领、编译法度圭表标准自动结构货物等内容体系地领悟到课本中;
在语言配景方面,以C,Pascal替换原课本中的FORTRAN以及Algol;
并在一些弥留的章节中削减了需要的例题,以帮手读者知道以及自学。
2023/4/12 18:05:23 8.57MB 编译原理 陈火旺
1
操作系统实验指导书,一个nesC应用程序有三个部份。
:一连串的C声明和定义,一组接口类型,和一组组件。
nesC应用程序命名环境构造如下:最外层的全局命名环境,包含三个命名域:一个C变量,一个用于C声明和定义的C标签命名域,和一个用于组件和接口类型的组件和接口类型命名域。
通常,C声明和定义可以在全局命名环境内部引入自己的嵌套命名域(用于函数声明和定义的函数内部代码段,等等)。
每个接口类型引入一个命名域,用于保存接口的指令或事件。
这种命名域是嵌套于全局命名环境的,所以指令和事件定义能影响全局命名环境中的C类型和标签定义。
每个组件引入二个新命名域。
规格命名域,嵌套于全局命名环境,包含一变量命名域用于存放组件规格元素。
实现命名域,嵌套于规格命名域,包含一个变量和一个标签命名域。
对于结构,作用范围变量命名域包含组件用以引用其包含组件的名字(7.1节).对于模块,作用范围保存作业,以及模块体中的C声明和定义。
这些声明,及其它可能引入自己的嵌套在作用范围内的命名域(比如函数体,代码段等等).由于这种命名域的嵌套结构,模块中的代码可以访问全局命名环境中的C声明和定义,但是不能访问其他组件中的任何声明或定义.。
构成一个nesC应用程序的C声明和定义,接口类型和组件由一个随选的装载程序决定。
nesC编译器的输入是一个单独的组件K。
nesC编译器首先装载C文件(第9.1节),然后装载组件K(9.2节)。
程序所有代码的装载是装载这两个文件的过程的一部分。
nesC编译器假定所有对函数,指令及事件的调用不以自然的属性(第10.3节)都发生被装载的代码中(例如.,没有对非自然的函数"看不见的"调用)。
在装载文件预处理的时候,nesC定义NESC符号,用于识别nesC语言和编译器版本的数字XYZ。
对于nesC,XYZ至少为110。
装载C文件,nesC组件及接口类型的过程包括定位对应的资源文件。
文件定位的机制不是本参考手册中所要讨论的。
要详细了解通用编译器是如何作业的,请阅读《thenccmanpage.》装载C文件X如果X已经被装载,就不用再做什么。
否则,就要定位并预处理文件X.h。
C宏定义(由#define和#undef)的改变会影响到所有的后面的文件预处理。
来自被预处理的文件X.h的C声明和定义会进入C全局命名环境,因而对所有的后来的C文件加工,接口类型和组件是有影响的。
2015/2/14 1:08:24 1.18MB 指导书
1
操作系统实验指导书,一个nesC应用程序有三个部份。
:一连串的C声明和定义,一组接口类型,和一组组件。
nesC应用程序命名环境构造如下:最外层的全局命名环境,包含三个命名域:一个C变量,一个用于C声明和定义的C标签命名域,和一个用于组件和接口类型的组件和接口类型命名域。
通常,C声明和定义可以在全局命名环境内部引入自己的嵌套命名域(用于函数声明和定义的函数内部代码段,等等)。
每个接口类型引入一个命名域,用于保存接口的指令或事件。
这种命名域是嵌套于全局命名环境的,所以指令和事件定义能影响全局命名环境中的C类型和标签定义。
每个组件引入二个新命名域。
规格命名域,嵌套于全局命名环境,包含一变量命名域用于存放组件规格元素。
实现命名域,嵌套于规格命名域,包含一个变量和一个标签命名域。
对于结构,作用范围变量命名域包含组件用以引用其包含组件的名字(7.1节).对于模块,作用范围保存作业,以及模块体中的C声明和定义。
这些声明,及其它可能引入自己的嵌套在作用范围内的命名域(比如函数体,代码段等等).由于这种命名域的嵌套结构,模块中的代码可以访问全局命名环境中的C声明和定义,但是不能访问其他组件中的任何声明或定义.。
构成一个nesC应用程序的C声明和定义,接口类型和组件由一个随选的装载程序决定。
nesC编译器的输入是一个单独的组件K。
nesC编译器首先装载C文件(第9.1节),然后装载组件K(9.2节)。
程序所有代码的装载是装载这两个文件的过程的一部分。
nesC编译器假定所有对函数,指令及事件的调用不以自然的属性(第10.3节)都发生被装载的代码中(例如.,没有对非自然的函数"看不见的"调用)。
在装载文件预处理的时候,nesC定义NESC符号,用于识别nesC语言和编译器版本的数字XYZ。
对于nesC,XYZ至少为110。
装载C文件,nesC组件及接口类型的过程包括定位对应的资源文件。
文件定位的机制不是本参考手册中所要讨论的。
要详细了解通用编译器是如何作业的,请阅读《thenccmanpage.》装载C文件X如果X已经被装载,就不用再做什么。
否则,就要定位并预处理文件X.h。
C宏定义(由#define和#undef)的改变会影响到所有的后面的文件预处理。
来自被预处理的文件X.h的C声明和定义会进入C全局命名环境,因而对所有的后来的C文件加工,接口类型和组件是有影响的。
2017/1/3 12:03:08 1.18MB 指导书
1
现代编译原理(虎书,包含c版和java版中英文,源码,全书答案。
《现代编译原理:C语言描述》全面讲述了现代编译器的结构、编译算法和实现方法,是Andreww.Apple的“虎书”——ModernCompilerImplementation——“红、蓝、绿”三序列之一。
这三本书的内容基本相同。
但是使用不同的语言来实现书中给出的一个编译器。
本书使用的是更适合广大读者的c语言,而另外两本书分别采用ML语言和Java语言。
本书的另一个特点是增加了一些其他编译原理教科书没有涉及的内容。
前端增加了面向对象的程序设计语言、函数式程序设计语言等现代语言的编译实现方法,后端增加了针对现代计算机体系结构特征的一些比较成熟的优化方法。
这部分内容展现了现代商业编译器需解决的一些关键问题,开拓了学生的视野,为学生未来进行更深入的研究奠定了基础。
《现代编译原理:C语言描述》全面讲述了现代编译器的各个组成部分,包括词法分析、语法分析、抽象语法、语义检查、中间代码表示、指令选择、数据流分析、寄存器分配以及运行时系统等。
全书分成两部分,第一部分是编译的基础知识,适用于第一门编译原理课程(一个学期);
第二部分是高级主题,包括面向对象语言和函数语言、垃圾收集、循环优化、ssA(静态单赋值)方式、循环调度、存储结构优化等,适合于后续课程或研究生教学。
书中专门为学生提供了一个用C语言编写的实习项目,包括前端和后端设计,学生可以在一学期内创建一个功能完整的编译器。
2015/4/3 4:39:10 40.49MB 编译原理
1
举个例子,当年没有数据库的时候,人们编程来操作文件系统,这相当于我们编写mapreduce来分析数据后来有了数据库,再没人操作文件系统了(除非有其它需求),而是直接使用sql和一些语言(php,java,python)来操作数据.这就相当于hive+python了hive+python能处理大多的需求,除非你的数据是非结构化数据,此时你就回到了远古时代不得不写mapreduce了.而为什么不使用hive+java,hive+c,hive+...因为:python真是太好用了,脚本语言,无需编译,有强大的机器学习库,适合科学计算(这就是数据分析啊!!)hive与python的分工:使用hives
2020/5/1 9:05:10 1011KB hive+python数据分析入门
1
共 31 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡