小蚂蚁学习C语言(7)——C语言流程控制之if

其实我感受只要学过一门编程语言的人都会使用。java

流程控制(很是重要c++

1,什么流程控制编程

    控制程序的执行顺序编程语言

    流程控制的重要性spa

        一通百通 C++ java C+ 都是同样的。.net

        等等……总之就是很是的重要code

2,流程控制的分类orm

    顺序blog

        按照顺序自上而下执行。排序

    选择

        定义:有选择的执行某些代码

        分类:

            if       和    switch

            1,if 最简单的用法

# include <stdio.h>
int main(void)
{
    if ( 3 > 24)
        printf("aaaaaaaaaa\n");
    else
        printf("bbbbbbbbb\n");
    if ( 0 )
        printf("cccccc\n");
    if ( 0 == 0 )
        printf("dddddddddd\n");
    return 0; 
}

 2,if的范围问题 (很重要的问题)

# include <stdio.h>
int main(void)
{
    if ( 3 > 24)
        printf("aaaaaaaaaa\n");
        printf("bbbbbbbbbbb\n");
    if( 5 > 2 )
        printf("cccccccccc\n");
        printf("ddddddddddd\n");
    return 0; 
}
/*
    在vc++6.0中的输出结果是:
    ------------------------------------------
    bbbbbbbbbbb
    cccccccccc
    ddddddddddd
  --------------------------------------------
  总结:
    if默认只能控制一个语句的执行或不执行。
*/

 取值范围:

        1, if ( 表达式 )

                    语句a

                    语句b

            解释: if默认只能控制语句 A的执行或者不执行

                    if 没法控制语句b的执行或不执行

                    或者说:语句b必定会执行

        2,if ( 表达式 )

                {

                        语句A

                        语句B

                }

                此时if能够控制语句A和语句B。

            小总结: if 默认只能控制一个语句的执行和不执行,若是想控制多个语句的执行或不执行,就须要使用花括号把这些语句括起来。

           3,if ... else ...

# include <stdio.h>
int main(void)
{
    int i, j;
    scanf("%d %d", &i, &j);
    if( i > j )
    {
        printf("i 大于 j \n");
    }
    else
    {
        printf("i 小于 j \n");
    }
    return 0; 
}

            4,if ... else if ... else if ... else ...

# include <stdio.h>
int main(void)
{
    int i, j;
    scanf("%d %d", &i, &j);
    if( i > j )
        printf("i 大于 j \n");
        printf("haha\n");    //该语句就会报错,由于if默认只能控制一条语句。
    else if ( i < j )
        printf("i 小于 j \n");
    else
        printf("它们相等 \n");
    return 0; 
}
/*
    编译出错的缘由:if语句默认只能控制一条语句,当执行过printf("i 大于 j \n")的时候
    if语句就已经结束了,到了else if的时候,系统认为缺乏了一个if,因此报了错
*/

            5,if对于真假的判断

                非零 是 真

                零     是 假

                真用 1 表示,假用 0 表示

                if分支控制小案例:

# include <stdio.h>
int main(void)
{
    int score;
    printf("请输入你要查询的分数: ");
    scanf("%d", &score);
    if( score > 90 && score <= 100 )
        printf("优秀 \n");
    else if ( score >= 80 && score<= 90 )
        printf("良好 \n");
    else if ( score >= 60 && score<= 80 )
        printf("及格 \n");
    else if ( score >= 0 && score < 60 )
        printf("不及格 \n");
    else 
        printf("没有这个数值 \n");
    return 0; 
}

小案例2:从大到小排序,其实就是冒泡排序的基本思路了

# include <stdio.h>
int main(void)
{
    int  a, b, c, t;
    printf("请输入三个数字,中间以三个空格分割:");
    scanf("%d %d %d", &a, &b, &c);
    if( a < b )
    {
        t = a;
        a = b;
        b = t;
    }
    if( a < c )
    {
        t = a;
        a = c;
        c = t;
    }
    if( b < c )
    {
        t = b;
        b = c;
        c = t;
    }
    printf("%d %d %d \n", a, b, c);
    return 0;
}


学PHP的小蚂蚁 博客 http://my.oschina.net/woshixiaomayi/blog

相关文章
相关标签/搜索