自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(68)
  • 收藏
  • 关注

原创 华清远见25072班单片机高级学习day1

摘要:本文介绍了嵌入式硬件开发的核心流程和关键概念。硬件开发基于通过软件控制硬件的思想,主要步骤包括:1)分析硬件连接和电路图;2)查阅主控芯片和驱动芯片手册;3)编写代码、烧录程序并进行调试。文中详细说明了PCB板、数字电路、芯片手册等基本概念,以及电阻、电容、二极管、三极管等元器件的标识方法。重点讲解了GPIO的多种工作模式,包括4种输入模式(浮空、上拉、下拉、模拟)和4种输出模式(开漏、推挽及其复用模式)。这些内容为嵌入式系统开发提供了基础技术参考。

2025-11-14 19:05:53 747

原创 华清远见25072班单片机基础学习day3

b ----- 有去无回地跳转bl ----- 有去有回地跳转。

2025-11-13 18:38:05 598

原创 华清远见25072班单片机基础学习day2

本文摘要:汇编指令分为基础指令和进阶指令两大类。基础指令包括数据操作指令(赋值、移位、位运算、算术运算、比较)和跳转指令;进阶指令涵盖内存读写、栈操作、特殊寄存器访问及软中断等。详细说明了汇编指令的基本格式规范,包括指令码、操作数分隔等语法要求。重点介绍了各类指令的具体功能和使用方法,如MOV/MVN赋值指令、LSL/LSR移位指令、AND/ORR位运算指令、ADD/SUB算术指令以及CMP比较指令的特性。最后指出比较指令直接影响状态寄存器且常与条件码配合使用。

2025-11-12 19:09:20 771

原创 华清远见25072班单片机基础学习day1

机器码为硬件识别的二进制编码;汇编指令集分为ARM、x86等不同架构;ARM处理器内核分为Cortex-M/R/A/X系列,对应不同应用场景;MCU为低性能微控制器,MPU为高性能微处理器。指令集分为精简(RISC)和复杂(CISC)两类,ARM属于精简指令集。ARM处理器工作模式包括线程模式和异常模式,Cortex-A系列还有多种特权模式。寄存器组织中包含43个可操作寄存器,SP、LR、PC为关键功能寄存器。CPSR寄存器记录程序状态,其高4位为状态标志位,低8位控制工作模式切换。

2025-11-10 20:48:22 1385

原创 华清远见25072班QT学习day2

本文介绍了Qt中QMainWindow常用类的使用方法:1. 菜单栏(QMenuBar)的创建与操作,包括添加菜单项和分隔符;2. 工具栏(QToolBar)的创建与设置,包括停靠范围、浮动控制和添加工具项;3. 状态栏(QStatusBar)的创建与标签添加;4. 浮动窗口(QDockWidget)的设置。同时介绍了UI界面文件的使用、资源文件添加的重要性,以及信号和槽的核心机制,包括两种连接方式(UI界面连接和组件右击槽函数)。

2025-10-16 19:50:20 819

原创 华清远见25072班C++学习day9

封装一个学生的类,定义一个学生这样类的vector容器, 里面存放学生对象(至少3个)再把这些学生从文件中读取出来,放入另一个容器中并且遍历输出该容器里的学生。再把该容器中的对象,保存到文件中。

2025-10-15 20:18:54 185

原创 华清远见25072班QT学习day1

本文介绍了Qt开发中的几个核心功能:1)调试输出工具QDebug的两种使用方式(类似printf和cout);2)窗口界面设置方法,包括标题、图标、大小、背景色等属性配置;3)常用组件(按钮、行编辑框、标签)的基本属性和操作方法;4)Qt的对象树机制,该机制自动管理父子组件的内存释放,简化了内存回收流程。这些功能构成了Qt框架的基础部分,特别是对象树机制是其核心优势之一。

2025-10-15 20:13:59 854

原创 华清远见25072班C++学习day8

本文摘要: C++面向对象编程的核心概念包括菱形继承、多态和模板。菱形继承通过虚继承解决数据冗余问题;多态通过虚函数实现运行时绑定,需注意虚析构函数防止内存泄漏;纯虚函数定义抽象类。模板包含函数模板和类模板,支持泛型编程。C++11新增auto类型推导和lambda表达式,后者提供匿名函数功能。

2025-10-11 19:57:02 708

原创 华清远见25072班C++学习day7

