流程控制理解

本文详细介绍了编程中的顺序、判断(if、if-else、if-else-if、switch)和循环(while、do-while、for)结构,以及break和continue的使用场景和区别。这些基础知识对于理解和编写程序至关重要。
摘要由CSDN通过智能技术生成

 

1、顺序

从上向下读取

int aa = 100, bb = 200, cc, dd, ee, ff, gg;

        cc = aa + bb;

        dd = aa - bb;

        ee = aa * bb;

        ff = aa / bb;        //0  整数除以整数结果还是整数

        gg = aa % bb;    //100  小数对大数求余,结果是小数

        print(ff + "\t" + gg);

2、判断

2.1  if  

1) 第一种形式为基本形式:if
        if(表达式) 语句
其语义是:如果表达式的值为真,则执行其后的语句,否则不执行该语句。其过程可表示为下图。
 

 

 2) 第二种形式为: if-else
if(表达式) 
    语句1;
else 
    语句2;
其语义是:如果表达式的值为真,则执行语句1,否则执行语句2 。其执行过程可表示为下图。

 

3) 第三种形式为if-else-if形式
前二种形式的if语句一般都用于两个分支的情况。当有多个分支选择时,可采用if-else-if语句,其一般形式为:
     if(表达式1)
        语句1;
    else  if(表达式2) 
        语句2;
    else  if(表达式3) 
        语句3;
        … 
    else  if(表达式m) 
        语句m;
    else
        语句n;
其语义是:依次判断表达式的值,当出现某个值为真时,则执行其对应的语句。然后跳到整个if语句之外继续执行程序。 如果所有的表达式均为假,则执行语句n。然后继续执行后续程序。 if-else-if语句的执行过程如下图所示。
 

 

if语句的嵌套

当if语句中的执行语句又是if语句时,则构成了if 语句嵌套的情形。其一般形式可表示如下:
    if(表达式) 
        if语句; 
或者为:
    if(表达式) 
        if语句; 
    else 
        if语句; 

2.2  switch

switch语句, 其一般形式为:
switch(表达式){ 
    case 常量表达式1:  语句1;
    case 常量表达式2:  语句2;
    … 
    case 常量表达式n:  语句n;
    default:  语句n+1;
}
其语义是:计算表达式的值。 并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时, 即执行其后的语句,然后不再进行判断,继续执行后面所有case后的语句。如表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。

在使用switch语句时还应注意以下几点:

  1. 在case后的各常量表达式的值不能相同,否则会出现错误。
  2. 在case后,允许有多个语句,可以不用{}括起来。
  3. 各case和default子句的先后顺序可以变动,而不会影响程序执行结果。
  4. default子句可以省略不用。

3、循环

3.1  while

while语句的一般形式为:
    while(表达式) 语句
其中表达式是循环条件,语句为循环体。

while语句的语义是:计算表达式的值,当值为真(非0)时, 执行循环体语句。其执行过程可用下图表示。

 使用while语句应注意以下两点。

1) while语句中的表达式一般是关系表达或逻辑表达式,只要表达式的值为真(非0)即可继续循环。

2) 循环体如包括有一个以上的语句,则必须用{}括起来,组成复合语句。

3.2  do  while

do-while语句的一般形式为:
    do
        语句
    while(表达式);
这个循环与while循环的不同在于:它先执行循环中的语句,然后再判断表达式是否为真,如果为真则继续循环;如果为假,则终止循环。因此,do-while循环至少要执行一次循环语句。其执行过程可用下图表示。

 while循环和do while循环的区别:

<1>语法不同

<2>执行次序不同

<3>初始情况不满足条件时:1.while循环一次都不会执行。2.do while循环不管任何情况都至少执行一次。

3.3  for

 for语句使用最为灵活,它完全可以取代 while 语句。它的一般形式为:
    for(表达式1; 表达式2; 表达式3)  语句
它的执行过程如下:

  1. 先求解表达式1。
  2. 求解表达式2,若其值为真(非0),则执行for语句中指定的内嵌语句,然后执行下面第3)步;若其值为假(0),则结束循环,转到第5)步。
  3. 求解表达式3。
  4. 转回上面第2)步继续执行。
  5. 循环结束,执行for语句下面的一个语句。


其执行过程可用下图表示。

 for语句最简单的应用形式也是最容易理解的形式如下:
        for(循环变量赋初值; 循环条件; 循环变量增量)  语句

 循环变量赋初值总是一个赋值语句,它用来给循环控制变量赋初值;循环条件是一个关系表达式,它决定什么时候退出循环;循环变量增量,定义循环控制变量每循环一次后按什么方式变化。这三个部分之间用分号(;)分开。例如:

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

对于for循环中语句的一般形式,就是如下的while循环形式:
    表达式1;
    while(表达式2){
        语句
        表达式3;
    }

3、对比break和continue

使用场合

<1>break常用于switch结构和循环结构中

<2>continue一般用于循环结构中

作用(循环结构中)

<1>break语句终止某个循环,程序跳转到循环块外的下一条语句

<2>continue跳出本次循环,进入下一次循环

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值