C语言基础七:循环结构

1.问题引入
    输入50个同学的成绩,并且求平均值
    int grade1,grade2,grade3;
    int sum=0;
    scanf("%d",&grade1);
    sum+=grade1;
    scanf("%d",&grade2);
    sum+=grade2;
    scanf("%d",&grade3);
    sum+=grade3;
1.goto if(本身if和goto都不是循环结构,但是凑合在一起就可以组成循环结构)
        goto 标号段;
        标号段:一个合法的标识符
        规则:无条件的转去"标号段"执行
        1.写一个1+2+3+..100计算结果
2.while
    while(表达式)
    {
        语句;
    }
    
        表达式:合法的表达式即可,(可以是常量表达式)
        语句:
            单语句(只有一个;的语句)
            复合语句:
                    if /while/switch/do while();/
                    {}
    规则:如果表达式为真,则执行语句,
            再判断表达是否为真,如果是真继续执行语句
            再判断表达是否为真,如果是真继续执行语句
            直到表达式为假(不满足条件)
    ex.求100以内3的倍数,0 1 2....100
        1)找到一个输出一个,
        2)并且求出一共有几个
3.do while
    do
    {
        语句;
    }while(表达式);
    执行流程:先执行语句,再判断是否满足条件,如果表达式为非0,继续执行语句,再判断...
                            直到不满足条件为止就跳出循环
    ex.用do while();求n!  n=n*(n-1)*(n-1)*....*1
4.for循环
    for(表达式1;表达式2;表达式3)
    {
        语句;
    }
        表达式:合法的表达式即可,(可以是常量表达式)
        语句:
            单语句(只有一个;的语句)
            复合语句:
                    if /while/switch/do while();/
                    {}
    执行流程:先执行表达式1,再判断表达式2是否为真,如果为真,执行语句,在执行表达式3
                            再判断表达式2是否为真,如果为真,执行语句,在执行表达式3...
                            直达表达式2不满足
    每个表达式是可以省略的
    for(;;)//死循环
    {
    }
    break;跳出当前循环
    continue:跳出当前一次循环(如果执行continue,在continue后的代码都不会执行)
                    ex1.
                        输入一个数,求一个数各个位数
                        如:输入:112  
                            输出: 1 1 2
                    
                        
                    
                    
        

猜你喜欢

转载自blog.csdn.net/qq_26128879/article/details/82820542
今日推荐