- 博客(20)
- 收藏
- 关注
原创 stc8h8k64u 定时器配合独立按键控制流水灯模式+定时器实现数码管0-9显示
stc8h8k64u 单片机共有五个定时器(详情参考使用手册),首先我们先配置定时器模式寄存器(TMOD),在这里我们这使用定时器T0,所以给TMOD赋0000 0001,TL0,TH0两个八位寄存器在16位模式合在一起使用,定时器1us自增一次,16位的最高值位65535,我们这里将这两个寄存器的初始值设置为64535,也就是1ms中断一次,TF0位溢出进位标志,先将其请0,TR0为定时器开始计时标志,1为开始计时,ET0则为允许中断,1表示允许中断,EA和PT0则是打开中断里的两个通路(也可以不配置)
2024-11-16 16:08:20
677
原创 C语言实现常见排序算法(直接插入排序,希尔排序,堆排序,选择排序,冒泡排序,快速排序,归并排序)
思想:直接插入排序的思想就是从end+1的位置(也就是第二个元素的位置)往后比较,如果后一个元素比前一个元素大,就把后一个元素往前移,因为是从第二个元素的位置开始,所以当执行到else时,即代表后面有序,所以无论是在if中停止还是在else中停止,最后的a[end+1] 都是key保存的正确位置(因为end放的第一个元素的下标,进入if代表往后移了,往前移end就--,那么end就是被移动的元素的位置,座椅所以加一是正确位置)。这里注意不能直接排序放到原数组中,这样可能会导致覆盖。大概就是这样子的思想。
2024-08-20 23:33:05
621
原创 c++大作业,模拟实现传统rpg游戏口袋妖怪(c++ + qt)
由于代码量较大解释起来较复杂所以,这里就不具体解释了,完整代码在最上面的文档中。需要具体解释的可以评论留言,后面我也会慢慢完善,再上传。
2024-07-26 15:07:19
1172
5
原创 qt知识点(播放音乐,设置不规则图形,背景透明化)
使用媒体播放类QMediaPlayer和音频输出类QAudioOutput//实例化音频输出对象//将音频输出设备与player对象关联//设置播放音频//设置播放次数,-1为循环播放//开始播放。
2024-07-25 11:18:17
249
原创 C语言--数组知识回顾
一维数组一维数组一维数组的创建数组是一组相同类型元素的集合注意:在c99标准之前,数组的大小必须是常量或者常量表达式。在c99之后,数组的大小可以为变量,为了支持变长数组。用变量的数组不能初始化。
2024-03-24 19:31:50
494
1
原创 c语言模拟实现memmove函数
上面的图片我们可以看到,红色方框指向的是dest,黑色的方框指向的是source,当dest > source 的时候, 如果从前往后拷贝,那么等到source来到3的位置的时候,3就变成了1,在继续拷贝4就变成了2,这就会导致拷贝错误(原本dest来到3的位置,应该是要将3拷贝到5的位置,但是从前往后就在3还没拷贝时将3改成了1,最后将1拷贝到了5的位置),正确拷贝结果应该是,1 2 1 2 3 4 5 8 9 10,而错误拷贝结果则是,1 2 1 2 1 2 1 8 9 10。
2024-03-13 20:50:59
429
原创 C语言模拟实现strcmp函数
从上表我们可以看出,当第一个字符串小于第二个字符串,会返回一个小于0的数字,相等则会返回数字0,大于则会返回一个大于0的数字 ,所以在模拟实现时,我选择直接返回两个指针解引用后做差,接下来看看代码。先让我们来看一下strcmp的函数参数设置。
2024-03-11 22:57:15
429
1
原创 三种方法实现strlen函数
这里就是利用了一个整形变量才记录遍历数组时不为'\0'的个数,所以称为计算器法。这里是通过保存起始地址,然后等a指向'\0'时,两个指针相减。
2024-03-08 09:28:27
370
1
原创 C语言从键盘输入一个字母,如果是大写就输入其小写字母,如果是小写就转换成其大写字母
第一种方法这里是常规做法,由于字符在内存中存储的是它的ASCII值,所以可以利用这种方式,将大小写字母相互转换,这里没有判断其他字符的可能性,自己可以加上去。
2023-12-02 09:28:04
2261
原创 三种方式查找二进制中一的个数
这里举两个例子,4的二进制后几位为0100,在除二得到1时,上面1%2就等于1,count就会加加,然后1/2 = 0;循环停止再如6的二进制为0110,6/2变3时,3%2 == 1,count就++,然后3/2 == 1,1%2 == 1,count++,最后1/2 == 0;循环停下,return count。要注意,这里要将接收变量a的类型写成unsigned int ,如果是写个int,这里负数就不能实现查找。
2023-11-29 09:07:42
537
1
原创 C语言百钱百鸡的问题解决方法
由题目信息我们可以知道公鸡20只就到100钱了,而母鸡33只也到了99元了所以利用两个for循环就可以实现百钱百鸡的问题,代码中i为攻公鸡,j为母鸡,z为小鸡。
2023-11-19 15:24:59
515
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人