《嵌入式C编程:PIC单片机和C编程技术与应用》一1.7 语句和表达式

简介:

本节书摘来自华章出版社《嵌入式C编程:PIC单片机和C编程技术与应用》一书中的第1章,第1.7节,作者 [美]马克·西格斯蒙德(Mark Siegesmund),更多章节内容可以访问云栖社区“华章计算机”公众号查看

1.7 语句和表达式

在上面的例子中for那一行就是一个语句(statement)。程序在运行时会执行这些语句。该语句包含3个表达式。表达式将在第5章介绍,语句将在第6章介绍。在for语句中:


c9fb2941f2b4c4ccd4bb624cbaacfcdac49736e9

在这个例子中,for语句的后面有4行语句放在一对大括号{}内,随着i从1增长到10,被执行10次。当i变成11的时候,由于条件11<=10为假,条件不成立,循环终止。
表达式由常量、变量、运算符和函数调用组合而成。表达式通常都有一个结果(值)。像+ - * / 以及稍微有点特殊的=,则是一些简单的运算符。
在上面的例子中,由于在for循环中需要执行4条语句,我们将它们用{和}包围起来构成一个组,也称为复合语句。大括号中可以包含0条或多条语句。如果没有大括号,则只有output_high()会被执行10次,后面的3条语句将在整个循环语句结束之后运行
一次。
在这个for循环中的4行语句每一行都是一个函数调用。我们在程序中并没有定义这些函数,但编译器会将它们编译进去。函数名后的括号告诉编译器这是个函数调用。函数名后面括号内的表达式是要传入函数的数据。在函数调用的地方,它们称为实际参数(argument,也叫实参);而在函数定义中,称为形式参数(parameter,也叫形参)。
C语言中,每个有效语句都以分号;结尾。但是需要注意,这里说的是“有效”,而不是“有意义”。例如,下面是一个有效的C语言语句:

432c839e82cb407cfe67c1600b7897e1cf5de28c

但是,该语句并没有完成任何工作。有些编译器可能会在这条语句上浪费点时间将其编译一下,但也仅此而已,并没有任何意义。好的编译器在这一行会弹出一个警告,因为这可能是程序员输入错了。
在分号前不写任何语句,我们称之为空语句。空语句什么都不做。
C语言不像其他一些语言有赋值语句,而是使用赋值运算符=来赋值:

c2a5a7d6d62352bd1df0a56ec0da54e213978520

x=3这个表达式包括变量、运算符和常量,再加上;,构成了一个完整的语句。赋值语句将右侧(rvalue)的值赋给左侧(lvalue)的变量。
相关文章
|
9月前
|
人工智能 自然语言处理 测试技术
嵌入式开发者的灵魂拷问:通义灵码2.0能否Hold住51单片机竞赛级开发?
通义灵码2.0嵌入式开发专项评测,基于蓝桥杯第十二届单片机赛题(NE555频率检测),验证多文件代码生成及单元测试智能体能力。评测结果显示,AI在基础场景中具备实用性,但存在硬件抽象层缺陷和图像识别局限。原始得分58.1/70,主要问题为LED状态异常。完整代码已开源。
310 3
|
传感器 存储 物联网
单片机的原理与应用
单片机是一种将计算机的CPU、存储器、输入输出接口等功能集成在一块芯片上的微型计算机,被广泛应用于各类控制系统和智能设备中。
691 5
|
物联网 Linux 芯片
学习嵌入式是选择单片机还是Linux?
单片机通常指的是一种集成了处理器、存储器和各种外设接口的微控制器芯片,常见的有STC、51系列、AVR、ARM Cortex-M等。单片机具有低成本、低功耗、实时性强等特点,适用于对资源要求较低、功耗要求较低、实时性要求较高的嵌入式系统。学习单片机开发可以让您深入了解嵌入式系统的底层原理和硬件编程,对于对嵌入式系统底层开发感兴趣的人来说,是一个很好的选择。
371 4
|
Web App开发 传感器 Linux
【嵌入式软件工程师面经】STM32单片机
【嵌入式软件工程师面经】STM32单片机
554 1
|
算法 定位技术 C语言
51单片机实现俄罗斯方块游戏编程
设计了一款基于AT89C51单片机的俄罗斯方块游戏机,使用LCD12864液晶显示,按键控制方块移动与变形。游戏中,7种不同形状的方块随机下落,填满一行得分,满屏则游戏结束。包含电源、单片机最小系统、LCD和按键模块的硬件电路通过Proteus进行了仿真,展示了游戏运行、得分和计时等。代码部分展示了检查碰撞和更新地图的函数。
375 1
|
传感器 存储 程序员
《单片机原理与应用及C51编程技术》期末复习笔记
《单片机原理与应用及C51编程技术》期末复习笔记
408 0
|
传感器 人工智能 物联网
单片机:编程实践与应用探索
单片机:编程实践与应用探索
247 4
|
存储 传感器 数据处理
单片机编程入门与实践
单片机编程入门与实践
243 2
|
存储 芯片
【期末不挂科-单片机考前速过系列P11】(第十一章:15题速过串行口的工作原理和应用)经典例题盘点(带图解析)
【期末不挂科-单片机考前速过系列P11】(第十一章:15题速过串行口的工作原理和应用)经典例题盘点(带图解析)
|
传感器 安全 物联网
单片机在智能家居系统中的应用研究
单片机在智能家居系统中的应用研究
671 1