本文介绍了继承中的特殊成员函数和多继承。构造函数、析构函数、拷贝构造函数和拷贝赋值函数都会被继承到子类,且构造顺序是先父类后子类,析构顺序相反。多继承允许一个类由多个父类派生,其格式为"class 类名:继承方式1 类名1,..."。在拷贝操作中,若涉及深浅拷贝问题,需在父类和子类中分别处理。

2025-10-10 19:07:31 294

原创 华清远见25072班C++学习day6

本文摘要: 运算符重载:通过成员函数或全局函数重新定义运算符功能,但部分运算符(如.、?:、sizeof等)不可重载。 静态成员:类共享的静态数据成员需在类外初始化,静态成员函数只能访问静态数据。 继承目的:实现代码复用、建立类间关系、支持多态,涉及基类与派生类概念。

2025-10-09 19:57:38 288

原创 华清远见25072班C++学习假期10.6作业

已有定义:char a[]="xyz",b[]={'x','y','z'};,以下叙述中正确的是。//strlen求出字符串的长度,其实是字符串中字符的个数,不包括\0。b ,输出其由a与b字符串中字符从小到大的顺序排列的新的字符串。以下语句或语句组中,能正确进行字符串赋值的是。以下程序的运行结果是_____B)a数组长度小于b数组长度。以下程序运行后的输出结果是。A)数组a和b的长度相同。程序运行后的输出结果是。以下程序的输出结果是(程序运行后的输出结果是。程序运行后的输出结果是。程序运行后的输出结果。

2025-10-06 11:44:29 543

原创 华清远见25072班C++学习假期10.5作业

有5个学生上4门课程,要求输入全部学生的各门课程成绩,然后输出各门课程的平均成绩,并按照各个学生的平均成绩排序(成绩最高的学生排在数组最前面,最低学生排在数组最后面的行) (试着用下标法和地址法两种方法表示数组)1.10 有数组 int a[3][4] = {10,20,30,40,50,60,70,80,90,100,110,120},执行以下语句输出的是_______设int i,x[3][3]={1,2,3,4,5,6,7,8,9};有数组 int a[5] = {10,20,30,40,50},

2025-10-05 19:47:49 543

原创 华清远见25072班C++学习假期10.4作业

营套服,也单件出售,若买的不少于50套,每套80元;答:第二种,如果误写成if (10 = n)编译器会报错(常量不能被赋值);答:1、while(1) { ... };答:利用等差数列求和公式 sum = n*(n+1)/2,时间复杂度O(1)if (n == 10) // 第一种判断方式。if (10 == n) // 第二种判断方式。+100的和,最优化的算法是?以下程序在输入5,2之后的执行结果是(以下程序的执行结果是(以下程序的输出结果是。以下程序的执行结果是。以下程序的执行结果是。

2025-10-04 13:34:06 744

原创 华清远见25072班C++学习假期10.3作业

