自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (1)
  • 收藏
  • 关注

原创 基于Stm32的WiFi多功能LED

...

2022-01-27 03:08:13 2502 1

原创 main(int argc, char *argv[])用法

int main(int argc, char *argv[]) int argc:是整型变量,表示用户在运行程序时输入命令行参数的个数,argc至少为1,因为其中包括可执行程序名,即argv[0]中的内容。char *argv[]:存放指向命令行参数的指针数组,数组从0开始,数组中内容如下argv[0]:程序中的可执行文件的文件名或程序文件所在的路径。argv[1]:程序在DOS...

2019-02-16 12:41:16 2922

原创 带缓存的I/O操作

fopen(文件打开函数)功能:打开一个文件,基于标准I/O文件。原型:FILE *fopen(const char *path , const char *mode)参数:path:打开文件路径和文件名            mode:文件流r:以只读的方式文件,该文件必须存在r+:以读写的方式打开文件,文件必须存在w:以只写的方式打开文件,打开后清空文件,若文件不存

2016-12-05 22:35:13 370

转载 趣味编程——区分旅客国籍

在一个宾馆里住这六个不同国籍的人,他们分别来自美国,德国,英国,法国,俄罗斯和意大利。他们的名字叫A,B,C,D,E,F。名字的顺序与上面的国籍不一定相互对应。

2016-12-01 23:31:34 1262

转载 一道简单的趣味编程

A,B,C,D,E五人合伙捕鱼,A将鱼分成五份,多余的一只扔掉,拿走自己的一份。B也将剩下的鱼分成五份,把多余的一条鱼扔掉,拿走自己的一份。C,D,E也按照同样的方法拿鱼。问他们至少补了多少鱼?问题分析与算法设计总共进行了五次平均分配,每次分配时的策略是相同的,即扔掉一条后剩下的鱼刚好分为五份,然后拿走自己的一份,余下其他四分假定鱼的总数为x,则x可以按照题目要求进行五次分配:

2016-11-30 23:19:59 1004

原创 在一组数中任意位插入或删除某一位

#include #define MAX_SIZE 20int length(int *num)     //求数组长度的函数{    int len = 0;        while(*num != 0 )      //遍历    {        len++;        num++;    }    return len;}int *

2016-11-26 23:45:46 540

原创 宏定义

宏定义了一个代表特定内容的标识符。预处理过程会把源代码中出现的宏标识符替换成宏定义时的值。宏最常见的用法是定义代表某个值的全局符号。宏的第二种用 法是定义带参数的宏(宏函数),这样的宏可以象函数一样被调用,但它是在调用语句处展开宏,并用调用时的实际参数来代替定义中的形式参数。宏定义可以避免幻数#define MAX_SIZE 1024#define LOGIN_SUCCESS 1

2016-11-22 22:10:18 352

原创 关键字

static关键字static既能修饰变量也能修饰函数。static修饰变量时既可以修饰局部变量也可以修饰全局变量:static修饰的局部变量生命周期延长至整个程序执行结束在释放;static修饰的全局变量只能在本文件中被访问,不能被其他文件访问。static修饰函数时,它修饰的函数只能在本文件中被调用,不能被其他文件调用。extern关键字声明这个变量是在其他文件中定义的,可以到对应

2016-11-21 22:22:37 294

原创 避免野指针的方法

野指针是没有初始化的指针,它非法的指向一块内存空间,会造成内存泄露,产生段错误。避免野指针有以下几点:(1)养成良好的变成习惯,当不能确定指针指向时,初始化为空;(2)当給初始化指针赋值时,要用malloc给其分配内存空间。(3)检查空间是否分配成功(4)清理内存空间(5)使用完内存空间后释放(6)将指针置为空#include int main(){  

2016-11-16 23:46:16 643

转载 逻辑推理与判断(谜语博士的难题)

谜博士的难题(1)诚实族与说谎族是来自两个荒岛的不同民族,诚实族的人永远说真话,说谎族的人永远说假话。谜语博士遇到三个人,他们可能是来自诚实族或者是说谎族的。博士问了他们一个问题:问第一个人:“你们是什么族?”,答“我们当中有两个来自诚实族。”第二个人说“不要胡说,我们三个人中只有一个诚实族的。”第三个人听了第二个人的话后说“对,就是只有一个诚实族的。”根据他们的回答判断它们分别是

2016-11-12 21:39:46 2054

转载 生活中的数学问题

