曾经在BBS上有朋友问过我{}是什么意思?什么作用?在  C  中是有不少的括号,如{},[],()等,确实会让一些初入门的朋友不解。在 VB 等一些语言中同一个()号会有不一样的 作用,它能用于组合若干条语句形成功能块,能用做数组的下标等,而在 C 中括号的分 工较为明显,{}号是用于将若干条语句组合在一起形成一种功能块,这种由若干条语句组合 而成的语句就叫复合语句。复合语句之间用{}分隔,而它内部的各条语句还是需要以分号“;” 结束。复合语句是允许嵌套的,也是就是在{}中的{}也是复合语句。复合语句在程序运行时,{}中的各行单语句是依次顺序执行的。单片机C语言中能将复合语句视为一条单语句,也就是说 在语法上等同于一条单语句。对于一个函数而言,函数体就是一个复合语句,也许大家会因 此知道复合语句中不单能用可执行语句组成,还能用变量定义语句组成。要注意的是在 复合语句中所定义的变量,称为局部变量,所谓局部变量就是指它的有效范围只在复合语句 中,而函数也算是复合语句,所以函数内定义的变量有效范围也只在函数内部。下面用一段简单的例子简单说明复合语句和局部变量的使用。

#include

#include

void  main(void)

{

unsigned  int  a,b,c,d;  //这个定义会在整个 main 函数中?

SCON  =  0x50;  //串行口方式 1,允许接收 TMOD  =  0x20;  //定时器 1 定时方式 2

TH1  =  0xE8;  //11.0592MHz  1200 波特率 TL1  =  0xE8;

TI  =  1;

TR1  =  1;  //启动定时器

a  =  5; b  =  6; c  =  7;

d  =  8;  //这会在整个函数有效

printf("0:  %d,%d,%d,%dn",a,b,c,d);

{     //复合语句 1

unsigned  int  a,e;  //只在复合语句 1 中有效

a  =  10,e  =  100;

printf("1:  %d,%d,%d,%d,%dn",a,b,c,d,e);

{  //复合语句 2

unsigned  int  b,f;  //只在复合语句 2 中有效

b  =  11,f  =  200;

printf("2:  %d,%d,%d,%d,%d,%dn",a,b,c,d,e,f);

}//复合语句 2 结束

printf("1:  %d,%d,%d,%d,%dn",a,b,c,d,e);

}//复合语句 1 结束

printf("0:  %d,%d,%d,%dn",a,b,c,d);

while(1);

}

运行结果:

0:5,6,7,8

1:  10,6,7,8,100

2:  10,11,7,8,100,200

1:  10,6,7,8,100

0:5,6,7,8 结合以上的说明想想为何结果会是这样。

读完前面的文章大家都会大概对条件语句这个概念有所认识吧?是的,就如学习语文中 的条件语句一样,C 语言也一样是“如果 XX 就 XX”或是“如果 XX 就 XX 不然 XX”。也就是 当条件符合时就执行语句。条件语句又被称为分支语句,也有人会称为判断语句,其关键字 是由 if 构成,这大众多的高级语言中都是基本相同的。C 语言供给了 3 种形式的条件语句:

1:  if  (条件表达式)  语句 当条件表达式的结果为真时,就执行语句,不然就跳过。 如  if  (a==b)  a++;  当 a 等于 b 时,a 就加 1

2:  if  (条件表达式)  语句 1

else  语句 2

当条件表达式成立时,就执行语句 1,不然就执行语句 2 如  if  (a==b)

a++;

else

a--;

当 a 等于 b 时,a 加 1,不然 a-1。

3:if  (条件表达式 1)  语句 1

else  if  (条件表达式 2)  语句 2

else  if  (条件表达式 3)  语句 3

else  if  (条件表达式 m)  语句 n else  语句 m

这是由 if  else 语句组成的嵌套,用来实现多方向条件分支,使用应注意 if 和 else 的配对使用,要是少了一个就会语法出错,记住 else 总是与最临近的 if 相配对。一般条件 语句只会用作单一条件或少数量的分支,如果多数量的分支时则更多的会用到下一篇中的开 关语句。如果使用条件语句来编写超过 3 个以上的分支程序的话,会使程序变得不是那么清晰易读。

