完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
1、一个完整的C语言程序是由若干条语句按一定的方式组合而成的。按C语言语句执行方式的不同,C程序可分为以下三种:顺序结构、选择结构、循环结构。
顺序结构:程序按语句的顺序逐条执行; 选择结构:程序根据条件选择相应的执行顺序; 循环结构:程序根据某种条件,只要满足这个条件,就重复执行某段程序,直到条件不满足为止。如果这个条件永远存在,就形成一个死循环。死循环在单片机的C语言程序中普遍存在,最典型的例子就是每个程序的主函数中都有一个死循环(也成无限循环)while(1); 一般的C程序可以包含全部以上三种结构,也可以只包含一种或两种结构。 2、要保证C语言程序能够按照预期目的运行,还需要用到一些特殊语句对程序进行控制。 1)控制语句 控制语句完成一定的控制功能,C语言中有9中控制语句 if()...else...语句:条件语句 for()...语句:循环语句 while()...语句:循环语句 do...while()语句:循环语句 continue语句:结束本次循环语句 break语句:中止循环执行语句 switch语句:多分支选择语句 goto语句:跳转语句 return语句:从函数返回语句 2)函数调用语句 函数调用语句调用已定义过的函数(注意,一定是调用已定义过的函数,没有定义过的函数不能调用)。 3)表达式语句 一个表达式后面加一个分号“;”就构成了表达式语句 4)空语句 空语句不执行任何操作,常用于消耗机器周期,延时等待等用途。 5)复合语句 用一对大括号“{}”把一些语句括起来就构成了复合语句。在上一节的实例中我们已经学习了这种语句的用法。 3、if语句 if语句用来判断所给定的条件是否满足,根据判定结果选择执行给出的操作。if语句有3种基本形式 1)if(表达式) { ... } .... 该if语句的执行情况为:先判断表达式的结果是否为真(非0值),如果为真,则执行大括号内的语句,否则不执行大括号内的语句。 语句示例如下: if(i==0) { m=10; } ... 这条语句所实现的功能是:如果变量i等于0,则给变量m赋值为10,否则m=10这个语句不会被执行 2)if(表达式) { 语句1 } else { 语句2 } 其含义是:若条件表达式的结果为真,则执行语句1,否则,如果条件表达式的结果为假,则执行语句2.这里的语句1和语句2均可以是单个语句,也可以是复合语句 3、if(表达式1) { 语句1 } else if(表达式2) { 语句2 } else if(表达式3) { 语句3 } .... else { 语句n } 这种条件语句经常用来实现多种条件的判断,它是由if-else语句嵌套而成的,在这种结构里,else总是与距它最近的if相配对。 4、本例子用if语句控制p0口的8个led的点亮状态,要求程序利用if语句判断两个按键是否被按下了,当检测到其中一个按键按下时,利用LED灯的状态指示那个按键被按下了 5、在keil c51中新建工程ex17,编写如下程序代码,并编译生成ex17.hex文件 //实例17:if条件判断语句试验 #include ***it S1 = P1^0; // 将S1位定义为P1.0引脚 ***it S2 = P1^1; // 将S2位定义为P1.1引脚 void main(void) { while(1) // { if(S1 ==0) //判断S1按键是否按下 { P0 = 0x0f; //如果S1按键按下,P0口高四位LED点亮 } if(S2 == 0) // 判断S2按键是否按下 { P0 = 0xf0; //如果S2按键按下,P0口低四位LED点亮 } } } 6、在proteus中新建仿真文件ex17.dsn,原理图如下所示。 7、将ex17.hex文件载入单片机at89c51,启动仿真,观察运行效果 当按键S2被按下时,执行结果如下图所示 当按键S1被按下时,执行结果如下图所示 |
|
|
|
只有小组成员才能发言,加入小组>>
2302 浏览 0 评论
1350浏览 3评论
816浏览 2评论
465浏览 1评论
1336浏览 0评论
218浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-17 03:29 , Processed in 0.973718 second(s), Total 46, Slave 38 queries .
Powered by 电子发烧友网
© 2015 www.ws-dc.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号