- 博客(45)
- 收藏
- 关注
原创 25.1.7 基于STM32U575RITX中断实验
1.单片机有三种工作模式(定义全局变量MM表示模式,MM=1,2,3表示三种不同的模式)按键按下一次,设备打开,按键再按下一次,设备关闭(设备管脚输出反向电平)2.可以在某一个模式下通过拓展板KEY1按键控制设备。
2025-01-07 19:52:57
225
原创 25.1.3 UART串口通信
功能:电脑输入LED_ON点亮扩展版LED灯,输入LED_OFF熄灭扩展版LED灯。功能:电脑输入LED_ON点亮扩展版LED灯,输入LED_OFF熄灭扩展版LED灯。
2025-01-06 20:56:01
155
原创 11.21c++中的函数
4.编写swap(另一个对象) 的函数,实现交换2个对象的字符串 mystring str = "hello" mystring ptr = "world" str.swap(ptr) str == "world",ptr == "hello"5.添加 + 功能:本质就是append str1 = "hello" str2 = "world" str3 = str1 + str2 =="helloworld"2.编写 append(const mystring r) 为当前字符串尾部,拼接新的字符串r。
2024-11-26 20:28:22
356
原创 11.19c++面向对象+单例模式
编写如下类: class File{ FILE* fp };1:构造函数,打开一个指定的文件 2:write函数 向文件中写入数据 3:read函数,从文件中读取数据,以string类型返回。
2024-11-26 20:09:52
634
原创 10.15 标准IO
1 :2024 年10月15日 6 时23分39秒。2 :2024 年10月15日 6 时23分40秒。3 :2024 年10月15日 6 时23分41秒。4 :2024 年10月15日 6 时23分42秒。6 :2024 年10月15日 6 时23分44秒。10 :2024 年10月15日 6 时23分48秒。15 :2024 年10月15日 6 时23分53秒。
2024-10-16 20:43:33
384
原创 10.12 标准IO
编写2个.c文件,save.c 和 load.c save.c负责: 使用fprintf将3个学生的所有信息保存到文件中去 load.c负责: 使用fscanf读取文件中的3个学生的信息,将读取到的数据,保存到另一个开辟的空间中去,并输出空间中的内容 最终实现效果: 运行save.c,会将准备的学生信息写入文件中 运行load.c,会将文件中的所有学生信息输出到终端上。*Pstu_t//声明学生结构体类型。*Pstu_t//声明学生结构体类型。
2024-10-12 12:08:52
389
原创 9.25 数据结构-二叉树 排序 查找算法总结
2> 原理:从待排序序列中,选定一个基准,以此为基准,将待排序序列分为大小两个部分,对每个部分,再次选择基准进行上述操作,直到每一部分的元素只有一个,则排序成功。3> 在二叉树的第n个节点处,如果该节点有左孩子,那么该左孩子是该树的第2*n个节点,如果有右孩子,那么是第2*n+1个节点。函数功能:每次访问一个新节点时,先中序遍历其左子树,然后访问根节点的数据,最后访问右子树。---> 先根 再左 再右。③ 然后从最左边元素和中轴比,比中轴小,下标加加,后移继续比较,遇到一个比中轴大的放在右边。
2024-09-27 21:03:18
1328
原创 9.24 数据结构-栈、队列总结
1、操作受限的线性表,只能队尾入队,队头出队。1、操作受限的线性表,只能在一端插入删除。循环队列可以解决顺序队列的假溢出现象。2、先进后出或者后进先出的线性表。2、先进先出,后进后出的线性表。1、借助数组来存储的队列。1、借助数组来存储的栈。3.1从栈底到栈顶遍历。3.2从栈顶到栈底遍历。1、存储队列元素的数组。1、用来存储栈的数组。2、记录下标的top。
2024-09-25 09:00:46
550
原创 9.23 数据结构-单链表补充
完成单链表操作,要求节点构造类型。1、建立学生结构体(学号,姓名,成绩)2、循环调用头插法创建整表3、遍历单链表4、任意位置插入一个完整的学生信息5、任意位置删除一个学生。6、单链表逆置7、单链表按照学生成绩排序。
2024-09-24 20:22:22
277
原创 9.24 数据结构-顺序表、单链表、双向链表、循环链表总结
目标:存储班级所有学生信息,然后对班级同学进程增删改查,去重,排序,查找等。例如:顺序表,顺序栈,顺序队列,顺序串,单链表,双链表,循环链表都属于线性表。3、单链表节点存在第0号节点(头节点),不存储数据,只存储节点个数len。例如:数据元素人有两条腿,有耳朵,有嘴,这些都是组成数据元素的最小单位。1、每个节点都有2部分组成,一部分是存储数据,一部分是存储地址。例如:1班,2班,3班 都属于数据对象,构成班级属于数据。2、节点描述:存储数据的叫数据域,存储地址的叫指针域。
2024-09-22 17:26:45
814
原创 9.20 数据结构-单链表
printf("按值删除失败\n");return -1;for(i=0;ilen;i++){Q=t;//保留要删除最后节点前一个节点地址sub=0;t=t->next;//遍历链表//保留要删除节点的地址//跨过要删除节点L->len--;//长度-1free(W);//释放要删除节点空间W=NULL;//指针置空return 0;}else{printf("链表中没有相同的值,删除失败\n");return -1;printf("按值修改失败\n");
2024-09-22 16:43:05
324
原创 9.19数据结构-顺序表
14.按照学号查找返回位置(二分查找算法实现)12.按照姓名查找返回位置(顺序查找算法)13.按照姓名从小到大排序(冒泡排序)1.创建顺序表,制作简易菜单选项。2.循环输入输出学生信息。3.任意位置插入一个学生。4.任意位置删除一个学生。5.任意位置查找一个学生。6.任意位置修改一个学生。15.按照年龄查找并修改。16.按照学号查找并删除。10.表尾删除一个学生。7.表头插入一个学生。8.表尾插入一个学生。9.表头删除一个学生。11.去除重复的学生。
2024-09-19 21:34:50
285
原创 9.18 数据结构
第一种: struct student{ int id;}a;//学生变量a第二种: struct student{ int id;//学生变量a}Car;Car a={"丰田",13.5,"白"};Car b={"大众",23.4,"红"};printf("交换前a信息:名称:%s,价钱:%.2f万元,颜色:%s\n\b信息:名称:%s,价钱:%.2f万元,颜色:%s\n",Car temp=a;//进行ab互换a=b;b=temp;
2024-09-18 20:14:03
1095
原创 9.14 数据结构
1》一个进程启动后,计算机会给该进程分配4G的虚拟内存2》其中0G-3G是用户空间【程序员写代码操作部分】【应用层】3》3G-4G是内核空间【与底层驱动有关】4》所有进程共享3G-4G的内核空间,每个进程独立拥有0G-3G的用户空间5》内存分区的目的是:专人专项、提高效率1.1栈区特点1》运行时自动分配和回收: 栈是自动管理的,程序员不需要手工干预,使用起来方便简单。2》反复使用: 栈内存在程序中其实就是那一块空间,程序反复使用这一块空间。
2024-09-16 21:23:00
776
原创 9.11 C语言基础-函数
分析:printf()参数时先计算fun(5),因为func内部b为静态局部变量,所以调用结束后b内存不会释放,值保留,且只初始化一次,func(5)返回值为5,b的值为5,再计算func(1)返回值为6,b的值为6,再计算func(3)返回值为9,b的值为9,所以func(1)+func(3)值为15,所以打印结果为15 9。答案:x=7传值,p=7-fun(5),fun(5)=5-fun(3),fun(3)=3-fun(1),fun(1)=3,再逆回运算得,p=7-5=2,选B。
2024-09-11 21:42:48
850
原创 9.10 C语言基础-函数
答案:main函数有int argc const char *argv[],其中int argc表示终端传递字符串的个数,const char *argv[]表示终端传递字符串,用字符指针数组接收;答案:值传递,在函数调用时使用值传递时,形参接收外部变量的值,形参的改变不会影响到实参的值,只是外部变量值的拷贝;地址传递,在函数调用时使用地址传递时,形参接收外部变量的地址,使得形参指向外部变量,对形参进行解引用操作时,可以改变外部变量的值。题目:简述:函数之间两种参数传递方式的区别。答案:值传递,地址传递。
2024-09-10 19:48:19
396
原创 9.9 C语言基础-指针
p=0x123;//因为p对应的地址未被使用或初始化,直接解引用会非法访问内存,段错误//???问题未解决return 0;
2024-09-09 21:23:29
809
原创 9.7 C语言基础-练习复习
(12)核心语句需添加不少于5行的规范注释描述实现思路(4分)(1)定义接收操作数及运算符的变量,名称要符合规范(2分)(3)提示并输入运算符[加减乘除用字母代表](2分)(10)正常计算两数相除并输出结果(2分)核心。(7)正常计算两数相加并输出结果(2分)核心。(8)正常计算两数相减并输出结果(2分)核心。(9)正常计算两数相乘并输出结果(2分)核心。(2)提示并输入第一个操作数(2分)(4)提示并输入第二个操作数(2分)(6)对应的运算(3分) 核心。正确定义一维数组(2分)
2024-09-08 10:39:29
782
原创 9.5 C语言基础-数组
/输入行数列数printf("请输入行数,列数\n");printf("请输入第一个数组\n");for(i=0;i<rows;j<cols;j++){printf("请输入第二个数组\n");for(i=0;i<rows;j<cols;i<rows;j<cols;
2024-09-05 21:21:10
358
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人