找回密码
 注册
查看: 281|回复: 3
打印 上一主题 下一主题

单片机C语言的流程控制语句

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-5-24 09:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
" \( m& `! w6 V5 b
1.
3 u) i! y; @- O* d6 fif(条件表达式); D3 O2 C/ ~( d. g7 {- ^0 r; r
{
  e- l* B+ D- ?9 x, c' k% g        动作1
% C7 W6 i4 l- u9 E' k}
) Q; \# W) |( O- J( X) g  Z# O# p//如果条件表达式的值为真,执行动作1。否则跳过往下执行程序
% b+ `% ^' X9 S
) W2 Z$ g; x" F" h  {$ l0 S! E5 u0 D) t1 T6 |5 H% ^; d1 Z1 E5 v

/ C: a/ Z- `9 M' `2.
. o9 Z" p+ D) q6 W0 x$ Iif(条件表达式)
( t- e* M3 [# J( n8 K' A8 S{" o$ m! A% ]1 s2 P3 M  G+ e
        动作1  b" d3 e. Y6 E, U- W
}3 ?$ W0 K" y# p/ Q" w3 t+ @
else* }% o; A8 c. p1 L
{
7 O+ i+ [) R6 v& B( ^        动作2; M0 i& F8 l  q  F: J- t1 f
}
( m* @0 w7 e. Y% h% _" ^7 v' r' k//如果条件表达式的值为真,执行动作1,否则执行动作2.
6 n$ m& x& ^. a7 o& F1 O! _! _7 `/ k, s. ~: R
3.1 |' Z' a+ V1 u7 O: U- q! f
if(条件表达式1)
2 s  S5 ?5 f7 W4 r{: l/ O- H* I5 \7 Z; r2 O
        if(条件表达式2)
# K: c& E* \: `1 L6 q* s' V7 ?+ j( X        {
6 H) R4 P. V, I. p; s# M# X                if(条件表达式3)
. W" o/ n% Q- ?& _1 a1 O4 J                {
+ @& d& V: G0 C" x4 C0 W                        动作1//表达式1,2,3都为真,执行动作1. h" L. T' ^+ x7 T6 j7 }+ w
                }
- B# \0 c. s- f- o                else
! P9 Y5 W5 b+ B# a8 C$ r                {: j3 B- [* o9 V& a
                        动作2//表达式1,2为真,3为假,执行动作2
1 B# t6 [3 ~% }. {/ R1 a                }: V) Y% m/ k: w( d2 I* r
        }' C% Y4 @2 T' N! m( T" G, F
        else# _9 L( D# e$ O' F( w
        {
& }/ ?/ C( ]0 L$ a" V                动作3
. e/ e5 j9 Y7 {        }, n6 Q" F; D- I  _- L
}
( Y9 P: j" P5 a7 m. I6 |else9 j9 I$ r% \8 x  e7 y
{. Z: Q, ~- Z. V; `  }/ w* D
        动作44 s  w/ a0 ?  M" F" H
}% d2 V+ U" T% u% m) w2 X0 W1 r& H
) C: J% u( h) b  J1 S

3 e, J- [, L: G, b4 U//动作3表达式1为真,表达式2为假执行& V9 b6 P7 O3 n' a! @* M9 W" a* g
//动作4表达式1为假,时执行
5 `* E7 h) a6 V  K/ D# y+ z: J1 o' @: `# o4 M, q2 {2 V
1 S# r" A+ A- S8 k4 X
4.
! V+ K1 k9 U# _2 O8 Z+ r; Gif(条件表达式1). Y8 E9 {; Q! e, P2 h3 F4 B* ]
{
% O: e' [& i  m% U# U6 r        动作1//条件表达式1成立执行/ {8 X) o/ Y( p7 J
}/ f: q2 ~0 V# m1 D  R  l/ a
else if (条件表达式2): g' i7 A. v* R( r2 `
{) G& _/ y, \' p( S4 M( d
        动作2//条件表达式1不成立,条件表达式2成立执行' f% ?5 v1 }' w0 \: ^! o; @9 n4 {/ `0 X
}
# `) b9 m  {. m  Selse if(条件表达式3)
) p" {5 p9 W5 `; c{
* g9 r* u1 U! T8 L# y        动作3//条件表达式1,2不成立,条件表达式3成立执行
  `7 {+ S6 ]; s9 f/ I  Z, Q}) j9 r: V/ \) [7 `1 O
else
" W* G) R" n1 E" G8 J{. c) K) R1 y# C0 t
        动作4//条件表达式1,2,3都不成立,执行
9 k) t6 n- ]( A6 w% F}1 b7 p1 A( z* g+ Q+ a

( ~  p0 v- }' I9 ?7 p7 f- T, h% R7 D" h0 w& T. n0 U
4.switch case 语句! v+ U% ~) T* B6 f( t
5 ]% B* ^7 c2 U! i
switch (条件表达式)//条件表达式必须是整数或字符
2 f. p6 b2 Z! t' K{: }9 I1 Z4 `4 X* ~, V3 F$ w
        case 条件值1: //条件值需要是常量,不能是变量# F9 s# z( P" X, `6 \, I
        {$ e8 W3 m& Z5 ?  r, q
                动作1
4 `* h& \# c( q7 F                break;//必须用break;语句跳出& W$ Z/ l+ j2 {
        }) M9 D( K7 v6 e/ b& m: u1 A
        case 条件值2:
" K* q4 P3 I1 J4 \# V        {# s9 A' v8 ~' p6 F: ~# ]
                动作2
3 ?; J0 }4 i6 z# O% ~                break;
. c; o! Y  E: Q7 n5 A% H. p! _& F7 s        }) ^4 I  y# N' ^
        case 条件值3:2 s( Q0 ?& N+ e
        {! Q, E% K0 |& o1 o& m" ^* s" C. N
                动作37 q/ H  U$ Q0 S5 Q
                break;9 V! h7 S' R7 N* ?
        }
3 k  h5 ]8 O6 R9 ?. v) Y        default ://所以条件都不匹配时执行缺省语句
* r4 m: M. o9 d- b- C$ W        {) v- t4 R9 s, r8 |; h
                动作4+ j8 M* X, T" N. p: N$ {  I! j
                break;# x- T- p5 y" I' m
        }
/ E3 g, F) j, C}
4 \7 A- |/ E7 u1 Q  K/ w' a4 P4 U+ M
5.while语句- k& h) ]4 {$ u3 d' G

' j) i# n, i4 T9 i6 S8 _while(条件表达式)//先测试条件表达式的值为真时,执行循环内的动作,做完后又跳
' r. D0 d1 x- O" I$ `8 m# l! H2 C( v" t                 //回测试条件表达式,如此反复直到条件表达式值为假,退出循环。( b7 B% B' Q" y, j( `1 ^* u  r
{) a3 B' `, a0 Z% m4 u$ b8 Z/ G
        动作
' ?7 ^. h: y; L8 A% U- l1 M}
( T0 g& a) d* z, g+ f
: W1 j3 \% G. R3 r. P6.do ... while 循环语句; X( z3 T$ N2 X, |: \
do{  动作 }//先执行动作,再测试表达式的值是否为真,为真时继续执行循环内的动作,如此反复直到表达式的值为假,
2 U6 ~' N( b$ R- I                 //不论表达式的结果如何,至少会做一次动作。
/ H- M& Q3 Q/ M2 A2 Kwhile(条件表达式);
' d9 v/ _! v9 Q% V2 p$ S& w$ Y  \0 p$ Z3 d+ {- K* x8 V5 w  F
7.for 循环语句1 g# V0 f: y* V  t* J' u/ @4 M! T
for(表达式1;表达式2;表达式3)  \$ f+ u1 }. g, M" k& a$ _; h" I
{        动作 }
4 O0 h% \% `. k+ F+ P表达式1:通常是设定的起始值。  Z; H/ V) U: w+ U6 b
表达式2:通常是条件判断式,如果条件为真,则执行动作,否则终止循环。- i' a$ Z% t' `# }
表达式3:通常是步长表达式,执行完动作后,必须再回到这里做运算,再到表达式2做判断。

该用户从未签到

2#
发表于 2022-5-24 13:20 | 只看该作者
基础的控制流程语句
! I: j1 x/ z- B  c  x% }3 b% a

该用户从未签到

3#
发表于 2022-5-24 17:13 | 只看该作者
常见的C程序。

该用户从未签到

4#
发表于 2022-5-24 17:54 | 只看该作者
基础的控制流程语句
& W( p4 A- {" c# A% w/ y( R; a# @
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-5-26 02:31 , Processed in 0.062500 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表