黑马程序员技术交流社区
标题:
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