Arduino Uno 学习第三课,常量与变量
本节目标:
1.常量的定义和种类。
2.变量与常变量。
①区别与差别
②格式
③需定义后才可使用
④数据类型
⑤变量名命名规则
⑥变量初始化
⑦作用域
⑧类型转换
常量
由上节课我们知道LED_BUILTIN等同于13,所以上面的程序是等价的。
而这边的数字13被我们成为常量。
常量是固定值(又叫字面量),在程序执行期间不会改变的量,是固定的值。
常量可以是任何的基本数据类型,如:整数常量、实型常量、字符常量和字符串常量。
变量与常变量的区别
实际上,我们在编写程序的时候,对引脚的使用,一般不会直接使用常量,更喜欢先定义一个变量(或者常变量)来表示对应的引脚号。为什么呢?
理由:
①变量需要定义变量名,有变量名(见名知意)就能直观的看出对应引脚连接的是哪个元器件。
②当需要更改元器件引脚号时,可以实现一改多改,减少漏改、少改的情况,修改也更加方便。
故示例程序可以修改为如下图所示:
问题一:变量与常变量定义的区别?
变量: volatile int redLedPin = 13;
volatile可以省略。
常变量:const int redLedPin = 13;
const 不可省略,省略就分不清与变量的区别。
问题二:变量与常变量真正的差别?
变量:在程序的过程中有可能会发生变化。
常变量:在程序的过程中绝对不会发生变化,一直保持初始化的值。
变量的知识点:
变量:一个有名字的,具有具体属性的一个存储单元。
在这里我们将计算机的存储空间比喻为一栋大的存储仓房。不同的变量就是在这栋大仓房划分不同的房间。
根据不同的物品的类别(变量的数据类型),分配不同空间大小的房间(且该房间只能存储对应的物品,不能存储其他类别的物品)。
知识点一:变量的定义格式
知识点二:变量必须先定义才能使用
理由:因为变量就像是一个房间,如果不先设置房间号的话,你能直接进入正确房间么?很明显不行,所以我们必须要先把变量定义好,才可以在使用对应的变量。
知识点三:变量的数据类型
数据类型是对变量的修饰,前面我们举了个例子,变量就是大仓房中房间,而每个房间能存储的物品类型和房间大小是不相同的,而数据类型就是用来固定大小和存储的类别。
C语言中有哪些数据类型呢?
在这里我们看到了一个从没有见过的名称:字节数。
为此,我们还需要了解一下计算机的存储容量的计量单位。
最小的计量单位:bit(又名“比特”,“位”,b),一个比特就代表一个0或1(即二进制),通常数据传输都是以bit为传输单位的。
最常用的计量单位:Byte(又名“字节”,B),是计算机信息技术用于计量存储容量的一种计量单位,作为一个单位来处理的一个二进制数字串,是构成信息的一个小单位。最常用的字节是八位比特,即它包含八位的二进制数,通常数据存储是以“字节”(Byte)为单位。
知识点四:变量名的命名规则
①只包含英文字母,数字,下划线“_”。
②其中数字不能作为开头。
③不能与系统关键字重名。
④变量名区分大小写。
⑤不同变量不能使用同一个名字。
⑥采用驼峰式(首个单词字母小写,之后单词首个字母大写)
⑦有含义的名字,见名知意。
注意:
⑥、⑦非定性要求
知识点五:变量的初始值可不赋值。
知识点六:变量的作用域
我们知道变量声明就类似这样的一个大仓房给物品分类存储,但是我们知道,物品不单单要储存,还要拿出去卖,而这样的卖家呢?
我们根据他们经商的范围分成两类:一类是大的经销商(可以在世界各地进行买卖),一类是小商店(只能在一些固定的地方进行买卖)。
变量也是这样,我们根据他们作用域(作用的范围)分成两类:全局变量和局部变量。即:变量的作用域(变量有效性的范围,与变量定义的位置密切相关,作用域是从空间这个角度来描述变量的)。
1.局部变量:在函数内部定义的变量,只能在定义它的函数内使用,其他函数不能使用。
2.全局变量:从定义点开始直到程序文件结束的变量,在程序的整个运行过程中,都占用存储单元。在一个函数中改变全局变量的值,其他函数可以共享,全局变量相应于起到函数间传递数据的作用。
知识点七:算数转换与强制类型转换。
常用的算术转换是隐式地把值强制转换为相同的类型。编译器首先执行整数提升,如果操作数类型不同,则它们会被转换为下列层次中出现的最高层次的类型。
强制类型转换是把变量从一种类型转换为另一种数据类型。
例如,如果您想存储一个 long 类型的值到一个简单的整型中,您需要把 long 类型强制转换为 int 类型。您可以使用强制类型转换运算符来把值显式地从一种类型转换为另一种类型,如下所示:
Arduino Uno 学习第三课,常量与变量相关推荐
- Arduino Uno 学习第六课,程序结构
本节目标: 代码的阅读顺序 1.看注释 2.看头文件(暂未接触) 3.看整体流程: 如:出现if(a){ A }else{ B }的选择语句,先不管A和B是什么,接下往下 ...
- Python学习第三课-基本数据类型
Python学习第三课-基本数据类型 一.基本概念 1.1表达式 1.2语句 1.3程序 1.4函数 内置函数 自定义函数 参数 返回值 二.标识符 2.1 关键字 2.2标识符概念 驼峰命名法 下划 ...
- JavaScript学习 第三课(三)
JavaScript学习 第三课(三) 学习内容 一.日期和时间对象 二.日期和对象常用的方法 三.修改日期和对象常用的方法 四.将日期和时间转化为字符串 五.日期时间对象的比较 一.日期和时间对象 ...
- Arduino Uno 学习第一课,编程准备
本节目标: 1.对主板界面各元器件的认识. 2.编程软件的下载与安装. 3.对编程软件的界面认识. 4.进行示例程序的上传与观察现象. Arduino Uno R3 介绍 编程软件安装 网址: htt ...
- 0.0 目录-深度学习第三课《结构化机器学习项目》-Stanford吴恩达教授
文章目录 第五课 第四课 第三课 第二课 第一课 第五课 <序列模型> 笔记列表 Week 1 循环序列模型 Week 1 传送门 -> 1.1 为什么选择序列模型 1.2 数学符号 ...
- Java笔记学习2.2.2 常量与变量 - 常量
文章目录 零.本讲学习目标 一.常量定义 二.字面常量 (一)整型常量 1.不同进制的整型常量 2.不同进制整数间相互转换 课堂练习:将十六进制数7d3e5a转换成其它几种进制. (二)浮点型常量 ( ...
- C语言笔记(三)常量、变量
作者:老余 博客地址www.yuxiaoshao.cn 联系方式qq:1316677086 有问题或者有错误请下方直接评论 常量 如果看官是在这个博客里来查资料的,那就不要来了,这里是放的我对本章内容 ...
- 神经网络与深度学习——TensorFlow2.0实战(笔记)(三)(python常量、变量和表达式)
从程序中学习知识点 1. #支持6中表达形式 数字 字符串 列表 元组 字典 集合 #数字 整型(正整数 负整数 零) #Python3中的整数可以任意大,而不用担心位数不够而导致溢出的情况 intn ...
- 2.9 什么是端到端的深度学习-深度学习第三课《结构化机器学习项目》-Stanford吴恩达教授
←上一篇 ↓↑ 下一篇→ 2.8 多任务学习 回到目录 2.10 是否要使用端到端的深度学习 什么是端到端的深度学习 (What is end-to-end deep learning?) 深度学习中 ...
最新文章
- 怎么才能优雅地向导师表达「这周科研没什么进展」?
- 腾讯云详解宕机故障:光纤挖断后的150秒
- sony硬盘摄象机误格式化(fat32)的数据恢复
- 怎么把加载图标去掉_怎样在PCB上绘制图标
- 【数据挖掘笔记十二】离群点检测
- MFC对话框退出程序所调用的函数
- 139. Word Break 单词拆分
- 收好这份 Vue 升级图,假期偷偷上个钻
- 数据结构与算法(二):堆,大根堆,小根堆,堆排序,比较器详解
- python怎么编辑文件_如何使用python中的方法对文件进行修改文件名
- 编写了html怎么测试,如何将测试结果写入HTMLTestRunner生成的报告标题中
- 数据库中的DbUtils
- 2 ELK收集nginx的json格式日志
- Bzoj 3339: Rmq Problem Bzoj 3585: mex 莫队,树状数组,二分
- 【Visual C++】游戏开发笔记三十五 站在巨人的肩膀上 游戏引擎导论
- 闪迪tf卡量产工具_Tony哥的自修室:相机SD卡摔碎角,钣金喷漆技术活复原一波...
- 苹果手机通话声音小怎么调_通话音量小怎么办?教你安卓和苹果的解决教程,只需2步...
- Python一键更换证件照背景色
- 66、气体灭火系统的巡查内容
- WQ7033开发指南(基础篇)之1.1 初识SDK