C语言基础(二)- 流程

KinglyJn      2013-02-26

什么是流程控制?

程序代码的执行顺序

流程控制的分类

  • 顺序
  • 选择
  • 循环


顺序

没啥好说的,略。

选择

/**
* 测试if
*/

#include <stdio.h>

int main() {
    int a, b, c;
    int t;
    printf("please input a b c:\n");
    scanf("%d %d %d", &a, &b, &c);
    
    //编写核心代码
    //程序 = 算法 + 语言
    if (a < b) {
        t= a;
        a= b;
        b= t;
    }
    if (a < c) {
        t= a;
        a= b;
        b= t;
    }
    if(b < c) {
        t= b;
        b= c;
        c= t;
    }
    printf("%d %d %d\n",a, b, c);
    
    return 0;
}


/**
* 测试switch
*/

# include <stdio.h>

int main() {
    int val;
    
    printf("请输入您要进入的楼层: ");
    scanf("%d", &val); //千万注意要写& !!!
    
    switch(val) {
        case 1:
            printf("1层开!\n"); //屏蔽掉break,输出“1层开! 2层开!”
            break;
        case 2:
            printf("2层开!\n"); //break 起终结作用!
            break;
        case 3:
            printf("3层开!\n");
            break;
        default:
            printf("还未建到这一层!\n");
            break;
            
    }
    
    return 0;
}


循环

/**
* 测试for循环
*/

# include <stdio.h>
int main() {
    int i;
    int sum = 0;
    
    for(i = 0; i <= 4; i++) {
        sum= sum + i;
    
    }
    
    printf("sum = %d\n", sum);
    printf("i = %d\n", i);
    
    return 0;
}

/**
* 测试while循环
*/

# include <stdio.h>
int main() {
    int i = 0;
    int sum = 0;
    
    while (i <= 100) {
        sum += i;
        i++;
    }
    
    printf("sum= %d\n", sum);
    printf("i= %d\n", i);
    
    return 0;
}

/**
* 测试do while循环
*/

# include <stdio.h>
int main() {
    int i = 0;
    int sum = 0;
    int n;
    
    printf("please input n: \n");
    scanf(" %d", &n); //%d前面必须一个空格!详见《C PrimerPlus》_主要解决空白符问题

    do {
        sum += i;
        i++;
    } while (i<=n);
    
    printf("sum= %d\n", sum);
    printf("i= %d\n", i);
    
    return 0;
}



Tags:


Share: