条件判断语句也叫分支语句:if语句、switch语句;
if语句
if语句形式一:
if(表达式)
语句;
形式二:
if(表达式)
语句;
else
语句;
形式三:
if (表达式)
语句;
else if(表达式二)
语句;
else if(表达式三)
语句;
else
语句;
if else 里面只执行一条语句可以省略大括号即 { } 否则需要写成以下格式。如果不加大括号即 { } else总是和最近的if匹配。初学if语句的时候可以把大括号 { } 带上为了方便自己理解。
if (表达式)
{
语句;
}
else
{
语句;
}
例:在if(a>b)中要么max=a,要么max=c,所以只执行一条语句不需要加大括号即 { } else 同理
int main()
{
int a, b, c;
int max;
scanf(" %d %d %d", &a, &b, &c);
if (a > b)
if (a > c)
max = a;
else
max = c;
else
if (b > c)
max = b;
else
max = c;
printf("最大的数是%d\n", max);
return 0;
}
int main()
{
int a, b, c;
int max;
scanf(" %d %d %d", &a, &b, &c);
if (a > b)
{
if (a > c)
max = a;
else
max = c;
}
else
{
if (b > c)
max = b;
else
max = c;
}
printf("最大的数是%d\n", max);
return 0;
}
这两个代码运行结果是相同的。
switch语句
switch语句通常是这样的写法
switch (整型表达式)
{
case 整形常量表达式://整形常量表达式可以是例如 1+1 的形式。
printf("");
break;
case 整形常量表达式:
printf("");
break;
case 整形常量表达式:
printf("");
break;
default:
printf("");
}
例:
int main()
{
int day = 0;
scanf("%d", &day);
switch (day)
{
case 1:
printf("星期一");
break;
case 2:
printf("星期二");
break;
case 3:
printf("星期三");
break;
case 4:
printf("星期四");
break;
case 5:
printf("星期五");
break;
case 6:
printf("星期六");
break;
case 7:
printf("星期日");
break;
default:
printf("请输入一到七的数字\n");
}
return 0;
}
int main()
{
int day = 0;
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");
}
return 0;
}
在switch语句中break是跳出switch语句,如果不出现break就会继续执行下一条语句,default是在我们输入的数不是case 后的整形常量所执行的。
例:
int main()
{
int day = 0;
scanf("%d", &day);
switch (day)
{
case 1:
case 2:
case 3:
break;
case 4:
case 5:
printf("工作日\n");
break;
case 6:
case 7:
printf("休息日\n");
break;
default:
printf("请输入一到七的数字\n");
}
return 0;
}