单片机c语言条件语句,单片机c语言教程:C51复合语句和条件语句相关推荐

  1. c51语言if语句多条件使用,单片机if语句判断多个条件

    单片机if语句格式 sbit P2^0=A1; sbit P1^0=A2; sbit 语句等号后边应该是地址. sbit P2^0=A1:能通过编译码?本人试一下:test.C(6): error C ...

  2. c语言程序设计中常用语句,单片机C语言编程常用语句

    <单片机C语言编程常用语句>由会员分享,可在线阅读,更多相关<单片机C语言编程常用语句(22页珍藏版)>请在人人文库网上搜索. 1.C51程式设计一般陈述式摘要,1,C51 S ...

  3. 51单片机c语言 if 语句,单片机if语句的用法

    单片机if语句格式 sbit P2^0=A1; sbit P1^0=A2; sbit 语句等号后边应该是地址. sbit P2^0=A1:能通过编译码?本人试一下:test.C(6): error C ...

  4. 51c语言字符,51单片机C语言教程(九) 语句应用

    曾经在BBS上有朋友问过我{}是什么意思?什么作用?在C中是有不少的括号,如{},[],()等,确实会让一些初入门的朋友不解.在VB等一些语言中同一个()号会有不同的作用,它可以用于组合若干条语句形成 ...

  5. 单片机c语言中的循环语句,单片机c语言教程:C51循环语句

    循环语句是几乎每个程序都会用到的,它的作用就是用来实现需要反复进行多次的操 作.如一个 12M 的 51 芯片应用电路中要求实现 1 毫秒的延时,那么就要执行 1000 次空语句 才能达到延时的目的( ...

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

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

  7. 单片机c语言置位程序流程图,单片机c语言教程第十二章--C51开关分支语句

    学习了条件语句,用多个条件语句能实现多方向条件分支,但是能发现使用过多的 条件语句实现多方向分支会使条件语句嵌套过多,程序冗长,这样读起来也很不好读.这个时候 使用开关语句同样能达到处理多分支选择的目 ...

  8. 点亮第一盏灯的c语言编程,单片机点亮第一盏灯实验详细教程

    第一个实验:keil软件使用与点亮人生的第一只发光二极管 1.001.jpg (23.15 KB, 下载次数: 78) 2017-5-20 17:27 上传 本章详细介绍单片机程序常用编译软件 Kei ...

  9. c语言程序小灯从右向左闪烁,单片机控制LED灯点亮(C语言).PPT

    <单片机控制LED灯点亮(C语言).PPT>由会员分享,可在线阅读,更多相关<单片机控制LED灯点亮(C语言).PPT(45页珍藏版)>请在人人文库网上搜索. 1.1,单片机控 ...

最新文章

  1. spring-session使用教程(一):redis共享session
  2. php查询mysql表里的数据_php查询mysql数据表记录实现代码
  3. centos7设置、查看、删除环境变量的方法
  4. 软件测试功能测试都有哪一些,【软件测试基础】功能测试常用方法都有哪些
  5. 云服务器 管理控制台_关于小白如何初步管理自己的云服务器
  6. python界面编程pdf_Python Qt GUI快速编程——PyQt编程指南 中文pdf完整版[99MB]
  7. 第十章:XAML标记扩展(二)
  8. 采用ArcGIS 10.6制作漂亮的点阵世界地图,完美!!!
  9. 设计模式-行为性模式(模板方法模式,策略模式,命令模式,责任链模式,观察者模式,中介者模式,迭代器模式)
  10. 机器学习在电商应用中的三个境界:爆款模型、转化率模型及个性化模型
  11. 【山东seo】-淄博孔祥永seo技术分享博客
  12. K - 链表的有序集合_Java
  13. mongo执行逻辑表达式_Mongo学习记录
  14. Design Compiler is not enabled Synopsys License制作
  15. k8s NoSchedule k8s 设置污点 NoExecute有点复杂 移除节点 drain和不可调度cordon
  16. mysql数据库BKA算法详解
  17. 2013各大公司的待遇如下
  18. java 模板函数_重温Java中的模板方法设计模式
  19. 程序员专用经典语录—看完笑一阵可以,千万不要死循环哦!
  20. 听见丨HTC发布新款Vive Pro,采用高分辨率OLED屏并内置耳机 高通在CES上发布新芯片,可将蓝牙耳机续航延长3倍

热门文章

  1. 在Linux和Windows上安装kafka(版本:2.12-2.8.0)
  2. Linux C 遍历目录下的所有文件
  3. 解读 Apache 多个顶级数据库项目的成长经历与开源文化理念
  4. JavaScript妙用
  5. python爬取qq邮箱_使用Python模拟登录QQ邮箱获取QQ好友列表
  6. 【Linux】特别篇--sqlite3数据库的使用
  7. poj1410(计算几何)
  8. tf.RaggedTensor
  9. sas中数据输入输出格式
  10. 用Python把文字转换成语音,抠脚大汉秒变撒娇萌妹,想想不寒而栗