<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[breadcheesebread的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/breadcheesebread</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; breadcheesebread]]></copyright><item><title><![CDATA[keil算法优化总结（持续更新）]]></title><link>https://blog.csdn.net/breadcheesebread/article/details/129495231</link><guid>https://blog.csdn.net/breadcheesebread/article/details/129495231</guid><author>breadcheesebread</author><pubDate>Mon, 20 Mar 2023 17:00:20 +0800</pubDate><description><![CDATA[keil编程算法总结]]></description><category></category></item><item><title><![CDATA[51单片机独立按键操作逻辑优化]]></title><link>https://blog.csdn.net/breadcheesebread/article/details/129475324</link><guid>https://blog.csdn.net/breadcheesebread/article/details/129475324</guid><author>breadcheesebread</author><pubDate>Mon, 13 Mar 2023 15:38:06 +0800</pubDate><description><![CDATA[51单片机按键操作逻辑优化]]></description><category></category></item><item><title><![CDATA[51单片机节电模式&看门狗]]></title><link>https://blog.csdn.net/breadcheesebread/article/details/129472995</link><guid>https://blog.csdn.net/breadcheesebread/article/details/129472995</guid><author>breadcheesebread</author><pubDate>Mon, 13 Mar 2023 09:14:40 +0800</pubDate><description><![CDATA[51单片机节电模式&看门狗]]></description><category></category></item><item><title><![CDATA[C51编程中sfr，sbit的用法以及位地址和字节单元地址的区别]]></title><link>https://blog.csdn.net/breadcheesebread/article/details/129415963</link><guid>https://blog.csdn.net/breadcheesebread/article/details/129415963</guid><author>breadcheesebread</author><pubDate>Thu, 09 Mar 2023 09:56:35 +0800</pubDate><description><![CDATA[C51编程中sfr，sbit的用法以及位地址和字节单元地址的区别]]></description><category></category></item><item><title><![CDATA[51单片机P0~P3口工作原理]]></title><link>https://blog.csdn.net/breadcheesebread/article/details/129313566</link><guid>https://blog.csdn.net/breadcheesebread/article/details/129313566</guid><author>breadcheesebread</author><pubDate>Mon, 06 Mar 2023 11:40:55 +0800</pubDate><description><![CDATA[51单片机P0~P3口内部机构，即工作原理]]></description><category></category></item><item><title><![CDATA[51单片机寻址方式]]></title><link>https://blog.csdn.net/breadcheesebread/article/details/129343019</link><guid>https://blog.csdn.net/breadcheesebread/article/details/129343019</guid><author>breadcheesebread</author><pubDate>Sun, 05 Mar 2023 11:17:47 +0800</pubDate><description><![CDATA[8051内核的单片机指令系统的8种寻址方式]]></description><category></category></item><item><title><![CDATA[单片机最小系统_晶振电路&复位电路]]></title><link>https://blog.csdn.net/breadcheesebread/article/details/129227353</link><guid>https://blog.csdn.net/breadcheesebread/article/details/129227353</guid><author>breadcheesebread</author><pubDate>Sat, 04 Mar 2023 11:37:33 +0800</pubDate><description><![CDATA[51单片机最小应用系统的两个重要的电路：晶振电路和复位电路]]></description><category></category></item><item><title><![CDATA[RS&D锁存器基础]]></title><link>https://blog.csdn.net/breadcheesebread/article/details/129293975</link><guid>https://blog.csdn.net/breadcheesebread/article/details/129293975</guid><author>breadcheesebread</author><pubDate>Thu, 02 Mar 2023 11:50:30 +0800</pubDate><description><![CDATA[从RS锁存器学到D锁存器]]></description><category></category></item><item><title><![CDATA[51单片机的存储器结构]]></title><link>https://blog.csdn.net/breadcheesebread/article/details/129274954</link><guid>https://blog.csdn.net/breadcheesebread/article/details/129274954</guid><author>breadcheesebread</author><pubDate>Wed, 01 Mar 2023 11:46:01 +0800</pubDate><description><![CDATA[51单片机的存储器结构]]></description><category></category></item><item><title><![CDATA[C51单片机各引脚功能]]></title><link>https://blog.csdn.net/breadcheesebread/article/details/129238555</link><guid>https://blog.csdn.net/breadcheesebread/article/details/129238555</guid><author>breadcheesebread</author><pubDate>Tue, 28 Feb 2023 09:53:50 +0800</pubDate><description><![CDATA[51单片机各个引脚功能]]></description><category></category></item><item><title><![CDATA[冒泡排序适用于各种类型]]></title><link>https://blog.csdn.net/breadcheesebread/article/details/118494002</link><guid>https://blog.csdn.net/breadcheesebread/article/details/118494002</guid><author>breadcheesebread</author><pubDate>Mon, 05 Jul 2021 17:02:56 +0800</pubDate><description><![CDATA[#include&lt;stdio.h&gt;
int com_int(const void*e1,const void*e2)//运算必须知道，元素的类型
{
	return *((int*)e1)-*((int*)e2);//对int类型进行比较
}
int com_f(const void*e1,const void*e2)
{
	if(*((float*)e1)-*((float*)e2)&gt;0)
		return 1;
	else if(*((float*)e1)-*((float*)e2).]]></description><category></category></item><item><title><![CDATA[回调函数（举例）]]></title><link>https://blog.csdn.net/breadcheesebread/article/details/118460546</link><guid>https://blog.csdn.net/breadcheesebread/article/details/118460546</guid><author>breadcheesebread</author><pubDate>Sun, 04 Jul 2021 13:49:48 +0800</pubDate><description><![CDATA[#include &lt;stdio.h&gt;
