描述

表达式语句是最基本的一种语句。不同的程序设计语言都会有不一样的表达式语句,如VB就是在表达式后面加入回车就构成了VB的表达式语句,而在51单片机的C语言中则是加入分号“;”构成表达式语句。举例如下:

b = b * 10;

Count++;

X = A;Y = B;

Page = (a+b)/a-1;

以上的都是合法的表达式语句。在我收到的一些网友的Email中,发现很多初学的朋友往往在编写调试程序时忽略了分号“;”,造成程序不法被正常的编译。我个人的经验是在遇到编译错误时先语法是否有误,这在初学时往往会因在程序中加入了全角符号、运算符打错漏掉或没有在后面加“;”。

在C语言中有一个特殊的表达式语句,称为空语句,它仅仅是由一个分号“;”组成。有时候为了使语法正确,那么就要求有一个语句,但这个语句又没有实际的运行效果那么这时就要有一个空语句。说起来就像大家在晚自修的时候用书包占位一样,呵呵。

空语句通常用会以下两种用法。

(1)while,for构成的循环语句后面加一个分号,形成一个不执行其它操作的空循环体。我会会常常用它来写等待事件发生的程序。大家要注意的是“;”号作为空语句使用时,要与语句中有效组成部分的分号相区分,如 for (;a《50000;a++);第一个分号也应该算是空语句,它会使a赋值为0(但要注意的是如程序前有a值,则a的初值为a的当前值),最后一个分号则使整个语句行成一个空循环。那么for (;a《50000;a++);就相当于for (a=0;a《50000;a++);我个人习惯是写后面的写法,这样能使人更容易读明白。

(2)在程序中为有关语句提供标号,标记程序执行的位置,使相关语句能跳转到要执行的位置。这会用在goto语句中。

下面的示例程序是简单说明while空语句的用法。硬件的功能很简单,就是在P3.7上接一个开关,当开关按下时P1上的灯会全亮起来。当然实际应用中按键的功能实现并没有这么的简单,往往还要进行防抖动处理等。

先在我们的实验板上加一个按键。电路图如图8-1。

图8-1 加了按键的实验电路图

程序如下:

#include

void main(void)

{

unsigned int a;

do

{

P1 = 0xFF; //关闭P1上的LED

while(P3_7); //空语句,等待P3_7按下为低电平,低电平时执行下面的语句

P1 = 0; //点亮LED

for(;a《60000;a++); //这也是空语句的用法,注意a的初值为当前值

} //这样第一次按下时会有一延时点亮一段时间,以后按多久就亮多久

while(1); //点亮一段时间后关闭再次判断P3_7,如此循环

}

打开APP精彩内容

点击阅读全文

51单片机c语言运算符,51单片机表达式语句的用法解析相关推荐

  1. c语言中求字节的运算符是,初学者单片机C语言运算符

    单片机C语言运算符 单片机及C语言学习 auto        存储种类说明        用以说明局部变量,缺省值为此 break        程序语句        退出最内层循环 case  ...

  2. 单片机c语言编程下载,单片机C语言编程.doc

    单片机C语言编程.doc 单片机C语言编程指令格式 功能简述 字节数 周期 一.数据传送类指令 MOV A, Rn 寄存器送累加器 1 1 MOV Rn,A 累加器送寄存器 1 1 MOV A ,Ri ...

  3. 51单片机c语言除法符号,单片机c语言教程:C51运算符和表达式

    上两课说了常量和变量,先来补充一个用以重新定义数据类型的的语句吧.这个语句就是 typedef,这是个很好用的语句,但我却不常用它,通常我定义变量的数据类型时都是使 用标准的关键字,这样别人能很方便的 ...

  4. 51单片机c语言编程函数,单片机C语言教程:C51函数

    其实一直出现在例子中的 main()也算是一个函数,只不过它比较特殊,编译时以它做为程序的开始段.有了函数C 语言就有了模块化的优点,一般功能较多的程序,会在编写程序时把每项单独的功能分成数个子程序模 ...

  5. 51单片机c语言程序控制,51单片机C语言程序设计源代码

    <51单片机C语言程序设计源代码>由会员分享,可在线阅读,更多相关<51单片机C语言程序设计源代码(281页珍藏版)>请在人人文库网上搜索. 1.51 SCM c语言教程示例2 ...

  6. 万年历设计单片机c语言,基于51单片机的电子万年历的设计

    基于51单片机的电子万年历的设计(论文9400字) 功能要求 1. 万年历能用数码管显示阳历年.月.日.星期.[小]时.分.秒并设置指定时间的闹铃. 2. 数字式温度计要求测温范围-50~100°C, ...

  7. 呼吸灯51单片机c语言编程,51单片机基于定时器实现呼吸灯(C8051F020单片机)

    一.实现思路 原理:利用PWM信号控制LED灯的亮暗程度,实现LED灯由暗到亮又由亮到暗的渐变过程. 方法:通过定时器设置LED所接引脚的高低电平持续时间,模拟出PWM波. 二.关键问题--PWM的频 ...

  8. 51单片机c语言试卷 答案,单片机期末考试题目及答案.doc

    PAGE PAGE 14 <单片机>练习题 一.填空题 1.若不使用MCS-51片内的存储器,引脚必须接 . MCS-51有4个并行I/O口,其中P1-P3口是准双向口,所以由输出转输入时 ...

  9. 51单片机c语言for循环,单片机编程中for循环语句

    for语句是我们今后编程的一个常用的语句,这个语句必须得学会其用法,他不仅仅可以用来做延时,还可以用来做一些循环运算.for语句的一般形式如下: for(表达式1; 表达式2; 表达式3) (需要执行 ...

最新文章

  1. 解决:未能将管道连接到虚拟机: 所有的管道范例都在使用中。
  2. linux面试题:删除一个目录下的所有文件,但保留一个指定文件
  3. jdbc面试_JDBC面试问答
  4. 从俄罗斯方块,迈向强化学习大门
  5. liunx中安装软件的几种方式
  6. win10 添加虚拟服务器,win10虚拟机共享文件夹如何设置_win10虚拟机与主机共享文件夹操作方法...
  7. 【mcuclub】舵机-SG90
  8. leaftlet 显示个性化图标、旋转图标
  9. Unity3d进阶学习(9)-- 本地化Localization
  10. 国际结算三大方式之——汇款
  11. 面试系列(九):商汤科技 深度学习平台C++研发
  12. 个性测试:跟乐嘉学性格色彩(图)
  13. open函数返回-1_这 68 个 Python 内置函数请收好!
  14. 静态函数和非静态函数的区别(静态方法和非静态方法)
  15. oracle 外部表加载txt文件-导入银行信息-ok
  16. <mvc:annotation-driven/>标签的使用
  17. H5 捕鱼游戏搭建教程
  18. ios微信多开教程(最简单实用 亲测可用)
  19. Unity2D 实现UGUI滚动鼠标滑轮以鼠标位置点为中心缩放图片
  20. 【存储】RAID0、RAID1、RAID3、RAID5、RAID6、混合RAID10、混合RAID50

热门文章

  1. 在x86上成功使用gentoo系统上安装的grub2启动 Mac OS X Leopard 10.5.7
  2. 健康饮食动起来[我写绿色IT]
  3. 多喜临门,BCH币价应声上涨
  4. Github上AI在银行和保险的应用列表
  5. SpringBoot简单使用
  6. Nginx流量拦截算法
  7. Linux crontab 命令格式与具体样例
  8. Cnyunwei-Cacti+Nagios安装说明
  9. Struts2获取request三种方法
  10. 从EXCHANGE03转移到EXCHANGE07