流程控制语句

一、分类

顺序:自上而下,一句一句执行。

分支:根据判定条件选择执行代码。

循环:某些代码执行多次。

 

二、分支语句

  • if else

 

 

  

If的第四种格式:

if (条件表达式)

  语句1:

当条件表达式为真时会执行if后面的第一条语句。

开发中尽量不要使用这种格式。

 

Demo1:

#include <stdio.h>

int main(int argc, const char * argv[]) {
    
    int a = 2, b = -1, c = 2;
    
    if (a < b)
        if (b < 0)
            c = 0;
        else c++;
    printf("%d\n",c);//输出:2
    
    return 0;
}

控制台打印:

2

Program ended with exit code: 0

 

Demo2:

#include <stdio.h>

int main(int argc, const char * argv[]) {
    
    int a,b,c,d;
    a = c = 1;
    b = 20;
    d = 100;
    
    if (!a) d = d++;
    else if (!b)
        if(d) d = --d;
        else d = d--;
    //if没有运行,条件全部为假
    printf("%d\n\n",d);//100
    return 0;
}

控制台打印:

100

Program ended with exit code: 0

 

Demo3:

#include <stdio.h>

int main(int argc, const char * argv[]) {
    for (int i = 0; i<10; i++) {
        if (i % 2)
            continue;
        if (i == 8)
            break;
        printf("i = %d\n",i);
        
    }
    return 0;
}

控制台输出:

i = 0

i = 2

i = 4

i = 6

Program ended with exit code: 0

 

条件运算符(三目运算符)  ?:

表达式1?表达式2:表达式3;

如果表达式1的值为真,以表达式2的值作为整个表达式的值,否则以表达式3的值作为整个表达式的值。

  • 三目运算符可以用来简化if else代码。
  • 弊端:因为是一个运算符,所以运行完必须有一个结果。
  • 当遇到比较简单的判断,并且有返回值的情况就用三目运算符,其它情况用if.

 

 

 

 switch(表达式)

{

case常量表达式1:

语句1;

break;

……

default:

语句n+1;

break;

}

  • break用在switch…case中用于结束某个case,然后执行switch之外的语句。
  • 默认情况下default后面的break可以省略,如果default写在case前面break不能省略。
  • 只要常量表达式返回值是整型就可以。

A:字符的本质就是整型数。

  • switch能解决的,if都能解决。当对区间进行判断的时候用if,当对固定且不多的几个数值进行判断的时候用switch

 

Demo:

 

#include <stdio.h>

int main(int argc, const char * argv[]) {
    int a = 0;
    switch (a) {
        case 0:{
            //如果case中定义了新的变量,必须用大括号包住
            int b = 20 + a;
            printf("%d\n",b);
            break;
        }
        case 2:
            break;
        default:
            break;
    }
    return 0;
}

Demo:

 

#include <stdio.h>

int main(int argc, const char * argv[]) {
    
    int a,b,c1,c2,x,y;
    a = 0;
    switch (a + b) {
        case a://报错
            y = a + b;
            break;
        case b://报错
            y = a - b;
            break;
        default:
            break;
    }
    printf("%d",y);
    return 0;
}

 

三、循环语句

 

循环结构:

while(条件表达式){

语句;

}

 

  • switch分支中,break是结束switch语句。
  • 在循环中,break主要作用是结束循环,通常break语句总是与if语句连在一起。
  • break只对switch和循环结构有效。

 

  • continue结束本次循环,进入下次循环。仅能用于循环中。通常与if一起使用,用来加速循环。

 

 

do

{

语句;

}while(条件表达式);//分号代表循环体结束,不能省

  • 一般情况下要使用whiledo while都使用while
  • 只有当无论条件是否满足都要执行一次循环体的情况才用do while

 

for(初始化表达式; 条件表达式; 循环后操作表达式)

{

语句;

}

  • 当变量只是用来控制循环的次数的时候用for更节约内存。
  • 当变量在循环结束后还需要使用,就用while
  • while循环多用于不确定循环次数的循环
  • for循环多用于知道循环次数,也多用于循环的嵌套。

循环嵌套:

  • 尖尖朝上,改变内循环的条件表达式,让内循环的条件表达式随着外循环的i值变。
  • 尖尖朝下,改变内循环的初始化表达式,让外循环的初始化表达式随着外循环的i值变化。

 

转载于:https://www.cnblogs.com/M-Y-P/p/5020227.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值