int add(int x,int y)
{
	return x+y;
}
int sub(int x,int y)
{
	return x-y;
}
int mul(int x,int y)
{
	return x*y;
}
int div(int x,int y)
{
	return x/y;
}

void menu()
{
	printf("0.推出\n");
	printf("1.加\n");
	printf("2.减\n");
	printf(.]]></description><category></category></item><item><title><![CDATA[数组参数传递]]></title><link>https://blog.csdn.net/breadcheesebread/article/details/118439851</link><guid>https://blog.csdn.net/breadcheesebread/article/details/118439851</guid><author>breadcheesebread</author><pubDate>Sat, 03 Jul 2021 14:59:13 +0800</pubDate><description><![CDATA[一维数组


#include &lt;stdio.h&gt;
void test(int a[]){}//不指定数组大小

void test(int a[10]){}//指定数组大小

void test(int* a){}//a中传过来的是首元素的地址，既然是地址就可以用指针来接受

int main()
{
	int a[10]={0};
	test(a);

	
	return 0;
}

指针数组


#include &lt;stdio.h&gt;
void test(int* a[])
{
]]></description><category></category></item><item><title><![CDATA[指针数组和数组指针]]></title><link>https://blog.csdn.net/breadcheesebread/article/details/118413140</link><guid>https://blog.csdn.net/breadcheesebread/article/details/118413140</guid><author>breadcheesebread</author><pubDate>Fri, 02 Jul 2021 14:41:19 +0800</pubDate><description><![CDATA[指针数组

本质上是数组，让我们来看一下它是如何定义的


int a,b;
int* p[2]={&amp;a,&amp;b};

如图定义了一个名为p的数组，有两个指针类型的元素，每个指针是int*类型的，也可以放入数组名，因为数组名本质上就是一个指针变量，*是解引用操作，*p可以通过p内存储的地址，找到这个地址对应的值，大概可以看成 int* arr=arr[0] ,所以*arr得到的值就是arr[0]里的值

数组指针

本质上是指针


int arr[]={1,2,3}
int (*p)[10.]]></description><category></category></item><item><title><![CDATA[浮点数类型]]></title><link>https://blog.csdn.net/breadcheesebread/article/details/118386768</link><guid>https://blog.csdn.net/breadcheesebread/article/details/118386768</guid><author>breadcheesebread</author><pubDate>Thu, 01 Jul 2021 15:09:37 +0800</pubDate><description><![CDATA[每一个小数都可以用科学计数法，3个参数来表示。比如-12.5，就可以表示为(-1)^1x1.23x10^1,当然在计算机中我们可以用二进制来表示，可以表示为-1100.1，关于小数部分的十进制转二进制，可以用乘二取余法，那么这个二进制数可以表示为(-1)^1x1.100x2^3，三个参数分别为s---&gt;(-1)的指数用来表示浮点数的正负，M是1.1范围在1~2之间，2的指数E

