云计算百科
云计算领域专业知识百科平台

C语言流程控制

分支控制:

if 分支

if(表达式) 

{

 语句块;

}

if(表达式) 

{

 语句块1;

}

else  

{

 语句块2;

}

  • 表达式:关系表达式,逻辑表达式。 表达式的结果是 真(1)/假(0), 非0 即为真。
  • if ,必须有表达式。 else 后不加条件
  • if 后面可以没有else ,if可以单独出现。 else不能单独出现,需要和if配合使用。
  • if,或者else 后,都使用大括号,包含代码(空语句,一条语句,多条语句)。
  • if(表达式) 后面,也就是这一行,最后不要加分号。

交换两个数

 tmp = num1;

 num1 =num2;

 num2 = tmp;

阶梯分支

4 选1 

if(表达式1)

{

 语句块1;

}

else if(表达式2)

{

语句块2;

}

else if(表达式3)

{

语句块3;

}

else 

{

语句块4;

}

  • 先判断表达式1 ,如果表达式1为真,则执行语句块1 。 语句块1 执行完,整个if 结束。
  • 如果表达是1 为假,就判断表达式2 ,如果为真,执行语句块2. 语句块2 执行完,整个if 结束。
  • 如果表达是1,2 为假,就判断表达式3 ,如果为真,执行语句块3. 语句块3 执行完,整个if 结束。
  • 如果表达式1 ,2,3都是为假,则执行语句块4. 

流程图的示例

switch 多分支

语法

switch(整形表达式) // char ,int, long ,short

{

case 常量1: 语句1;break; 

case 常量2: 语句2;break;

case 常量3: 语句3;break;

default:

 语句4;

}

  •  switch 后面必须是一个整形表达式,变量,
  •  case 后面必须 ,整形常量
  •  表达式的值 会和后面的case ,进行等值比较。 如果等值比较成功,就执行对应的语句,直到break为止。如果都没有等值比较为真的情况。那么就执行default; defult 一般放在最后。 default 不是必须有的。
  • switch 分支可以使用if替换,反之不行。

流程图

循环控制

  • 需要重复执行某段代码,使用循环
  • 有规律的代码
  • 如果知道循环的次数, for
  • 不确定循环次数,while
while语法

int i;

while(表达式)       //表达式(关系,逻辑)的值: 真/假 , 类型 int 

{

 语句;

} //循环体

  • while 会先判读 表达式的值,如果为真。 控制变量需要先初始化。
  • 执行循环体
  • 在循环体中,需要包含 控制变量,变化的语句。最终导致,循环条件不满足。

死循环 , 一直运行的循环 。 51单片机 

while(1)

{

}

for

for(表达式1;表达式2;表达式3) // 表达式1 :初始化(控制变量,也可以有其他的初始化) 表达式2 :控                                                      制循环是否继续运行 表达式3 :对控制变量进行增量控制

{

 语句;

}//循环体

  • 执行表达式1 
  • 计算表达式2 ,是否为真,如果为真,运行循环体。 为假,for 循环结束
  • 执行循环体
  • 在计算表达式3 ,i ,–i
  • 跳转到第2步
  • for(;;) //死循环 ,循环一直运行

    {

    }

    注意事项:

    循环体的 ,三要素

    1.循环控制变量的初始化

    2 循环体控制条件 

    3.循环控制变量的 ++ —

    for()  while() 在圆括号后,不能加分号 ;

    continue

    continue会在循环中。 跳过本次循环。 循环还会(循环的控制条件依然为真)继续。

    int i = 0 ;

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

        {

            if(5==i ||6==i)

            {

                continue;

            }

            printf("%d\\n",i);

        }//结果:123478910

    break

    break 会在循环中,或者switch 。提前结束循环。

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

        {

            if(5i ||6i)

            {

                break;

            }

            printf("%d\\n",i);

        }//结果:1234

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » C语言流程控制
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!