历史上的今天
今天是:2025年07月08日(星期二)
2021年07月08日 | 单片机C语言中的表达式语句及复合语句
2021-07-08 来源:eefocus
1. 表达式语句
在表达式的后边加一个分号“;”就构成了表达式语句 ,如:
a=++b*9;
x=8;y=7;
++k;
可以一行放一个表达式形成表达式语句,也可以一行放多个表达式形成表达式语句,这时每个表达式后面都必须带“;”号,另外,还可以仅由—个分号“;”占一行形成一个表达式语句,这种语句称为空语句。
空语句在程序设计中通常用于两种情况:
(1)在程序中为有关语句提供标号,用以标记程序执行的位置。例如采用下面的语句可以构成一个循环。
repeat:;
:
goto repeat;
(2)在用while语句构成的循环语句后面加一个分号,形成一个不执行其它操作的空循环体。这种结构通常用于对某位进行判断,当不满足条件则等待,满足条件则执行。
【例】下面这段子程序用于读取8051单片机的串行口的数据,当没有接收到则等待,当接收到,接收数据后返回,返回值为接收的数据。
#include char getchar() { char c; while(!RI); //当接收中断标志位RI为0则等待,当接收中断标志位为1则;等待结束 c=SBUF; RI=0; return(c); } 2. 复合语句 复合语句是由若干条语句组合而成的一种语句,在C51中,用一个大括号“{ }”将若干条语句括在一起就形成了一个复合语句,复合语句最后不需要以分号“;”结束,但它内部的各条语句仍需以分号“;”结束。复合语句的一般形式为: { 局部变量定义; 语句l; 语句2; } 复合语句在执行时,其中的各条单语句按顺序依次执行,整个复合语句在语法上等价于一条单语句,因此在C51中可以将复合语句视为一条单语句。通常复合语句出现在函数中,实际上,函数的执行部分(即函数体)就是一个复合语句;复合语句中的单语句一般是可执行语句,此外还可以是变量的定义语句(说明变量的数据类型)。在复合语句内部语句所定义的变量,称为该复合语句中的局部变量,它仅在当前这个复合语句中有效。利用复合语句将多条单语句组合在—起,以及在复合语句中进行局部变量定义是C51语言的一个重要特征。
上一篇:单片机C语言C51的输入输出
史海拾趣
|
1 主要特点 DS2770是Dallas Semiconductor公司生产的一款电池电量计和锂/镍化学电池充电器集成器件,它可以通过1-Wire接口与主系统进行通信,以读取电压、温度等测量信息,同时读写EEPROM存储器,因而可 ...… 查看全部问答> |
|
光端机除提供视频信号的传输通道外,还能提供丰富的其它信号传输通道,如音频信号、异步数据信号、以太网信号、开关量信号和普通电话信号等。在选择配置光端机的这些辅助功能时,还需要考虑哪些因素呢? 光端机的音频接口一般都是线 ...… 查看全部问答> |
|
我不是很理解: 1.平台的定制; 2.驱动程序的开发. 我很想知道, 对于OS开发, 比方说, 如果我要改其中的部分网络协议, 如IP协议中的一部分, 此时会用到platform builder吗? 如果有的话, 它起的是什么作用呢?… 查看全部问答> |
|
请问,作手机上的嵌入式开发,看那本书比较好,小弟在此谢过,50分赠送 想看一些手机上的嵌入式开发, 请朋友们推荐以下,关于嵌入式,c,或者linux的书籍 我有java,.net等语言的经验,c只是学了谭浩强的c语言设计 小弟在此谢过… 查看全部问答> |
|
MAX2的BANK3引脚能不能直接接上拉电阻拉到5V?如果可以,需要特殊设置吗?我现在有2个脚,通过一上拉电阻拉到了5V,但是用万用表测,我没用这两个脚,但电阻另一端自动降到3.3V了,这是怎么回事?芯片烧了?… 查看全部问答> |
|
环境:STM8S105,RLINK,swim接口,STVD,COSMIC。lReg定义为局部变量;GPIOG_PIN_0已配置为输入口(图中可以看到GPIO->DDR为0x02);为什么lReg的值为0呢?我试了下将断点设在红线处(597行)时,单步运行,lReg是0x01。。。全速运行却始终 ...… 查看全部问答> |
|
本帖最后由 dontium 于 2015-1-23 13:35 编辑 按照ADS7804手册接法,在没有模拟量输入的情况下,模拟输入引脚怎么会有2.07V的电压。 … 查看全部问答> |




