选择语句作为三个控制语句之一,分为以下的类型
单一if的语句;
if——else语句;
以及比较少见的switch的语句;
if语句
#include<stdio.h>
int main()
{
int input=0;
scanf("%d",&input);
if(input)
{
printf("1\n");
}
printf("0");
return 0;
}
如果输入一个3的话结果是什么呢?
如果只输入一个0又是什么?
在c语言中以0为假,非0为真,即3输入的结果如下图
而输入0的结果为
if语句通过判断括号内的条件是否为真,真的话就执行,为假则跳过。
if——else
#include<stdio.h>
int main()
{
int input;
scanf("%d",&input);
if(input>0)
{
printf("1");
}
else if(input==0)//else if为多项选择,与if else并列在一起,条件少的时候可以不要else if
{
printf("0");
}
else//else为以上if和else if没列出来的内容,即非if和else if括号内条件不成立则运行else的内容
printf("-1");
return 0;
}
知道了第一种if类型,这种也只是多加了一点选择选项而已。
而特别提醒如果if和else没有用花括号括起来则,else只和最近的if匹配
在如上这种条件下,没有花括号修饰,else只和最近得if匹对;
接下来介绍一种目前比较少用上得选择结构,switch语句
#include<stdio.h>
int main()
{
int day;
scanf("%d",&day);
switch(day)
{
case 1:
printf("工作日\n");//这个是分号,分号后面跟着选择进这个得执行内容
//如果没有break的话switch语句会逐步得从case输入对应得内容,往下一直执行,直到遇见结束或者break;
case 2:
printf("工作日\n");//如果输入2的话,没有遇见break,会一直向下执行,走到遇见break时,打印了两个工作日;
case 3:
printf("工作日\n");
break;
case 4:
printf("工作日\n");
break;
case 5:
printf("工作日\n");
break;
case 6:
case 7:
printf("休息日\n");//由于没有break;输入6,它会自动执行到第七打印一个休息日,比每一个样例输入一次更加简便
break;
default :
printf("输入错误\n");//default得用法和else大致相同;
}
return 0;
}
以上就是选择结构得讲解,第一次写博客,不喜勿喷