黑马程序员技术交流社区

标题: if else switch简单理解 [打印本页]

作者: hejianchun    时间: 2015-9-21 15:39
标题: if else switch简单理解
首先是 if else 条件语句的介绍:
//  if(表达式) {
     语句块1
     }
     
     
     执行流程:
     计算表达式的返回值
     
     真 则执行语句块1   否则不执行。
上面是描述 if 语句的使用模式,下面直接上代码:
int age = 18; //定义一个变量 age 赋值 18;
   
    if(age> 18){  //if 判断 age 是否大于18;
        printf("嘿嘿 我访问到了 !\n");//输出,如果大于18,则输出此内容;
    }else{        // 否则,else 判断如果不大于18 则输出下面的内容;
        
        printf("小伙子 你还太小了 !\n");
        printf("等大了再来!\n");
    }
   
    printf("呵呵 完事儿了 !\n");
}
这个是最简单的一种应用方式,还有另外一种:
int age =9;   //定义变量 age赋值为9;
   
    if (age >18) {    //判断age是否大于18;
        printf("嘿嘿  可以访问了 !\n");//如果大于的话就输出这项内容;
    }else if (age == 18){ //else if,判断另外一种选择 age是否等于18;
        printf("哥们你再涨一岁 明年再来 \n");
    }else if (age == 17){   // 再判断是否 等于 17;
        printf("小孩子 不要上网!\n");
    }else{           // 如果都不在上述判断句中的话,则输出一下内容;
        
        printf("回家写作业区把!\n");
    }
通过这俩个表达式,相信大家会稍微有些了解,多练习,多应用,很快就会熟练!!
下面要讲的 switch 语句 其实和 if 语句有些相似之处的,原理差不多一样的!!
switch(表达式A){
     case 常量表达式1:
     语句1;
     break;
     case 常量表达式2:
     语句2;
     break;
     ….
     case 常量表达式n:
     语句n;
     break;
     
     default:
     语句n+1;
     break;
     }
     语句m;
     语句m+1;
     语句m+2;
     语句….
     
     执行顺序 :
     计算表达式A的整型的结果值 a
     a顺序与常量表达式1,2..n的值比较。
     遇到与a相等的值,则执行对应的语句,执行语句完毕,遇到break,跳出switch块。
     若a与所有常量表达式的值都不相等。
     则执行 default对应的 语句n+1, 执行完毕遇到break,跳出switch块。
介绍的够详细了吧,不多说,直接上代码:
规则: 有五种菜,分别标号标号
     1 水果炒肉
     2 凉拌黑豆腐
     3 西瓜梨子炒肉
     4 玉米炒葡萄
     5 月饼炒辣椒
     */
   
    //1.给用户提示  请输入菜的序号
    printf("请输入菜的序号 :  ");
    //2.容器 定义整型变量存储用户的输入
    int user = -1;
    //3.接收用户的输入
    scanf("%d",&user);
   
    //4.比对并进行输出
   
    switch (user) {
        case 1:    //如果用户输出地是 1 .则输出一下内容;
            printf("1 水果炒肉 \n");
            break;
        case 2:   //如果用户输出地是 2 .则输出一下内容;
            printf("   2 凉拌黑豆腐  \n");
            break;
        case 3:   //如果用户输出地是 3 .则输出一下内容;
            printf("3 西瓜梨子炒肉 \n");
            break;
        case 4:   //如果用户输出地是 4 .则输出一下内容;
            printf("     4 玉米炒葡萄 \n");
            break;
        case 5:   //如果用户输出地是 5 .则输出一下内容;
            printf("     5 月饼炒辣椒 \n");
            break;
        default:
            printf(" 先有菜单没有 可以先做 ! \n");
            break;
    }
printf("完事儿  \n");
上面就是switch 简单应用了,最后再介绍一种,也是我感觉应用听多的一种,是三目运算符!!
基本格式 :   (关系表达式)  ?  表达式1 : 表达式2;
     
     执行流程  : 关系表达式为 真  返回表达式1
     关系表达式为假  返回表达式2
    int a  = 12  ;     
    int b = 1100;
   
    int  c = 89;
    //上面的赋值方式就不多做介绍了;
    int max  =  a > b ? a : b; //这个就是开始比较,返回最大的值给 max;
   
    int max3 =    max > c ? max : c ;//同上,也是比较,选出最大值;
   
   
    printf("max = %d \n",max);




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2