c语言笔记
文章平均质量分 66
大山很山
她是一个寡情的人。
展开
-
【NO.1 关于字符串】字符串最后一个单词的长度
计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾)原创 2024-08-14 15:34:36 · 375 阅读 · 1 评论 -
C语言中的内存分配
内存分配方式及相关函数使用说明。静态存储区分配、动态内存分配、从栈上创建原创 2022-07-29 11:54:34 · 5408 阅读 · 1 评论 -
C语言_数据类型——学习笔记二
数据类型一、常量常量的表示方法;1、const关键字 修饰常变量。 作用:定义一种变量,这种变量的值不能被修改,在整个作用域都维持原值。 eg: const int a = 1; // const修饰的常变量注意:const修饰的常变量,本质上是变量。但具有常属性,不能被修改。2、define定义的标识符常量 #define命令定义标识符常量,该标识符常量在程序中是个定值, 作用:通常用于代表数组容量或涉及数学的常量等。 eg: #define P原创 2022-05-12 19:48:17 · 371 阅读 · 0 评论 -
C语言概述(.bin和.hex区别)_学习笔记一
一、C语言发展史二、C语言的特点三、C语言标准四、编程机制头文件.h 源文件.c1、预处理将所有的#include头文件以及宏定义替换成其真正的内容,依然是是文本文件,使用预处理器cpp来完成gcc -E -I./inc test.c -o test.ior $ cpp test.c -I./inc -o test.i这一过程 test .c 文件变成 test.i 文件。(-E是让编译器在预处理之后就退出,不进行后续编译过程;-I指定头文件目录,这里指定的是我们自定义的头文件目原创 2022-05-11 14:45:29 · 1025 阅读 · 0 评论 -
C语言中abs()用法及其他绝对值函数
一、abs()用法说明1、基本说明功能:求整数的绝对值。头文件:#include定义函数:int abs(int j);函数说明:abs()用来计算参数j的绝对值,然后将结果返回。返回值:返回参数j的绝对值结果。2、补充解释:语法abs(number)=|number|说明:number 参数可以是任意有效的数值表达式。如果 number 包含 Null,则返回 Null;如果是未初始化变量,则返回 0。数字的绝对值是其无符号的数值大小。例如,Abs(-1) 和 Abs(1) 都返回 1原创 2022-05-05 19:55:38 · 53018 阅读 · 4 评论 -
c语言——枚举类新
学习整理,分享给需要的朋友!枚举类型是一种的值类型,它用于声明一组命名的常数。enum是枚举类型,枚举类型是将一类有关联的标识组合起来,枚举型是一个集合,集合中的元素(枚举成员)是一些命名的整型常量,元素之间用逗号隔开,外层用{ }括起来。(1)枚举的声明:枚举声明用于声明新的枚举类型。访问修辞符 enum 枚举名 :基础类型{枚举成员}基础类型必须能够表示该枚举中定义的所有枚举数值。枚举声明可以显式地声明byte、sbyte、short、ushort、int、uint、long或ulong原创 2020-05-26 19:53:47 · 175 阅读 · 0 评论 -
GPIO使用(二)如何将调试接口配置成普通IO口及JTAG和SWD禁用解除
关于GPIO的复用。STM32F10x系列及AT32F4xx的MCU复位后,PA13/14/15/ PB3/PB4默认配置为JTAG功能。那么为了充分利用芯片的I/O口资源,就会把这些端口设置为通用I/O口,意味着将这些引脚复用为普通I/O功能。以AT32F4xx系列为例。在数据手册有以下介绍:在用户手册里复用功能I/O章节和调试设置章节有关复用说明:根据以上手册内容可知:1、默认JTAG调试功能,那么PA13/PA14/PA15 /PB3/PB4都不能做普通I/O口使用;2、关闭JTAG原创 2021-12-02 10:19:38 · 3847 阅读 · 0 评论 -
GPIO使用( 一 )
一、GPIO的两大功能通用输入输出端口GPIO具有两大功能,一种是作为一个可控的端口引脚,另外一种是通过端口映射功能连接到芯片外设。最为常用的功能是,可以作为一个可控的端口引脚,配置该引脚为输入或者输出。输出功能包括强推挽输出和开漏输出两项,当配置为强推挽输出时,用户可以对该引脚任何时刻的电平状态进行定义,高电平或者低电平,当配置为开漏输出时,此时需要外接上拉电阻才能输出高电平信号。图为:标准 I/O 端口位的基本结构二、使用示例1、输出示例:配置为推挽输出(在定义电平高低前应先进行配置初始化成原创 2021-11-15 15:00:00 · 4064 阅读 · 0 评论 -
关于结构体及宏定义——定义常量
定义常量方式介绍两种:注意:传值必须使用指针来传,意味着要通过传地址才能实现传值,注意和赋值的区别。一、使用结构体1、在头文件.h里定义结构体如: typedef struct{ unsigned long num; int score; }STORE//定义变量和结构体extern STORE g_store_param_value;extern STORE g_store_param_v原创 2021-09-18 09:48:39 · 1864 阅读 · 0 评论 -
C语言常用的8种滤波算法
最近在研究一些滤波算法,扒了网络上的一些算法做了总结,并加入了自己思考和想法,梳理一些代码,仅供参考学习。1、滑动平均滤波**A、名称:**递推平均滤波法(又称滑动平均滤波法)B、方法:把连续取得的N个采样值看成一个队列,队列的长度固定为N,每次采样到一个新数据放入队尾,并扔掉原来队首的一次数据(先进先出原则),把队列中的N个数据进行算术平均运算,获得新的滤波结果。N值的选取:流量,N=12;压力,N=4;液面,N=412;温度,N=14。C、优点:对周期性干扰有良好的抑制作用,平滑度高;原创 2021-01-27 20:13:46 · 9420 阅读 · 0 评论 -
C语言基础知识(最值篇)
看到一篇很不错的c语言基本知识总结,学而无涯啊。C语言基础知识总结大全求最值的程序贴上,慢慢积累。向大牛们学习!/求最大值,返回下标max_numunsigned long buf[10] =[10, 0, 1, 2, 3, 4 , 5, 7, 9, 0];unsigned char find_max_num(unsigned long *buf , int num){ unsigned char i; unsigned long max = 0; unsigned原创 2021-01-26 15:29:04 · 464 阅读 · 0 评论 -
C语言各变量类型占字节数
C语言变量所占字节数整理:变量的基本类型包括:字符型、整型、长整型、浮点型。每个变量在每个编译器所占的字节数不同,《the C Programming language》是这样说的:Each compiler is free to choose appropriate sizes for its own hardware, subject only to the restriction that ints are at least 16bits,longs are at least 32bits, a原创 2021-01-26 14:41:09 · 12541 阅读 · 0 评论 -
左移和右移运算符及pow函数
左移和右移运算符(操作数是右边设定的要移动的位数),不应用于负数。1) 左移运算符(<<)作用:用来将一个数的二进制位左移若干位,移动的位数由操作数决定(操作数必须为非负值),其右边空出来的位用0补上;高位左移溢出的舍弃该高位;例如: unsigned char a =6;//a=6(00000110) printf( "a<<1 = %d\r\n , a<<);//(00001100) 则a<< = 12;2) 右移运算原创 2021-01-25 14:29:30 · 1544 阅读 · 0 评论 -
全局变量和局部变量
在工作的时候,发现有很多细节不注意,会出现各种奇奇怪怪的问题,今天分享全局变量和局部变量的区别,一直觉得自己很清楚两者的不同,不查不知道,一查发现自己还有很多的盲区,知道越多,越觉得自己了解越少,一定要多向前辈们学习才是啊,在此向各位一直在路上的前辈们致敬。全局变量和局部变量的区别:1、局部变量的性能比全局变量的性能快了大约 5.02 倍;使用全局变量会用 getfield 关键字从堆中获取变量,而局部变量则是通过出栈来获取变量的,因为出栈操作要比堆操作快很多,因此局部变量操作也会比全局变量快很多。G原创 2021-01-15 19:20:52 · 2697 阅读 · 0 评论 -
C语言——选择结构和循环结构学习笔记
##C语言学习——选择结构和循环结构continue and break;main(){int i;for(i=0;i<10;i++){if(i==3){continue;//会过滤掉3;若用break的话,执行到2就会跳出循环。}}}选择结构:1、if()else 适合两种情况之间的选择;2、switch()case;适合三种或者三种以上;循环结构:1、while() 先判断,后循环;2、do while()先循环,后判断;3、for()初始化,设置条件,改变,原创 2021-01-13 19:08:50 · 166 阅读 · 0 评论