2018年3月6日

位运算符、按位与、按位或、按位非、左移、右移、原码、反码、补码

摘要: 位运算符的基本规则1,位运算符都是针对整数的二进制数字形式而进行的。2,按位与运算基本规则(规则表):1 & 1 ==> 11 & 0 ==> 00 & 1 ==> 00 & 0 ==> 0;3, 按位或运算基本规则1 | 1 ==> 1;1 | 0 ==> 1;0 | 1 ==> 10 | 0 = 阅读全文

posted @ 2018-03-06 21:51 张凌001 阅读(4711) 评论(0) 推荐(0)

C语言跳出循环

摘要: 使用while或for循环时,如果想提前结束循环(在不满足结束条件的情况下结束循环),可以使用break或continue关键字。 break关键字 在《C语言switch语句》一节中,我们讲到了break,用它来跳出 switch 语句。当 break 关键字用于 while、for 循环时,会终 阅读全文

posted @ 2018-03-06 17:29 张凌001 阅读(8101) 评论(0) 推荐(1)

C语言for循环

摘要: 除了while循环,C语言中还有 for 循环,它的使用更加灵活,完全可以取代 while 循环。上节我们使用 while 循环来计算1加到100的值,代码如下: #include <stdio.h> int main(){ int i, sum=0; i = 1; //语句① while(i<=1 阅读全文

posted @ 2018-03-06 17:27 张凌001 阅读(729) 评论(0) 推荐(0)

C语言while语句

摘要: 在C语言中,共有三大常用的程序结构: 顺序结构:代码从前往后执行,没有任何“拐弯抹角”; 选择结构:也叫分支结构,重点要掌握 if else、switch 以及条件运算符; 循环结构:重复执行同一段代码。 前面讲解了顺序结构和选择结构,本节开始讲解循环结构。所谓循环(Loop),就是重复地执行同一段 阅读全文

posted @ 2018-03-06 17:26 张凌001 阅读(3582) 评论(0) 推荐(0)

C语言条件运算符

摘要: 如果希望获得两个数中最大的一个,可以使用 if 语句,例如: if(a>b){ max = a; }else{ max = b; } if(a>b){ max = a; }else{ max = b; } 不过,C语言提供了一种更加简单的方法,叫做条件运算符,语法格式为: 表达式1 ? 表达式2 : 阅读全文

posted @ 2018-03-06 17:24 张凌001 阅读(4228) 评论(0) 推荐(0)

C语言switch语句

摘要: C语言虽然没有限制 if else 能够处理的分支数量,但当分支过多时,用 if else 处理会不太方便,而且容易出现 if else 配对出错的情况。例如,输入一个整数,输出该整数对应的星期几的英文表示: #include <stdio.h> int main(){ int a; printf( 阅读全文

posted @ 2018-03-06 17:23 张凌001 阅读(3867) 评论(0) 推荐(0)

C语言逻辑运算符

摘要: 现在假设有这样一种情况,我们的软件比较特殊,要求使用者必须成年,并且成绩大于等于60,该怎么办呢?或许你会想到使用嵌套的 if 语句,类似下面这样的代码: #include <stdio.h> int main() { int age; float score; printf("请输入你的年龄和成绩 阅读全文

posted @ 2018-03-06 17:22 张凌001 阅读(2399) 评论(0) 推荐(1)

C语言关系运算符

摘要: 在上节《C语言if else语句》中看到,if 的判断条件中使用了<=、>、!=等符号,它们专门用在判断条件中,让程序决定下一步的操作,称为关系运算符(Relational Operators)。关系运算符在使用时,它的的两边都会有一个表达式,比如变量、数值、加减乘除运算等,关系运算符的作用就是判明 阅读全文

posted @ 2018-03-06 17:21 张凌001 阅读(1865) 评论(0) 推荐(0)

51单片机的时钟及总线时序和总线扩展

摘要: 说到51单片机的时钟首先想到51时怎么工作的呢?微型控制器要想工作必须要有一个“动力”,对于51单片机来说,这个“动力”就是时钟源。一般应用上会外接一个12MHz的晶振作为时钟源。 一般第一种接法用的比较多。选择内部震荡方式时晶振旁边有两个小电容。这两个电容叫晶振的负载电容,分别接在晶振的两个脚上和 阅读全文