这三个参数在32位电脑的存储方式，s占第一位1为正2为负，

2~10位存放E，由于这8位表示的是无符号数，表示范围是0~.]]></description><category></category></item><item><title><![CDATA[char类型讲解]]></title><link>https://blog.csdn.net/breadcheesebread/article/details/118335075</link><guid>https://blog.csdn.net/breadcheesebread/article/details/118335075</guid><author>breadcheesebread</author><pubDate>Tue, 29 Jun 2021 14:49:31 +0800</pubDate><description><![CDATA[首先从无符号开始讲的话，也就是unsigned char，范围是0~255，由于在内存中都是以正数形式存储的，所以原反补码都相同。char类型默认为有符号，即最高的一位为符号位，范围是-128~127，若最高位为1，则其为负数，以补码形式存储，一个负数的真实值由原码来表示，最高位为符号位，而在计算机的存储值可以用补码来表示，补码可以由原码除符号位以外按位取反，再加一得到。

char类型在计算的时候范围在-128~127，char的值形成一个闭环，若将127+1，得到的值是-128
...]]></description><category></category></item><item><title><![CDATA[整型提升。]]></title><link>https://blog.csdn.net/breadcheesebread/article/details/118302780</link><guid>https://blog.csdn.net/breadcheesebread/article/details/118302780</guid><author>breadcheesebread</author><pubDate>Mon, 28 Jun 2021 14:20:06 +0800</pubDate><description><![CDATA[由于32位计算机是以，4字节为单位进行计算的，如果在编程的时候，使用char类型的变量进行计算，那么这个变量的值就会被整型提升，具体方法为，1字节的二进制数，会被补充到4字节，补充内容为，符号位数的值，最后计算得到的值截取原来的一字节，得到的数都是以补码形式存在
...]]></description><category></category></item><item><title><![CDATA[数组和冒泡排序]]></title><link>https://blog.csdn.net/breadcheesebread/article/details/118226516</link><guid>https://blog.csdn.net/breadcheesebread/article/details/118226516</guid><author>breadcheesebread</author><pubDate>Fri, 25 Jun 2021 18:42:07 +0800</pubDate><description><![CDATA[给数组char类型赋值


char a[]="abc"
char a[]={'a','b','c','\0'}

两者等价，把一个字符串付给数组时，会自动添加一个'\0',两个声明方式都包含四个元素。

strlen可以读取一个数组的长度，前提是该数组必须以'\0'结尾，strlen不会把'\0'包括在数组长度中。而sizeof 可以读出数组的长度*类型字节长度，包括'\0'。'\0'的ascll码是0。

冒泡排序详解。


#include &lt;stdio.h&gt;
void f(int* a,]]></description><category></category></item><item><title><![CDATA[递归的思想]]></title><link>https://blog.csdn.net/breadcheesebread/article/details/118091738</link><guid>https://blog.csdn.net/breadcheesebread/article/details/118091738</guid><author>breadcheesebread</author><pubDate>Mon, 21 Jun 2021 17:55:34 +0800</pubDate><description><![CDATA[#include&lt;stdio.h&gt;
int f(int i)
{
	if(1==i)
	{
		return 1;
	}
	return i*f(i-1);
}
int main()
{
	int n=6;
	int z=f(n);
	printf("%d",z);
}


尾递归


void p(int n)
{
	if(n&gt;=2)
	{
		p(n/2);
	}
	printf("%d",n%2);
	
}

int main()
{
	int n=254;
	p(n);
	ret.]]></description><category></category></item><item><title><![CDATA[6.20注意常见错误]]></title><link>https://blog.csdn.net/breadcheesebread/article/details/118071734</link><guid>https://blog.csdn.net/breadcheesebread/article/details/118071734</guid><author>breadcheesebread</author><pubDate>Sun, 20 Jun 2021 16:58:26 +0800</pubDate><description><![CDATA[你在输入缓冲区输入时（以回车为结束标志），scanf函数会读取回车前的内容，而回车是也是一个字符'\n',它的存在会影响之后getchar（）；函数的读取。

fo
]]></description><category></category></item></channel></rss>