黑马程序员---iOS学习基础---循环控制

本文介绍了Java中循环控制的基本概念、while、do-while、for循环语句的应用及注意事项,包括循环流程控制、循环体复合语句、循环变量初始化等关键点。


------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 


在许多问题中需要用到循环控制。循环结构是结构化程序设计的基本结构之一,它和顺序结构、选择结构共同作为各种复杂程序的基本构造单元。

1.结构化程序设计方法主张限制使用goto语句,因为滥用goto语句将使程序流程无规律、可读性差.所以一般情况下尽量不要使用。

下面的程序实例为求1到100的和。

 void main( )  

 { 

 int i, sum=0; i=1;

loop:

 if(i<=100) { sum=sum+i; i++; goto loop; }  

 printf(“%d\n”,sum);  

 }

2.while语句控制循环:

while (表达式) 语句;当表达式为非0值时,执行while语句中的内嵌语句。

其特点是:先判断表达式,后执行语句。

  void main()  

 { 

 int i,sum=0; i=1;  

 while (i<=100)  

 { sum=sum+i; i++; }  

 printf(″%d\\n″,sum);

}

(1)循环体如果包含一个以上的语句,应该用花括弧括起来,以复合语句形式出现。

(2)在循环体中应有使循环趋向于结束的语句。如果无此语句,则i的值始终不改变,循环永不结束。

3.do-while语句的特点:先执行循环体,然后判断循环条件是否成立。

   一般形式:   do

           循环体语句

             while(表达式);

执行过程:先执行一次指定的循环体语句,然后判别表达式,当表达式的值为非零(“真”) 时,返回重新执行循环体语句,如此反复,直到表达式的值等于0为止,此时循环结

束。

void main(){

int i = 1,sum = 0;

do{

sum +=i;i++;

}while(i<=100)

printf(“%d\n”,sum);

}

在一般情况下,用while语句和用do-while语句处理同一问题时,若二者的循环体部分是一样的,它们的结果也一样。但是如果while后面的表达式一开始就为假(0值)时,

两种循环的结果是不同的。


4.for循环语句

C语言中的for语句使用最为灵活,不仅可以用于循环次数已经确定的情况,而且可以用于循环次数不确定而只给出循环结束条件的情况,它完全可以代替while语句。

一般形式:for (表达式1;表达式2;表达式3) 语句

void main(){

int i ,sum = 0;

for(i=1;i<=100;i++)

   sum=sum+i

printf(“%d\n”,sum);

}

for中的三个表达式都是可以根据条件省略的。一个循环体内又包含另一个完整的循环结构 称为循环的嵌套。内嵌的循环中还可以嵌套 循环。三种循环(while循环、do-while循

环和for循环)可以互相嵌套。for循环可以在表达式3中包含使循环趋于结束的操作,甚至可以将循环体中的操作全部放到表达式3中。因此for语句的功能更强,凡用while循环能

完成的,用for循环都能实现。用while和do-while循环时,循环变量初始化的操作应在while和do-while语句之前完成。而for语句可以在表达式1中实现循环变量的初始化。while

循环、do-while循环和for循环,可以用break语句跳出循环,用continue语句结束本次循环而对用goto语句和if语句构成的循环,不能用break语句和continue语句进行控制。

break语句不能用于循环语句和switch语句之外的任何其他语句中。continue作用为结束本次循环,即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定。






基于51单片机,实现对直流电机的调速、测速以及正反转控制。项目包含完整的仿真文件、源程序、原理图和PCB设计文件,适合学习和实践51单片机在电机控制方面的应用。 功能特点 调速控制:通过按键调整PWM占空比,实现电机的速度调节。 测速功能:采用霍尔传感器非接触式测速,实时显示电机转速。 正反转控制:通过按键切换电机的正转和反转状态。 LCD显示:使用LCD1602液晶显示屏,显示当前的转速和PWM占空比。 硬件组成 主控制器:STC89C51/52单片机(与AT89S51/52、AT89C51/52通用)。 测速传感器:霍尔传感器,用于非接触式测速。 显示模块:LCD1602液晶显示屏,显示转速和占空比。 电机驱动:采用双H桥电路,控制电机的正反转和调速。 软件设计 编程语言:C语言。 开发环境:Keil uVision。 仿真工具:Proteus。 使用说明 液晶屏显示: 第一行显示电机转速(单位:转/分)。 第二行显示PWM占空比(0~100%)。 按键功能: 1键:加速键,短按占空比加1,长按连续加。 2键:减速键,短按占空比减1,长按连续减。 3键:反转切换键,按下后电机反转。 4键:正转切换键,按下后电机正转。 5键:开始暂停键,按一下开始,再按一下暂停。 注意事项 磁铁和霍尔元件的距离应保持在2mm左右,过近可能会在电机转动时碰到霍尔元件,过远则可能导致霍尔元件无法检测到磁铁。 资源文件 仿真文件:Proteus仿真文件,用于模拟电机控制系统的运行。 源程序:Keil uVision项目文件,包含完整的C语言源代码。 原理图:电路设计原理图,详细展示了各模块的连接方式。 PCB设计:PCB布局文件,可用于实际电路板的制作。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值