posted @ 2018-03-06 16:53 张凌001 阅读(786) 评论(0) 推荐(0)

M451例程讲解之GPIO.H

摘要: 到了CORTEX-M4,几乎每一快都有很大的知识量,单单GPIO库文件这一项就有很长的章节要描述,加油吧 GPIO.h。是最基础的一个库文件,下面结合数据手册来一一进行讲解: 先把库文件粘上,方便一一查阅: 以上是它的底层库函数,也没有什么复杂的东西,用以上的库函数就可以进行编程了,按键和LED的例 阅读全文

posted @ 2018-03-06 16:48 张凌001 阅读(2459) 评论(0) 推荐(0)

M451例程讲解之按键

摘要: 这是我设计的一个小程序基于M451的库函数,可以下载到板子上试一试,努力去学习思考,反复验证, 当SW1按上时,B1出电压为零。 我在把库函数贴出来 多看看库函数,对你的编程有很大的提高 按键设为输入,断码管设为输出。 轻触开关的功能分为两种:一个是常开型、一种是常闭型。最为常见的是常开型,常开型是 阅读全文

posted @ 2018-03-06 13:45 张凌001 阅读(954) 评论(0) 推荐(0)

理解字节序(转)

摘要: 数据在存放到内存里的时候,有两种存放方式,即:Big Endian(大端模式) 和 Little Endian(小端模式) 这两个存取方式决定了内存存放数据的原则是 高高低低 原则 还是 高低低高 原则。 高高低低--内存中的高位存放数据的高位,内存中的低位存放数据的低位(Little Endian 阅读全文

posted @ 2018-03-06 11:21 张凌001 阅读(249) 评论(0) 推荐(0)

《逆向分析实战》数据的存储及表示形式

摘要: 学习过计算机的读者都知道,计算机中的各种数据都是以二进制形式进行存储的,无论是文本文件、图片文件,还是音频文件、视频文件、可执行文件等,统统都是由二进制文件存储的。学习过计算机的读者在学习计算机基础的时候一定学习过进制转换,也一定学习过数据的表示方式等,大部分人在学习这部分知识时会觉得枯燥、无用,但 阅读全文

posted @ 2018-03-06 11:11 张凌001 阅读(1173) 评论(0) 推荐(0)

C语言——内存分配

摘要: “要想深入学习C语言,不可避免要去弄懂C语言的内存分配,我也是最近才看了关于这一部分的内容,看完后收获很大,很多以前不是很明白的地方也变得清晰起来。” 01 — 虚拟内存 我们要知道,在编程过程中,我们直接操作的内存其实是虚拟内存,使用的地址也是虚地址,但虚拟内存更易于我们来理解程序的执行过程。 虚 阅读全文

posted @ 2018-03-06 10:22 张凌001 阅读(570) 评论(0) 推荐(0)

C语言编程基础学习字符型数据的ASCII码值为何是负数?

摘要: C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。 C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域, 阅读全文

posted @ 2018-03-06 10:20 张凌001 阅读(1497) 评论(0) 推荐(0)

你知道嵌入式C语言中各变量存储的位置吗?

摘要: 局部变量、局部静态变量、全局变量、全局静态变量区别如下: 局部变量: 栈区; 局部静态变量:静态区; 全局变量: 静态区的常量区; 全局静态变量:静态区。 在进行C/C++编程时,需要程序员对内存的了解比较精准。经常需要操作的内存可分为以下几个类别: 1、栈区(stack)— 由编译器自动分配释放 阅读全文

posted @ 2018-03-06 09:51 张凌001 阅读(897) 评论(0) 推荐(0)

stm32入门(从51过渡到32)

摘要: 单片机对于我来说,就是一个超级大机器,上面有一排一排数不尽的开关,我需要做的,就是根据我的设计,拿着一张超级大的表(Datasheet),把需要的开关(reg)都开关(config)到对应功能的位置(硬件配置初始化),然后运行你设计的程序流程(while(1)后面的),这机器应该先做什么在做什么,应 阅读全文

posted @ 2018-03-06 09:44 张凌001 阅读(1095) 评论(0) 推荐(0)

导航