3.2 创建一个函数plus(),它把两个数值加在一起,返回它们的和,提供处理int、doble和string类型的重载版本,测试它们是否能处理下面的调用。答:能调用,C++会进行隐式类型的转换将int 3转换成double 3.0然后与double 4.2进行运算。3、下面是一个输入半径,输出其面积和周长的C++程序,在下划线处填上正确的语句。则以下调用哪些是错误的,哪些可以并与那个函数匹配,编程验证。(1)给string版本的函数传送参数最有效的方式是什么?3、下列有关重载函数的说法中正确的是(

2025-10-03 12:01:25 766

原创 华清远见25072班C++学习假期10.2作业

3】实现对MyString 对象的输入、输出。支持构造函数、拷贝构造函数、赋值运算符。实现基本的字符串操作:长度、拼接、比较。题目1:自定义字符串类实现。4】正确处理内存管理。

2025-10-02 12:36:05 247

原创 华清远见25072班C++学习day4

本文介绍了C++类中的特殊成员函数及其特性。构造函数通过初始化列表完成成员初始化;析构函数在对象生命周期结束时自动调用,用于资源回收;拷贝构造函数用于对象初始化时的复制,区分浅拷贝和深拷贝;拷贝赋值函数通过运算符重载实现对象赋值。重点说明了指针成员需手动管理内存,避免内存泄漏。

2025-09-29 19:59:53 879

原创 华清远见25072班C++学习day3

本文主要介绍了C++中类的核心概念和动态内存管理机制。类由结构体演变而来,区别在于默认访问权限和继承方式不同(类为private,结构体为public)。类通过封装将数据和操作绑定,包含三种访问权限:public(类内外均可访问)、protected(仅类内和子类)和private(仅类内)。类中非静态成员函数隐含this指针,指向当前对象。动态内存管理方面,C++提供new/delete关键字替代C的malloc/free,new可按数据类型分配并初始化,且能自动调用构造函数。

2025-09-26 19:18:08 982

原创 华清远见25072班C++学习day2

本文介绍了C++中引用、const、函数重载等核心概念。引用是变量的别名,可用于数组、函数等,需注意引用作为返回值时的生命周期要求。const修饰只读变量需初始化。函数重载通过形参类型/个数区分,支持默认参数和内联函数优化。相比C语言,C++结构体支持成员函数、继承等特性。

2025-09-25 20:18:42 960

原创 华清远见25072班C++学习day1

Qt 是一个跨平台的 C++图形用户界面应用程序框架。它为应用程序开发者提供建立艺术级图形界面所需的所有功能。它是完全面向对象的,很容易扩展,并且允许真正的组件编程。

2025-09-24 19:51:15 1095

原创 华清远见25072班网络编程day9学习

ModBus协议是工业领域广泛应用的通信协议,主要包括三种形式:RTU(二进制高效传输)、ASCII(字符传输效率低)和TCP(基于以太网)。本文重点介绍了ModBusTCP的实现方法,包括其协议结构(7字节报文头+1字节功能码+数据)、四种寄存器类型,以及主从问答式通信特点(默认端口502)。通过C语言代码示例,展示了单/多线圈和寄存器数据的读写操作,包括套接字创建、协议封装、数据发送接收和解析过程。这些示例为工业设备通信开发提供了实用参考,体现了ModBus协议简单、紧凑、易用的优势。

2025-09-18 21:03:04 1166

原创 华清远见25072班网络编程学习day8

本文介绍了万维网(WWW)的基本概念和核心技术。主要内容包括:1)万维网是基于超文本的信息系统,通过URL实现资源定位,采用B/S架构;2)HTTP协议作为应用层协议,具有无状态、无连接的特点,支持客户端-服务器通信;3)HTML语言用于创建超文本文档,包含各类标签定义页面结构;4)HTTP报文分为请求报文和响应报文,详细说明了其格式、请求方法和状态码的分类。文章系统性地阐述了Web技术的基础架构和工作原理。

2025-09-17 20:39:00 850

原创 华清远见25072班网络编程学习day7

摘要:本文实现了一个基于TCP协议的网络电子词典系统,包含客户端和服务器端程序。客户端提供用户注册、登录、单词查询和历史记录查询功能,采用菜单驱动界面,通过TCP套接字与服务器通信。服务器端使用多线程处理并发请求,通过SQLite数据库存储用户信息(用户名、密码)和查询历史记录(单词、时间)。系统实现了完整的用户认证流程、单词查询(从本地词典文件匹配)以及历史记录存储与检索功能,具有循环发送数据确保完整传输、超时处理等机制。

2025-09-17 14:36:50 1455

原创 华清远见25072班网络编程学习day6

SQLite是一个轻量级嵌入式数据库,具有零配置、单一文件存储、跨平台共享等特性。文章介绍了数据库基本概念(数据、记录、字段)和SQLite的核心特点(3万行C代码、支持2TB数据)。详细讲解了SQLite3命令语句,包括数据库创建、表操作(增删改查)、主键设置等。还介绍了SQLite3的C语言API函数,如sqlite3_open、sqlite3_exec等。最后布置了三个实践作业:匿名测评系统、管理系统开发和思维导图制作。全文涵盖了SQLite从基础概念到实际应用的全方位内容。

2025-09-15 20:59:22 1563 1

原创 华清远见25072班网络编程学习day5

/发送的数据包大小为,读取到的字节数(res)+操作码(2byte)+快编号(2byte)sin.sin_addr.s_addr = inet_addr(SER_IP);//要连接的服务器ip。printf("-----文件上传失败,请检查网络环境-----\n");printf("-----文件上传完毕-----\n");//关闭通信的套接字。

2025-09-14 21:24:27 1218

原创 华清远见25072班网络编程学习day4

