自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

不负此刻努力

阿川的学习历程

  • 博客(36)
  • 收藏
  • 关注

原创 链表有无头结点的区别:删除链表的倒数第N个结点

定义:是一组任意的储存单元来存放线性表的结点,这种存储单元可以是连续的,也可以是非连续的特点:链表中结点的逻辑次序和物理次序不一定是相同结点组成:数据域与指针域单链表结点结构如下图:N个结点链接成一个链表,即为线性表的链式存储结构,又因为只有一个指针域,又被称为单链表,或线性链表。整个链表的存取必须从头开始,链表中第一个结点的位置叫做头指针,由于最后一个元素没有直接后继,则线性表的最后一个结点的指针为“空”(NULL),如下图:...

2022-04-17 09:31:46 624

原创 数据结构:归并排序

C++开发环境配置V3.0实验目的:因整课学习需要,并便利学生满足同样环境下的开发需要,特此设定本实验。推荐使用云主机的好处有以下内容:环境统一,不必费心于解决由于不同环境引起的各种问题云主机拥有公网IP,在后续的课程中部分任务需要使用到公网IP更换系统、重置操作相较于本地更容易配置,步骤简单推荐配置环境:Mac + 阿里云主机Linux + 阿里云主机Windows + Xshell +阿里云主机Windows + 虚拟机 + 阿里云主机实验前期准备:硬件环境:物理机

2022-04-14 08:38:18 1032 1

原创 简单总结:输入输出函数(C语言)

1、输出函数putchar:打印一个字符puts:打印一个字符串printf::格式控制打印输出(万能) 返回成功打印的个数2、输入函数getchar:输入一个字符gets:输入一个字符串scanf:格式打印输入 返回输入成功的个数经常使用来实现终端无限输入数据,只需要加判断:以scanf为例while(~scanf()) {}while的条件还可以替换 scanf() != -1 或scanf() != EOF其他一样区别:puts():输出字符串并自动换行,该函数只能

2022-01-15 13:44:03 4095

原创 指针使用的常见错误

在编译环境为sublime text3 c语言编译环境下windows 71 引用未初始化的指针变量试图引用未初始化的指针变量是初学者最容易犯的错误。未初始化的指针变量就是“野”指针,它指向的是无效的地址。为避免编译器存在重大BUG,有的的编译器都会让它指向一个固定的、不用的地址,为0XCCCCCCCC ,这个内存单元是程序所不能访问的,访问就会触发异常,即“段错误”所以也不怕往里面写东西。但我进行同样的操作,能够进行写,即第二种情况,如果指针变量不初始化,那么它可能指向内存中的任何一个存储单元,

2022-01-11 18:27:08 1654

原创 vscode乱码处理

利用vscode配置keil编译环境处理编辑器的乱码问题,有一个一劳永逸的方法方法一:文本默认的是UTF_8,在已知字体是何种字体是什么,可以直接变更方法二:自动猜测字体,不好找,直接输入"files.autoGuessEncoding": true,...

2021-11-24 10:24:15 296

原创 C语言面试题纠错集

第1题void Func(char str_arg[100]){ printf("%d\n", sizeof(str_arg));}int main(void){ char str[] = "Hello"; printf("%d\n", sizeof(str)); printf("%d\n", strlen(str)); char*p = str; printf("%d\n", sizeof(p)); Func(str);}输出的是:6

2021-11-23 11:02:34 648

原创 一个字符的读入技巧

当我们要循环读入一个字符和一个整型时程序如下:#include <stdio.h>int main() { char ch; int n; while(~scanf("%c%d",&ch,&n)){ printf("ch = %c n = %d\n",ch,n); } return 0;}看结果:可以看出,有乱码的现象我们知道:%c功能比较强大,几乎任何符号都可以输入,我们在输入字符与整型的时候,用的是分隔符(空格)来隔

2021-11-17 11:32:38 818

原创 异彩纷呈—开平方根

