赞
踩
在写程序的时候我们经常会对数据进行一些处理,比如我们要对某个数据进行判断的时候,那么我们就要使用if语句和switch语句。
概述:if语句是用来判定所给定的条件是否满足,根据判定的结果(真或假)决定执行给出的操作。
if语句有三种表达结构,如下:
语法结构:
① if(表达式)
语句;
②if(表达式)
语句1;
else
语句2;
③if(表达式1)
语句1;
else if(表达式2)
语句2;
else
语句3;
(执行多条语句时要记住用代码块)
- #include"stdafx.h"
- int main()
- {
- int age;
- printf("请输入年龄\n");
- scanf("%d",&age);
- if(18>age)
- printf("未成年\n");
- else if(18<=age && 45>=age)
- printf("青年\n");
- else if(46<=age && 69>=age)
- printf("中年\n");
- else
- printf("老年年\n");
- return 0;
- }
同时在else后面还可以嵌套if语句
例如:
- #include"stdafx.h"
- int main()
- {
- int age;
- printf("请输入年龄\n");
- scanf("%d",&age);
- if(18>age)
- printf("未成年\n");
- else
- {
- if(18<=age && 45>=age)
- printf("青年\n");
- else if(46<=age && 69>=age)
- printf("中年\n");
- else
- printf("老年年\n");
- }
- return 0;
- }
注意:else自动与距离最近且未匹配的if匹配
概述:switch 是多分支选择语句(用法与if语句相似),但整形表达式结果为多少,就从第几个case进入,然后进行判断
switch语句的表达结构:
switch(整形表达式)
{
case 1 :
语句1;//整形常量表达式
break;//可省略(为终止语句)
case 2 :
语句2;//整形常量表达式
break;//可省略(为终止语句)
case 3 :
语句3;//整形常量表达式
break;//可省略(为终止语句)
┇
case n :
语句n;//整形常量表达式
break;//可省略(为终止语句)
default : //默认情况
语句n+1;
}
switch语句:
①‘ case ’进‘ break ’出
例1:
- #include"stdafx.h"
- int main()
- {
- int day;
- printf("请输入一个数字\n");
- scanf("%d",&day);
- switch(day)
- {
- case 1:
- printf("星期一\n");
- break;
- case 2:
- printf("星期二\n");
- break;
- case 3:
- printf("星期三\n");
- break;
- case 4:
- printf("星期四\n");
- break;
- case 5:
- printf("星期五\n");
- break;
- case 6:
- printf("星期六\n");
- break;
- case 7:
- printf("星期天\n");
- }
- return 0;
- }
②允许嵌套使用,也可以掺杂if语句
例2:
- #include"stdafx.h"
- int main()
- {int n=1;
- int m=2;
- switch(n)
- {case 1:
- m++;
- case 2:
- n++;
- case 3:
- switch(n)
- {
- case 1:
- n++;
- case 2:
- m++,n++;
- break;
- }
- case 4:
- m++;
- default:
- break;
- }
- printf("m=%d,n=%d\n",m,n);
- return 0;
- }
③如果你只想执行这一个case语句,不想执行其他case,那么就需要在这个
case 句后面加上break,跳出switch语句(根据要求自行决定)
例3:
- #include"stdafx.h"
- int main()
- {
- int day;
- printf("请输入一个数字\n");
- scanf("%d",&day);
- switch(day)
- {
- case 1:
- printf("工作日\n");
- case 2:
- printf("工作日\n");
- case 3:
- printf("工作日\n");
- case 4:
- printf("工作日\n");
- case 5:
- printf("工作日\n");
- break;
- case 6:
- printf("休息日\n");
- case 7:
- printf("休息日\n");
- break;
- default:
- printf("输入错误\n");
- break;
- }
- return 0;
- }
但这种形式比较冗长,可读性较差,所以一般采用下面这种形式
- #include"stdafx.h"
- int main()
- {
- int day;
- printf("请输入一个数字\n");
- scanf("%d",&day);
- switch(day)
- {
- case 1:
- case 2:
- case 3:
- case 4:
- case 5:
- printf("工作日\n");
- break;
- case 6:
- case 7:
- printf("休息日\n");
- break;
- default:
- printf("输入错误\n");
- break;
- }
- return 0;
- }
注意:case后面必须为整形且为常量表达式
相同点 | 不同点 | |
if语句 | 条件语句 | 适用于任意语句,但嵌套的if要在3 个以内使用更具可读性 |
switch语句 | 条件语句 | 仅适用于整数类型表达式,但可嵌 套多个语句 |
通过学习条件语句,当我们面对选择时,可以有if和switch两种选择。要灵活运用if和switch语句,这样可以让我们的代码拥有更佳的可读性,并在编写代码时有更高的效率。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。