程序源码:#define SER_IP "192.168.153.128" //服务器ip地址#define SER_PORT 8888 //服务器端口号int newfd;//5.实现数据的收发while(1)//清空buf//从套接字中读取消息if(res==0)printf("客户端已下线\n");//1.创建一个用于连接的套接字文件描述符。

2025-09-11 21:26:02 848

原创 华清远见25072班网络编程学习day3

程序源码:#define SER_IP "192.168.109.15" //服务器ip地址#define SER_PORT 8888 //服务器端口号#define CLI_IP "192.168.153.128" //客户端ip地址#define CLI_PORT 7777 //客户端端口号//1.创建用于通信的套接字文件描述符return -1;

2025-09-10 21:35:59 744

原创 华清远见25072班网络编程学习day2

本文介绍了套接字通信的基本原理和关键函数。重点包括:1)socket()函数创建通信端点,支持TCP(SOCK_STREAM)和UDP(SOCK_DGRAM)两种方式;2)TCP通信流程涉及bind()绑定地址、listen()设置监听、accept()接受连接、connect()建立连接;3)UDP通信使用sendto()发送数据、recvfrom()接收数据。文中详细说明了各函数的参数格式和使用方法,包括地址结构体定义、端口/IP的字节序处理等核心概念

2025-09-09 20:38:12 1268

原创 华清远见25072班网络编程学习day1

本文主要介绍了网络编程的基础知识。首先阐述了引入网络编程的必要性,指出传统IPC通信方式无法实现跨主机通信,因此需要套接字通信。接着梳理了网络发展历史,从ARPAnet到TCP/IP协议再到OSI七层模型。重点对比了TCP和UDP协议的异同:TCP面向连接、可靠但效率低,UDP无连接、快速但不可靠。最后讲解了网络编程核心概念,包括字节序转换、IP地址分类、端口号作用及域名解析系统。这些内容为理解网络通信原理和进行网络编程开发奠定了基础。

2025-09-08 20:24:46 1156

原创 华清远见25072班I/O学习day6

本文介绍了多线程编程的基本概念和实现方法。主要内容包括:1)线程是轻量级进程,共享进程资源但易导致不安全状态;2)Linux中线程编程需安装POSIX线程库,编译时加-lpthread选项;3)详细讲解了线程创建、线程号获取、线程退出和资源回收等API;4)重点分析了线程同步互斥机制,包括互斥锁的实现和两种同步方式:无名信号量和条件变量

2025-09-06 11:33:32 1079

原创 华清远见25072班I/O学习day5

本文介绍了共享内存和信号量集的原理及API。共享内存部分包括ftok()生成key、shmget()创建共享内存、shmat()映射到进程地址空间、shmdt()断开连接以及shmctl()控制操作。信号量集部分详细说明了semget()创建信号量集、semop()操作信号量以及semctl()控制信号量的方法,并提供了设置信号灯初始值和删除信号量数组的示例。

2025-09-04 21:48:00 1271

原创 华清远见25072班I/O学习day4

本文介绍了进程间通信(IPC)的三种主要方式:1)信号通信,通过kill和signal函数实现进程间单向通知;2)消息队列,使用ftok生成key、msgget创建队列、msgsnd/msgrcv进行消息收发;3)共享内存和信号量等其他IPC机制。重点讲解了信号通信的实现原理,包括信号的发送(kill函数)和接收处理(signal函数),以及如何利用SIGCHLD信号回收僵尸进程。同时介绍了消息队列的创建、发送和接收消息的具体API函数及参数说明。

2025-09-03 21:01:51 897

原创 华清远见25072班I/O学习day3

本文主要介绍了多进程编程的相关概念与技术要点。首先阐述了引入多进程的目的,即解决单进程任务阻塞问题,实现任务并发执行。详细讲解了进程的概念,包括进程的生命周期、资源分配、存储结构等核心内容,区分了进程与程序的区别。文章还介绍了三类进程(交互进程、批处理进程、守护进程)和特殊进程,并说明了进程状态及其查看命令。在多进程编程部分,重点讲解了进程创建、进程号获取、进程退出和资源回收等关键系统调用函数。

2025-09-02 20:21:17 1387

原创 华清远见25072班I/O学习day2

本文介绍了文件I/0和标准I/O的关键函数及其用法。主要内容包括:1)模块化读写函数fread/fwrite的参数和使用方法;2)文件指针操作函数fseek/ftell/rewind的功能和调用方式;3)三种缓冲区类型(全缓存、行缓存、不缓存)及其刷新时机;4)文件描述符的概念和open/close函数;5)read/write和lseek函数的使用。