某人从1990年1月1日起开始“三天打鱼,两天晒网”,判断以后的某一天他是在“打渔”还是在“晒网”*问题分析与算法设计(1)计算从1990年1月1日开始至指定日期一共多少天(要判断经历的年份中是否有闰年(如果((年能被4除尽且不能被100除尽)或能被400除尽)则该年是闰年),若有闰年,二月为29天,平年为28天)(2)由于“打渔”和“晒网”的周期为5天,所以将计算的天数用5去除(

2016-11-11 22:37:58 696

转载 打印杨辉三角的两种方法

问题分析与算法设计:        杨辉三角形中的数,正是(x+y)的N次方幂展开式中的各项系数。        从杨辉三角的特点出发,可以总结出:                 (1)第N行有N+1个值(设起始值为0行)                 (2)对于N行的第J个值,(N>=2)                           当J=1或J=N+1时:   

2016-11-11 00:29:28 1092

转载 指针在函数中的应用

函数调用时所传递的数据,就是所谓的函数参数。C语言中参数可以分为两类。(1)普通参数,普通变量作为函数参数,传递的是函数本身的数值。函数参数可以有一个也可以有多个,如果有多个这样的参数,在被函数调用时,无法同时进行对这些变量值的改变操作。(2)指针参数,指针变量作为函数参数,传递的同样为变量本身的值,值得注意的是这里的变量本身是一个地址。在被调函数中,其实就是通过这个地址直接对主调函数的变

2016-11-09 22:57:43 391

转载 C语言性能优化——使用位运算

使用位操作可以减少除法和取模的运算。在计算机程序中数据的位是可以操作的最小数据单位,理论上可以用“位运算”来完成所有的运算和操作。一般的位操作是用来控制硬件的,或者进行数据变换,但是,灵活的位操作可以有效地提高程序运行的效率。例如://方法Gint I,J;I = 257 /8;J = 456 % 32; //方法Hint I,J;I = 257 >>3;J =

2016-11-08 23:25:40 2824 1

原创 位运算

位与运算符按位与运算符“&”是双目运算符。其功能是参与运算的两个数字对应的二进制位相与。只有对应的两个二进制位均为1时,结果位才为1,否则为0。参与运算的数以补码方式出现。例如,9&5可写算式如下:00001001(9的二进制补码)&00000101(5的二进制补码)00000001 (1的二进制补码)0000 10010000 01010000 0001 = 1可

2016-11-07 21:48:05 296

原创 自加运算符的使用

i++先使用(遇到结束标识符(; , 函数的括号))再自加;++i先自加在使用。i++在使用时被替换成数值;++i在使用时被替换成变量num = (i++)+(i++)+(i++)+(i++)num = 8; i = 6;解读:i= 2num = i + i + i + i i使用完后自加四次 num = (++i)+(++i)+(++i)+(++i)num =

2016-11-06 23:48:36 877

原创 全局变量和局部变量的区别

变量三大特点(1)变量数据类型:主要说明变量占用内存空间大小。(2)变量的作用域:变量有效的取值范围,即变量的取值范围。(3)变量的存储类型:变量在内存中的存储方式。不同的存储方式,影响变量在内存中的生存中期。从变量的作用域来看,局部变量只在本函数范围内有效,此外的函数均不能使用;全局变量的有效范围从定义变量的位置开始到本源程序结束。局部变量是程序执行到本函数式分配内存空间,此函数

2016-11-05 21:21:08 10005

原创 指针的右左法则

指针的右左法右左法则(右左法则的英文原文翻译);首先从最里面的圆括号开始阅读,然后向右看,再往左看。每当遇到圆括号时,就应该调转阅读方向。一旦解析完圆括号里面所有东西,就跳出圆括号。重复整个过程直到整个声明解析完成。其实左右法则就是以标示符为中心点,自右向左旋转解读指针的声明含义。

2016-11-04 22:57:33 792 1

转载 指针略作总结

计算机中内存中的每个位置都由一个地址标识。一般,临近的内存位置组合在一起为一组,这样的话,云存储的内存范围更大。指针的值就是保存内存地址的变量。无论是计算机还是程序员都无法通过值的位模式来判断他的类型。值的类型是通过它的使用方法来确定的,也就是说,值的类型并非其本身所固有的一种特性,不能简单地通过一格值的位来判断他的类型。编译能够能够保证值的声明和值的使用之间的关系是适当的,从而帮助我们确定值

2016-11-03 23:06:26 265

转载 数组元素那点事

数组的下标表示下标法是通过数组元素的下标直接直接引用数组元素。数组由同类型的一系列元素组成,每个元素都有自己的下标,使用数组时,

2016-11-02 22:55:16 275

原创 利用C语言开发嵌入式系统原因

嵌入式系统的内核部分部分利用的就是C语言编程因为C语言具有出色的可移植性,能够在多种不同体系结构的软/硬件上运行,但访问硬件的效率较汇编语言低,但汇编语言是低级语言,只有在对硬件做初始化时使用,对硬件做复杂操作时还是利用C语言;给上层提供支持需要较高的运行效率

2016-11-01 22:51:04 500

转载 gdb调试器

gdb是GNU发布的一款强大的调试功能gdb主要完成下面三个方面的功能(1)启动被调试程序(2)让被调试的程序在指定的位置停住(3)当程序停住时,可以查看程序的状态——变量值gcc -g test.c -o test     生成调试信息gdb test   启动gdbgdb调试工具相关命令(gdb) run   执行程序(gdb)list    查看当前程序源

2016-10-31 22:52:55 292

转载 静态库和动态库

静态库:是在执行程序之前就已经加入到执行代码中,成为执行程序的一部分来执行的,后缀名:.a动态库:是在执行程序启动时加载到执行代码中,后缀名:.so静态库一开始就加入了执行代码,使得可执文件比较臃肿,导致文件比较大,占用内存较大使得它的编译速度减慢,但是执行文件时可以直接调用代码,所以执行效率较高;而动态库只是在执行程序是才加载执行代码,所以占用内内存较小,但是由于代码需要现场调用,所以执

2016-10-30 21:59:55 324

转载 GCC编译过程四个阶段

GNU CC(简称为gcc)是GNU项目中符合ANSI C标准的编译系统,能够编译用C、C++和Object C等语言编写的程序。gcc不仅功能强大,而且可以编译如C、C++、Object C、Java、和Ada等多种语言,而且gcc又是一个交叉平台编译器,它能够在当前CPU平台上为多种不同体系结构的硬件平台开发软件,因此尤其适合在嵌入式领域的开发编译.在一种计算机环境中运行的编译程序,能编译

2016-10-29 22:00:12 3825

转载 函数调用

在设计较大的程序时,往往把它分成干个程序模块,每一个模块包括一个或多个函数,每个函数实现一个特定的功能。一个C程序可由一个主函数和若干个其他函数构成。由主函数调用其它函数,其他函数也可互相调用。同一个函数可以被一个或多个函数调用任意次数。C程序的执行是从main函数开始,若果在main函数中调用其它函数,在调用后流程返回到main函数,在main函数中结束整个程序的运行。从用户的角度看函数

2016-10-29 00:21:26 873

转载 常用Linux命令

su -用户名     切换用户su -root          切换管理员adduser 用户名    添加用户psswd 用户名       添加密码ls     查看当前用户ls -l   查看当前目录详细信息linux下文件:普通文件(-表示,可用ls -l查看)目录文件(d)(linux中,任何东西都被看成文件,即“一切皆文件”)设备文件(字符设备文

2016-10-27 22:15:04 245

原创 浅谈嵌入式

嵌入式开发相比较于传统开发具有较强的可移植性,它引入了嵌入式系统,使软件不用再直接作用于硬件,而是先向操作系统申请命令,通过操作系统作用与硬件。这样不仅使得软件具有较强的可移植性,并且开发人员也不必要懂的硬件,是的开发人员可以专注于软件开发,开发出出色的软件。操作系统是一款管理软件和硬件的软件系统,它提供了开源软件和工具以及开发库,提高了开发效率;提供了丰富的网络协议栈,可以远程控制,更加智能

2016-10-26 22:25:20 320

原创 帅比凯的成长记录

学习苏嵌的第四天,写一篇博客,记录一下自己的收获,虽然现在只是个程序小白,但是我相信经过我的努力,一定能取得很大的进步。今天学习了循环语句并会用数组处理数据,在学的过程中遇到并解决了一些问题,下面就来分享一下。循环语句中应用最多而且最广泛的为for循环,其灵活性很强而且很简便。int main(){int i,j,n,sum;i=1;while(i{    pr

2016-10-25 23:12:01 267

基于stm32 WiFi控制多功能LED程序、电路图、PCB、手机APP程序

基于stm32 WiFi控制多功能LED程序、电路图、PCB、手机APP程序

2022-01-27

空空如也

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

TA关注的人

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