自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(59)
  • 资源 (1)
  • 收藏
  • 关注

原创 UDP通信

一、头文件二、服务端三、客户端

2020-09-09 17:04:21 349

原创 C与指针

有些任务其他语言也可以实现,但C能够更有效地实现。有些任务无法用其他语言实现,如直接访问硬件,但C却可以。指针虽然很强大,但与之相伴的风险也不小。一、注释/*** 标准输入** 标准输出**** ***/ 注释以符号/*开始,以符号*/结束。第一/*符号和第一个*/符号之间的内容都被看做是注释,不管里面还有多少个/*符号。 在有些语言中,注释有时用于把一段代码“注释掉”,也就是使这段代码在程序中不起作用,但并不将其真正从源文件中删除。...

2020-09-09 08:54:35 281

原创 基于Qt的示波器软件设计

本文设计的示波器采集系统软件,根据设计的内容主要分为两大模块,一个是数据传输模块,另一个是波形显示模块。

2020-05-17 13:04:15 1976 5

原创 C++基础学习笔记 day04

1.静态成员变量在一个类中,若将一个成员变量声明为static,这种成员称为静态成员变量。与一般的数据成员不同,无论建立了多少个对象,都只有一个静态数据的拷贝。静态成员变量,属于某个类,所有对象共享。静态变量,是在编译阶段就分配空间,对象还没有创建时,就已经分配空间。#include <iostream>using namespace std;class Pers...

2019-11-17 16:31:23 180

原创 C++基础学习笔记 day03

1.设计立方体类设计立方体类(Cube),求立方体的面积(2*a*b + 2*a*c + 2*b*c)和体积(a*b*c),分别用全局函数和成员函数判断两个立方体是否相等?#include <iostream>using namespace std;/*设计立方体类(Cube)求立方体的面积(2*a*b + 2*a*c + 2*b*c)和体积(a*b*c)分...

2019-11-14 15:03:02 411

原创 C++基础学习笔记 day02

1.作业案例:设计圆类#include <iostream>using namespace std;const double pi = 3.14;// 1. 设置一个类,求圆的周长// 周长公式:2*pi*r class Circle // Class代表声明一个类 后面紧跟的是类的名称{public: // 公共权限 // 在类里面写函数...

2019-11-11 13:01:12 140

原创 C++基础学习笔记 day01

1.C++概述C++中的++来自于C语言中的递增运算符++,该运算符将变量加1。C++起初也叫“cwithclass”。通过名称表明,C++是对C的扩展,因此C++是C语言的超集,这意味着任何有效的C程序都是有效地C++程序。C++程序可以使用已有的C程序库。C语言和C++并不是对立的竞争关系。2. hello world书写#include <iostr...

2019-11-08 10:55:56 307

原创 QT入门学习笔记

一、Qt简介C++类库、图形造轮子 ——> 用轮子(我们是使用者)Qt可以做什么?图形界面开发库Qt最大的优势?可以跨平台操作Java可以跨平台是因为在不同平台上有Java虚拟机,慢。Qt在编译的阶段进行跨平台,比较简单。Qt的发展历史?1991芬兰,奇趣 Qt1~Qt3版本2008 诺基亚收购 Qt4版本2014 diyit公司收购...

2019-10-28 11:23:33 467

原创 C语言提高学习笔记

基础:C/C++(封装、继承、多态)、数据结构(了解思想)、系统编程(操作系统)提升:日志库、配置文件、IPC库、socket、数据库统一访问库跳跃:项目1. c语言概述1.1ANSI C/C89标准:不能用变量定义数组inta=1;intarray[a]; (错误)1.2C99标准:可以用变量定义数组2.内存分区2.1数据类型的基本概念数...

2019-10-16 22:50:36 206

原创 本人秋招结束了,愿所有人都拿到满意的offer

“金九银十”说的确实没有错,大公司大部分都在九月份招聘,十月份的公司基本上都不是上市的公司(不过也并不全对了)。我面试的岗位都是嵌入式软件开发(个别公司没有这个岗位我投的就是C/C++软件开发),九月份面试了有三家吧,十月份也有三家。1,海康威视(参考薪资:10K~11K):海康威视是我秋招面试的第一家公司,整个流程非常规范,是在酒店面试的,感觉非常正规,面试总共有两次,一面是技术面...

2019-10-15 23:50:03 1880 6

原创 字符串和格式化输入、输出

一、字符串简介1.1 字符串简介字符串(characterstring)是一个或者多个字符的序列,如下所示:"HUAWEINB!"双引号不是字符串的一部分。双引号仅告知编译器它括起来的是字符串,正如单引号用于标识单个字符一样。1.2char类型数组和null字符C语言没有专门用于存储字符串的变量类型,字符串都被存储在char类型的数组中。数组由连续的存储单元组成,...

2019-09-25 13:36:08 289

原创 Note6:进程间通信(IPC)

首先,先来讲一下fork之后,发生了什么事情。由fork创建的新进程被称为子进程(child process)。该函数被调用一次,但返回两次。两次返回的区别是子进程的返回值是0,而父进程的返回值则是新进程(子进程)的进程 id。将子进程id返回给父进程的理由是:因为一个进程的子进程可以多于一个,没有一个函数使一个进程可以获得其所有子进程的进程id。对子进程来说,之所以fork返回0给它,是因为它随...

2019-09-13 12:20:00 186

原创 Note1:APUE引言

一、UNIX/Linux前世今生UNIX来源20世纪60年代是大型、复杂操作系统盛行的年代,比如IBM的OS/360和Honeywell的Multics系统。OS/360是历史上最成功的软件项目之一,而 Multics虽然持续存在了多年,却从来没有被广泛应用过。贝尔实验室曾经是Multics项目的最初参与者,但是因为考虑到该项目的复杂性和缺乏进展而于1969年退出。鉴于Mutics项目不愉...

2019-09-12 23:39:05 186

原创 网络短信猫项目总结

ppp拨号上网:开发板平台:fl2440Linux内核版本:linux-3.0模块:sim5360eppp拨号的三个阶段:1.ppp协议是一个数据链路层的协议,数据链路层在物理层和网络层之间,所以首先要建立线路上的链接,协商通信方式(数据压缩、加密、各种参数)。2.第二呢,就是用户验证,在拨号链接的过程中要验证用户名和密码。3.最后,ppp调用网络控制协议,...

2019-09-11 15:07:00 168

原创 Shell脚本

一、 Shell和Shell Script 从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁。用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操作。在Linux GUI日益完善的今天,在系统管理等领域,Shell编程仍然起着不可忽视的作用。深入地了解和熟练地掌握Shell编程,是每一...

2019-09-08 16:14:09 510

原创 操作系统原理

原文链接:https://www.cnblogs.com/engine1984/category/155390.html目录目录>> 操作系统原理1 —— 概念>> 操作系统原理2——OS结构>> 操作系统原理3——多道程序>> 操作系统原理4——存储管理>> 操作系统原理5——文件管理...

2019-09-07 19:43:22 11779 1

原创 程序员面试问题

一、 程序设计基本概念1.1 赋值语句int x = 2,y = 3,z = 3;x=( y & z ) // 1. 按位与x=( y && z ) // 2. 与运算y = 4;x=( y | z ) // 3. 按位或x=( y || z ) // 4. 或运算①按位与y :0011z...

2019-09-04 19:06:41 418

原创 数据结构与算法18——散列表(哈希表)

散列表(哈希表)查找我们要在a[ ]中查找key关键字的记录:—— 顺序表查找:挨个儿比较—— 有序表查找:二分法查找—— 散列表查找:?散列表的查找步骤当存储记录时,通过散列函数计算出记录的散列地址当查找记录时,我们通过同样的是散列函数计算记录的散列地址,并按此散列地址访问该记录。构造散列函数的两个基本原则好的散列函数 = 计算简单+分布均匀直接定址法—— 例...

2019-08-25 13:44:56 902

原创 编程中,循环、迭代和递归之间的区别

循环算是最基础的概念, 凡是重复执行一段代码, 都可以称之为循环. 大部分的递归, 遍历, 迭代, 都是循环。递归的定义是, 根据一种(几种)基本情况定义的算法, 其他复杂情况都可以被逐步还原为基本情况。在编程中的特征就是, 在函数定义内重复调用该函数。例如斐波那契数列, 定义F(0)=1, F(1)=1, 所有其他情况: F(x)=F(x-1)+F(x-2)所有大于1的整数经过有限次的反...

2019-08-25 12:53:03 1121

原创 数据结构与算法17——排序总结

2019-08-25 12:16:48 135

原创 数据结构与算法16——堆排序

一、完全二叉树定义:若设二叉树的深度为h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第 h 层所有的结点都连续集中在最左边,这就是完全二叉树。二、堆大顶堆:小顶堆:由以上图片可知:根结点一定是堆中所有结点最大或者最小者,如果按照层序遍历的方式给结点从1开始编号,则结点之间满足如下关系:下标i与2i和2i+1是双亲和子女关系。那么大顶堆和小顶堆用层序遍历存...

2019-08-22 16:01:08 385

原创 网络通信协议(互联网协议)

一、操作系统基础操作系统:(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。注:计算机(硬件)->OS->应用软件二、网络通信原理2.1 互联网的本质就是一系列的网络协议一台硬设有了操作系统,然后装上软件你就可以正常使用了,然而你也只能自己使用像...

2019-08-19 15:00:13 4766

原创 数据结构与算法15——冒泡排序

排序的基本概念与分类通过例子消化概念:在排序问题中,通常将数据元素称为记录。——显然我们输入的是一个记录集合,排序后输出的也是一个记录集合。——所以我们可以将排序看成是线性表的一种操作。排序的依据是关键字之间的大小关系,那么对同一记录集合,针对不同的关键字进行排序,可以得到不同序列。排序的稳定性影响排序算法性能的几个要素时间性能辅助空间算法的复杂度一、冒泡排...

2019-08-08 14:50:54 251

原创 数据结构与算法14——二叉树的建立和遍历算法

题目要求:建立二叉树并输出每个字符所在的层数。#include <stdio.h>#include <stdlib.h>typedef char ElemType;typedef struct _BiTNode{ char data; struct _BiTNode *lchild, *rchild;}BiTNode,*BiTree;...

2019-08-07 16:37:37 151

原创 数据结构与算法13——二叉树和二叉链表

一、二叉树的定义—— 每个结点最多有两颗子树,所以二叉树中不存在度大于2的结点。—— 左子树和右子树是有顺序的,次序不能颠倒。—— 即使树中的某结点只有一颗子树,也要区分是左子树还是右子树。(就像人的左右手,左手拿碗,右手拿筷子)二、二叉树的五种基本形态空二叉树只有一个根结点根结点只有左子树根结点只有右子树根结点既有左子树又有右子树对于很二的二叉树,由于要区分左右,所以...

2019-08-07 15:29:13 1433

原创 数据结构与算法12——树和树的存储结构

这是本次学习的第二个数据结构:树。之前我们一直讨论的是一对一的线性结构,无论是线性表也好,栈和队列也罢,都是2p模式。可是现实生活中,3p、4p等现象比比皆是,例如一个年轻的妈妈生了4个孩子,而每个孩子都不像他们的爸爸,那么这类情况我们用线性结构的形式就不足以描述了!所以我们需要研究这种一对多的数据结构:树。一、树的定义树(Tree)是n(n>=0)个结点的有限集。当n=0时成为空...

2019-08-07 14:40:26 242

原创 数据结构与算法11——队列

什么是队列?这就是队列这不是队列队列的定义:队列(queue)是只允许在一端进行插入操作,而在另外一端进行删除操作的线性表。与栈相反,队列是一种先进先出的线性表。与栈相同的是,队列也是一种重要的线性结构,实现一个队列同样需要顺序表或者链表作为基础。我们的输入缓冲区接受键盘的输入就是按队列的形式输入和输出的,不然的话就很容易出问题。例如有一天你突然心血来潮,企鹅发一句“ Y...

2019-08-06 17:11:46 159

原创 数据结构与算法10——栈(二进制转化为十进制数)

栈是一种重要的线性结构,可以这样讲,栈是前面所讲过的线性表的一种具体形式。栈的最大特点就是后进先出。(就像子弹一样,最后进的子弹,最先出枪口)栈的定义官方定义:栈(Stack)是一个后进先出的线性表,它要求只在表尾进行删除和插入。简单的理解:所谓的栈,其实也就是一个特殊的线性表(顺序表、链表),但是它在操作上有一些特殊的要求和限制:栈的元素必须“后进先出”;栈的操作只能在这个线性表...

2019-08-06 14:15:54 1770 1

原创 数据结构与算法9——双向链表

双向链表结点结构typedef struct _DualNode{ ElemType data; struct _DualNode *prior; // 前驱结点 struct _DualNode *next; // 后继结点}DualNode;双向链表的插入操作插入操作其实并不复杂,不过顺序很重要,千万不能写反了。双向链表的删除操作双向链表可以有效地提高算法的...

2019-08-05 21:05:06 188

原创 数据结构与算法8——循环链表(约瑟夫问题)

循环,顾名思义就是:绕。单链表不从头结点出发,就无法访问到全部的结点。事实上要解决这个问题也并不麻烦,只需要将单链表中终端结点的指针端由空指针改为指向头结点,问题就解决了。将单链表中终端结点的指针端由空指针改为指向头结点,就使得整个单链表形成一个环,这种头尾相接的单链表称为单循环链表,简称循环链表。约瑟夫问题据说著名犹太历史学家Josephus有过以下的故事:在罗马人占领乔塔帕特后...

2019-08-04 16:20:08 299

原创 数据结构与算法7——单链表小结(腾讯面试题)

题目:快速找到未知长度单链表的中间结点。既然是面试题就一定有普通方法和高级方法,而高级方法无疑会让面试官大大加分!普通的方法很简单,首先遍历一遍单链表以确定单链表的长度L。然后再次从头结点出发循环L/2次找到单链表的中间结点。算法复杂度为:O(L+L/2)=O(3L/2)。能否再优化呢?有一个很巧的方法:利用快慢指针!利用快慢指针原理:设置两个指针*search、 *mid 都指向单链表...

2019-08-03 16:49:47 336

原创 数据结构与算法6——单链表与顺序存储结构优缺点

我们学习线性表最主要的就是学习单链表

2019-08-03 15:08:21 527

原创 数据结构与算法5——单链表的整表创建和删除

——对于顺序存储结构的线性表的整表创建,我们可以用数组的初始化来直观理解。——而单链表和顺序存储结构就不一样了,它不像顺序存储结构数据这么集中,它的数据可以是分散在内存各个角落的,它的增长也是动态的。——对于每个链表来说,它所占用空间的大小和位置是不需要预先分配划定的,可以根据系统的情况和实际的需求即时生成。——人生的追求就要像单链表一样,灵活应变!单链表整表创建的算法思路如下:声明一...

2019-08-03 14:32:21 524 2

原创 数据结构与算法4——链式存储结构

前面所讲的线性表的顺序存储结构,它最大的缺点就是插入和删除时需要移动大量元素,这显然就需要耗费时间。线性表的链式存储结构的特点是用一组任意的存储单元存储线性表的数据元素,这组存储单元可以在内存中未被占用的任意位置。比起顺序存储结构每个数据元素只需要存储一个位置就可以了。现在链式存储结构中,除了要存储数据元素信息外,还要存储它的后继元素的存储地址(指针)。一、链式存储结构定义我们把存储数据元...

2019-08-02 15:26:03 1198

原创 数据结构与算法3——线性表性质与顺序存储结构

这是本次学习的第一个数据结构:线性表。首先通过图片感受一下,线性表的特征。——大家姑且可以把这幅图想象为老师带领同学们外出野营。因为咱们的队伍比较强大,要记住每一位同学并且区分还真是一件不容易的事。——所以咱们想到了一个办法,让大家按照一个约定排成一队,以后大家要怎么记住自己的位置呢?没错,大家只需要记住自己前面的同学就可以了。——老师也可以很容易的清点人数,万一有人走丢,也能在最快时间...

2019-08-01 15:59:07 490

原创 数据结构与算法2——时间复杂度和空间复杂度

一、算法效率的度量方法我们提到设计算法就要尽量的提高效率,这里效率高一般指的是算法的执行时间。所谓“是骡子是马拉出来溜溜”,比较容易想到的方法就是我们把算法跑个若干遍,然后拿个“计算器”在旁边计时。这种事后统计的方法看起来的确不错,并且也并非真的要你拿个计算器在那里算,因为计算机都有计时功能。事后统计方法——缺陷:必须依据算法事先编好测试程序,通常需要花费大量的时间和精力。不同的测试环境差...

2019-07-31 13:56:47 263

原创 数据结构与算法1——简单介绍数据结构和算法

一、什么是数据结构?数据结构事实上是这个样子的:—— 程序设计 = 数据结构 + 算法—— 再简单的来说数据结构就是关系,没错,就是数据元素之间存在的一种或者多种特定关系的集合。(比如说人与人之间就有剪不断理还乱的关系。)二、逻辑结构和物理结构逻辑结构:是指数据对象中数据元素之间的相互关系,也是我们今后最需要关注和讨论的问题。集合结构:线性结构树形结构图形结构物理...

2019-07-30 14:52:25 393

原创 3G模块SIM5360E Linux编程3——上网拨号

ppp上网

2019-07-25 17:00:50 230

原创 3G模块SIM5360E Linux编程2——串口通信检测

串口通信

2019-07-20 11:30:40 268

原创 3G模块SIM5360E Linux编程1——主线程

上网和发短信

2019-07-19 11:51:04 174

示波器采集系统软件设计.zip

本文设计的数据采集系统是通过下位机微控制器采集信号,由Andriod平板电脑接收采集信号,并且完成对信号的存储和处理。该系统软件是基于Qt平台、采用C++语言编程设计的,并且利用无线WIFI网络通信,接收来自下位机的实时数据,利用QCustomPlot工具在用户界面完成二维曲线的绘制。测试和实际应用结果表明,开发完成的信号示波器软件,可在平板电脑Andriod操作系统上运行,提高了数据采集和处理的效率。

2020-05-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除