2025-09-01 20:37:55 1093

原创 华清远见25072班I/O学习day1

IO(输入输出)是程序与外部设备交互的过程,分为标准IO和文件IO。标准IO通过库函数实现,使用文件指针操作,具有缓冲区;文件IO是系统调用,使用文件描述符,无缓冲区。文章详细介绍了标准IO提供的功能(如FILE结构体、偏移量宏、缓冲区类型)和常用接口函数(fopen/fclose、fgetc/fputc、fscanf/fprintf等)。同时对比了两种IO方式的区别,并列出文件IO的基本操作函数(open/close/read/write等)。最后提到标准IO默认打开的三个文件指针

2025-08-30 10:34:12 1006

原创 华清远见25072班数据结构学习day4

本文主要介绍了树结构的基本概念和二叉树的相关知识。在树结构中,解释了节点、父子节点、兄弟节点等基本术语,以及度、层次等重要属性。重点阐述了二叉树的定义和特点,包括满二叉树和完全二叉树的区别,以及二叉树的性质(如节点数计算、层数关系等)。文章还介绍了二叉树的四种遍历方式:前序、中序、后序和广度优先遍历

2025-08-26 20:58:40 576

原创 华清远见25072班数据结构学习day3

顺序表和链表的区别与优缺点。双向循环链表实现:完成了头插、尾插、头删、尾删等核心操作,通过prev/next指针实现双向连接,头节点同时指向首尾节点形成循环。关键点在于处理节点间的双向指针关系。 顺序栈实现:包含创建栈、入栈、出栈、输出栈和销毁栈功能。使用数组存储,top指针标识栈顶位置,注意栈满(stack->top == MAXSIZE-1)和栈空(stack->top == -1)的边界条件处理。

2025-08-25 21:05:47 1227

原创 华清远见25072班数据结构学习day2

本文系统介绍了链表数据结构及其实现。主要内容包括:1) 链表与顺序表的对比分析:链表在插入删除操作上具有O(1)时间复杂度优势,而顺序表在查找修改上效率更高;2) 链表分类及特点:详细说明单向链表、循环链表等不同结构;3) 完整C语言实现:提供单链表的创建、插入(头插/尾插/位置插)、删除(头删/尾删/位置删)、查找、修改、逆置、排序等核心操作的源代码;4) 实际应用示例:通过main.c展示各功能模块的调用方式。

2025-08-23 14:32:14 1145

原创 华清远见25072班数据结构学习day1

这篇摘要介绍了Makefile的基本概念和使用方法。主要内容包括:1) Makefile的作用是高效管理程序编译过程,通过生成中间.o文件优化编译;2) Makefile由规则、变量和函数构成,通过时间戳判断文件是否需要重新编译;3) 详细说明了变量赋值方式、伪目标、通配符函数(wildcard和patsubst)的使用;4) 提供了一个通用的Makefile模板;5) 简要介绍了数据结构中的顺序表概念和基本操作。

2025-08-21 21:00:49 1151

原创 华清远见25072班C语言学习day12

摘要:本文介绍了C语言中三种构造数据类型:结构体、共用体和枚举。重点讲解了结构体的定义、成员访问、指针操作以及字节对齐规则,包括嵌套结构体和位域处理。共用体部分说明其共享内存特性及大小计算方法。枚举部分阐述其定义方式和使用场景。最后简要提及分文件编译的方法,强调头文件在模块化编程中的重要性。文章内容覆盖了这些复合数据类型的基本概念和使用要点。

2025-08-19 19:09:46 1197

原创 华清远见25072班C语言学习day11

【摘要】本文系统讲解了C语言函数的定义、分类、调用、返回值及参数传递等核心概念。重点内容包括:函数定义格式(返回值类型、参数列表)、四种分类方式(有/无参、有/无返回值)、调用机制(实参初始化形参)、数组参数传递(指针接收)、指针函数与函数指针的区别。同时介绍了全局/局部变量、static关键字、动态内存管理(malloc/free)以及递归函数设计三要素(出口、逻辑、返回值)。最后通过三个递归编程实例(鸭子问题、二进制转换、斐波那契数列)演示了递归应用,并附完整源码实现。

2025-08-18 20:10:50 1297

空空如也

空空如也

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

TA关注的人

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