编辑:小虎工业设计实验室—BIN
C51 的基本结构
顺序结构
顺序结构是最基本、最简单的结构,在这种结构中,程序由低地址到高地址依次执行,如图给出顺序结构流程图,程序先执行 A 操作,然后再执行 B 操作。
选择结构
选择结构可使程序根据不同的情况,选择执行不同的分支,在选择结构中,程序先都对一个条件进行判断。当条件成立,即条件语句为“真”时,执行一个分支,当条件不成立时,即条件语句为“假”时,执行另一个分支。如图:当条件 S 成立时,执行分支 A,当条件 P 不成立时,执行分支 B。
在 C51 中,实现选择结构的语句为 if/else,if/elseif 语句。另外在 C51中还支持多分支结构,多分支结构既可以通过 if 和 elseif 语句嵌套实现,可用 swith/case 语句实现。
循环结构
在程序处理过程中,有时需要某一段程序重复执行多次,这时就需要循环结构来实现,循环结构就是能够使程序段重复执行的结构。循环结构又分为两种:当(while)型循环结构和直到(do...while)型循环结构。
①当型循环结构
当型循环结构如图:当条件 P 成立(为“真”)时,重复执行语句 A,当条件不成立(为“假”)时才停止重复,执行后面的程序。
②直到型循环结构
直到型循环结构,先执行语句 A,再判断条件 P,当条件成立(为“真”)时,再重复执行语句 A,直到条件不成立(为“假”)时才停止重复,执行后面的程序。构成循环结构的语句主要有:while、do while、for、goto。
C51 的相关语句
if 语句是 C51 中的一个基本条件选择语句,它通常有三种格式:
【例】 if 语句的用法。
(1)if(x!=y) printf(“x=%d,y=%d\n”,x,y);
执行上面语句时,如果 x 不等于 y,则输出 x 的值和 y 的值。
(2)if(x>y) max=x;
else max=y;
switch/case 语句
if 语句通过嵌套可以实现多分支结构,但结构复杂。switch 是 C51 中提供的专门处理多分支结构的多分支选择语句。它的格式如下:
while 语句
while 语句在 C51 中用于实现当型循环结构,它的格式如下:
while 语句后面的表达式是能否循环的条件,后面的语句是循环体。当表达式为非 0(真)时,就重复执行循环体内的语句;当表达式为 0(假),则中止while 循环,程序将执行循环结构之外的下一条语句。它的特点是:先判断条件,后执行循环体。在循环体中对条件进行改变,然后再判断条件,如条件成立,则再执行循环体,如条件不成立,则退出循环。如条件第一次就不成立,则循环体一次也不执行。
do...while 语句
do...while 语句在 C51 中用于实现直到型循环结构,它的格式如下:
它的特点是:先执行循环体中的语句,后判断表达式。如表达式成立(真),则再执行循环体,然后又判断,直到有表达式不成立(假)时,退出循环,执行do while 结构的下一条语句。do while 语句在执行时,循环体内的语句至少会被执行一次。
for 语句
for 语句后面带三个表达式,它的执行过程如下:
(1)先求解表达式 1 的值。
(2)求解表达式 2 的值,如表达式 2 的值为真,则执行循环休中的语句,
然后执行下一步
(3)的操作,如表达式 2 的值为假,则结束 for 循环,转到最后一步。
(3)若表达式 2 的值为真,则执行完循环体中的语句后,求解表达式 3,然
后转到第四步。
(4)转到(2)继续执行。
(5)退出 for 循环,执行下面的一条语句。
在 for 循环中,一般表达式 1 为初值表达式,用于给循环变量赋初值;表达式 2 为条件表达式,对循环变量进行判断;表达式 3 为循环变量更新表达式,用于对循环变量的值进行更新,使循环变量能不满足条件而退出循环。
循环的嵌套
在一个循环的循环体中允许又包含一个完整的循环结构,这种结构称为循环的嵌套。外面的循环称为外循环,里面的循环称为内循环,如果在内循环的循环体内又包含循环结构,就构成了多重循环。在 C51 中,允许三种循环结构相互嵌套。
【例】用嵌套结构构造一个延时程序。
这里,用内循环构造一个基准的延时,调用时通过参数设置外循环的次数,
这样就可以形成各种延时关系。
break 和 continue 语句
break 和 continue 语句通常用于循环结构中,用来跳出循环结构。但是二者又有所不同,下面分别介绍。
(1)break 语句
前面已介绍过用 break 语句可以跳出 switch 结构,使程序继续执行 switch结构后面的一个语句。使用 break 语句还可以从循环体中跳出循环,提前结束循环而接着执行循环结构下面的语句。它不能用在除了循环语句和 switch 语句之外的任何其它语句中。
return 语句
return 语句一般放在函数的最后位置,用于终止函数的执行,并控制程序返回调用该函数时所处的位置。返回时还可以通过 return 语句带回返回值。return语句格式有两种:
(1)return;
(2)return (表达式);
如果 return 语句后面带有表达式,则要计算表达式的值,并将表达式的值作为函数的返回值。若不带表达式,则函数返回时将返回一个不确定的值。通常我们用 return 语句把调用函数取得的值返回给主调用函数。
2024-06-03
2024-05-31
小虎工业设计实验室,迄今有 10 万读者关注小虎,分享SolidWorks、Proe/Creo、Rhino、Keyshot、工业设计、产品结构设计、材料、工艺等相关行业知识,目前是打工仔,也是一位终身学习践行者,要是能对它的读者有所帮助那也挺好,感谢关注+点赞+转发。