文章目录一、二分法实现开平方根二、牛顿迭代法实现开平方根一、二分法实现开平方根1、时间复杂度:o(logN)2、代码实现:double func(double x){ return x * x;}double binary_search(double (*arr)(double), double n){ double head = 0,tail = n, mid; if(n < 1.0) tail = 1.0; //小于1.0的时候,平方根的值是越开越大

2021-11-16 12:17:31 253

原创 素数筛的改进-线性筛o(n)时间复杂度

素数筛的时间复杂度是o(nloglogn)无限趋近于o(n)

2021-11-13 21:00:05 1295

原创 素数筛的C语言应用

总体思路:用素数来标记合数具体步骤:1、用prime[i]来标记i是否是合数2、标记为1的数字为合数,否则为素数3、第一次知道2是素数,则将2的倍数标记为14、向后找到第一个没有被标记的数字i5、将i的倍数全部标记为合数6、重复4–6步,直到标记完范围内的所有数字代码如下:#include <stdio.h>#define max_n 100int prime[max_n + 5] = {0};void init() { for(int i = 2; i &l

2021-11-13 16:13:51 621

原创 C语言的输出对齐应用

格式含义\n回车及换行,光标置于下一行行首\r回车,光标置于本行行末\t水平制表符,水平方向向右空出一个TAB键%nd右对齐,n为数据宽度%-nd加入‘-’即为左对齐,n为数据宽度\r一般在Linux系统与 \r\n 等同于Windows中 \n,一般不用以打印prime[25]数组为例,要求每行5个数据:for(int i = 0; i < 25; i++){ printf("%d",prime[i]); if(i %...

2021-11-13 15:36:31 7472

原创 变参函数-实现简版的printf(一)

点击了解变长参数,变参函数为什么说只能实现简版的printf,因为其中涉及到很多优化要做,比如存储,数据结构,输出色彩等等,我的程序也只是实现了一个整型的模块。下面我们基于putchar()来实现我们的my_printf,以printf做对比让我们一起一步一步的来实现吧功能1:能够打印一个完整的字符串过程一代码如下:#include<stdio.h>//在const在前,frm内的值为常量,地址允许改变,值不允许改变int my_printf(const char *frm

2021-11-13 01:47:33 674

原创 const的使用

const即(constant)n,常量,常数;adj 持续不变的使用:char *fam //定义一个字符串指针const 在前:const char *fam 表示fam内值为常量,地址允许修改,而初始化值后,值不再允许修改初始化后,出现类似 far[0] = 1 就是错误const 在后: char *const fam 表示fam地址为常量,值允许修改,而初始化值后,地址不再允许修改初始化后,出现类似 far++;就是错误的...

2021-11-12 15:15:41 230

原创 欧拉计划-05:求多个数的最小公倍数

题目:2520是最小的能够被1到10整除的数。最小的能够被1到20整除的正数是多少?方法1:遍历1~20 找出每个数的因数且从中去除之前记录下的因数(类似于素数筛,暂时先留着)方法2:暴力解法:求a1,a2,…,an的最小共倍数,先求(a1,a2)的最小公倍数a12,再求(a12,a3)的最小公倍数a123,依次递推下去注意数据的溢出代码如下:定义了一个中间最小公倍数#include <stdio.h>int gcd (int a, int b) { return (b ? g

2021-11-12 11:32:53 469

原创 辗转相除法

文章目录==1.普通辗转相除法求最大公约数====2.欧几里得算法扩展应用====3.最小公倍数的求解====4.最小公倍数应用—欧拉计划—05==1.普通辗转相除法求最大公约数无需考虑a, b 大小关系int gcd (int a, int b) { // if(b == 0) return a;//递推的思路 // return gcd(b, a % b); return (b ? gcd(b, a % b) : a);}2.欧几里得算法扩展应用应用:快速得到ax

2021-11-12 11:11:03 652

原创 欧拉计划—45th

题目:代码如下:#include <stdio.h>//三个递推公式 //因为n 的取值范围大于了 int n 最大值,故采用lllong long Triangle(long long n){ return n * (n + 1) / 2;} long long Pentagonal(long long n) { return n * (3 * n - 1) / 2;}long long Hexagonal(long long n) { return n *

2021-11-11 13:41:00 140

转载 C语言中结构体变量的定义及引用

一、结构体变量的定义1.结构体类型与结构体变量分开定义一般形式如下:struct<结构体名><结构体变量名>;eg:struct student student1,student2;关键字struct要与结构体名student一起使用,共同构成结构体类型名2.结构体类型与结构体变量同时定义一般形式如下:struct<结构体名>{<成员列表>}<结构体变量名>;3.无名结构体与结构体变量同时定义一般形式如下:struct

2021-10-18 15:19:40 3641

原创 数据结构(一):顺序表

第一节、数据结构之顺序表文章目录第一节、数据结构之顺序表摘要一、顺序表是结构定义二、顺序表是结构操作1.引入库2.读入数据总结摘要顺序表是在计算机内存中以数组的形式保存的线性表,是指用一组地址连续的存储单元依次存储数据元素的线性结构。线性表采用顺序存储的方式存储就称之为顺序表。顺序表是将表中的结点依次存放在计算机内存中一组地址连续的存储单元中。提示:以下是本篇文章正文内容,下面顺序表案例可供参考一、顺序表是结构定义示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而

2021-10-16 14:03:26 3709 1

原创 数据结构之开篇简介

2021-10-15 09:45:45 87

原创 问题案例与解决图片

前言因为日常BUG众多,一一放在博客中感觉有点多,我就做成一个BUG库形式,想要查取那个案例,只需点击目录中相应蓝色字体。 跳转文尾文章目录前言案例一:调试中看不到寄存器解决后案例一:调试中看不到寄存器解决后 跳转文首...

2021-10-14 15:27:37 111

原创 markdown页内文字跳转

markdown工具篇–页内文字跳转文章目录markdown工具篇--页内文字跳转前言一、目录跳转法二、锚定法总结前言有些时候文章篇幅比较长,页面滑动显得不方便,有没有什么方式实现页面跳转,或是页面超链接呢?这边介绍两种方式,第一种为MARKdown目录跳转设计,因为左边的目录不方便看,固在文章内加入目录非常适用,第二种适用于文章内任何地方的跳转,我们称为锚定法一、目录跳转法前提文章标题有相应的标题格式,即#、##、###只需要在文章开头加入下列格式,文章内自动加入目录,点击蓝色文字即可实

2021-10-12 21:31:38 4404 2

原创 STM32F103-LED模块

LED模块

2021-10-12 19:58:58 3591

原创 STM32单片机GPIO口简介

本篇主要介绍STM32单片机的GPIO口基本概念和GPIO 寄存器的使用参考资料【51/STM32】详解单片机GPIO口输入输出的各种模式一、STM32单片机的IO口结构STM32单片机的IO口与51单片机相比较为复杂,使用前必须操作相关寄存器完成对IO口的初始化配置(单片机内部会选择不同的硬件电路连接)分别为4输入 + 2 输出 + 2 复用输出,一共是8种模式,以下是八种模式的概念和工作原理:GPIO八大模式输模拟输入Analog将模拟信号转换为数字信号入

2021-10-12 00:54:37 5733

原创 51单片机的输入输出简介

以下是我整理的关于学习51 单片机和使用过程中出现疑问,本人才疏学浅,表达本文参考资料在采用单片机的I/O口作为输入口或输出口时需要考虑哪些因素?MCS51单片机的输入/输出接口一、51单片机I/O介绍1、不同I/O口在结构区别①、P0口(P0。0 - P0。7)是一个8位漏极开路型双向I/O口,在访问外部存储器时,它是分时传送的低字节地址和数据总线,P0口能以吸收电流的方式驱动八个LSTTL负载。②、 P1口(P1。0 - P1。7)是一个带有内部提升电阻的8位准双向I/O口。能驱动

2021-10-10 12:07:58 7047

原创 单片机基础

单片机:别称微控制器(Microcontroller Unit - MCU) 是指将微处理器,RAM、ROM 、及I/O接口电路等集成在一块芯片的完整微型计算机,称为单片微型计算机,简称:单片机相对于微型计算机(PC计算机)来说,就是降低中央处理器的频率和规格,降低存储器空间,这样的改变,使之广泛的运用在各种仪器等电子产品中当前,X86和ARM架构是公认的在商业化进程中表现最优秀的两大架构。之前我们已经介绍了X86架构,今天介绍另一个在近十年大火的架构,ARM。ARM架构,过去称作进阶精简指令集机器

2021-10-09 13:04:36 2385

原创 STM32F4工程模板建立

STM32F4工程模板建立

2021-09-26 13:40:33 203

原创 STM32F1/F4标准固件库详解

F4固件库详解前人已经造好车,我就不重造车轮了以FI系列为例,简单的总结一番标准件库文件夹结构和作用

2021-09-26 13:38:15 2170

原创 STM32F1工程模板建立

STM32F1工程模板建立

2021-09-26 13:36:51 558

原创 sublime的配置与基本使用

1、ctrl+shift+P 进入命令行如界面无法显示菜单栏,ctrl+shift+P 进入命令行 ,输入“view”选择view toggle menu即可出现菜单栏

2021-09-25 20:08:50 894

原创 minGW下载及安装(c/c++运行配置)

直入主题一、下载方式在官网上找到SourceForge,直接上链接https://sourceforge.net/projects/mingw/files/安装过程:1、选择好安装目录等待即可(不建议C盘)2、接着会跳出这个pack包选择器,可以全选,但没必要,只是为了c/c++的编译,我们只需依次选择Basic Satup 中所有关于gcc的包就行,右击选择“mark for installation”3、点击“installation”并应用“Apply Changes”4、等待安装

2021-09-24 17:16:22 622

原创 结构体更名

直入主题代码先行typedef int Type;typedef struct Vector{ Type *data; int size,length;}Vec;结构体不同的点是:更正的结构体名取代了变量名存在的位置Vec 等价于 struct Vector 可用于直接定义变量Vec A 等价于 struct Vector A换一种形式就好懂了typedef int Type;struct Vector{ Type *data; int size,lengt

2021-09-23 12:22:18 708

原创 kell Vision5有那些使用技巧呢

1、代码联想

2021-09-18 18:00:16 327

原创 VIM 基本命令摘要

vim 的基本操作

2021-09-08 12:51:31 90

原创 MARKdown语法与文字高亮

markdown 常用语法和快捷键使用1. 标题CSDN markdown快捷键只能实现两级标题设置Ctrl+shift+H# 一级标题 ### 二级标题 ##### 三级标题 ####### 四级标题 ####一级标题二级标题三级标题四级标题2.缩近半方大的空白&ensp;或&#8194;全方大的空白&emsp;或&#8195;不断行的空白格&nbsp;或&#160;效果呈现仰望天空,脚踏实地  仰望天空,脚踏实地,用两

2021-09-05 16:34:05 3206

原创 gcc编译器

gcc编译过程gcc在编译一个c 语言程序时,需要经历 预处理、编译、汇编、连接四个过程,生成一个可执行文件。完成整个编译还需要运行,下面依次介绍详尽与简略两种方式展示打印helloworld.c的gcc命令过程,多文件编译方式,以及gcc的ubuntu的安装一、详尽版如下1、预处理阶段, 在预处理过程中,编译器会对源代码的头文件和预处理语句进行分析,将当中的预处理指令替换为对应的内容2、编译阶段 将预处理后的文件转换成对应的汇编文件此时会生成个.s结尾的汇编文件3、汇编阶段 将汇编文件转换为

2020-09-24 23:20:21 250

原创 linux小白入门常用命令

一、常用快捷键**ctrl+shiift+t :进入命令行ctrl+shiift+t :退出命令行ctrl+k:删除此处至末尾的所有内容ctrl+u:删除此处至开头的所有内容reboot:重启Linuxtab:自动填充代码(一次tab)系统提示(两次tab)历史命令(上下键查找)ctrl+shift+c:复制ctrl+shift+v:黏贴ctrl+s :保存二、常用命令**1、查询类命令2、工作目录类命令pwd命令cd命令ls命令3、文件目录管理类命令touchmkd

2020-09-22 02:32:38 570

空空如也

空空如也

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

TA关注的人

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