分支语句之if语句
if(表达式)
语句1;
else
语句2;
if语句中if,else后默认只有一条语句,若要跟多条语句,要用{}把语句括起来、例如下面
if(age<18)
printf("未成年\n");
printf("不能喝酒\n");
else
printf("成年\n");
没有匹配if的非法else,就说明了我上面只能跟一条语句的正确性,当我们把if后面的语句用{}括起来,我们就能解决这个问题了。
同时我们要记住如果是一个多分支的语句,我们也可以用if语句
if()
else if()
else if()
……//多分支
else
简单讲完这个if语句之后,我们可以打出这样一段代码
int main()
{
int a=0;
int b=2;
if(a==1)
if(b==2)
printf("hehe\n");
else
printf("haha\n");
return 0;
}
当我们把这段代码反正放在vs上运行时报错,原因就是if(a==1)语句
这是由于a=0,而a==1为假,就会导致下面整个代码都不会再运行
由此讲到这里,我们可以利用if语句解决一些问题
例如,
判断一个数是否为奇数
int main()
{
int a;
scanf("%d\n",&a);//在程序运行时输入一个数字
if(a%2==0)
printf("a不为奇数\n")
else
printf("a为奇数")
return 0;
}
输出1——100的奇数
int main()
{
int i=0;
while(i<100)
{
if(i%2==0)
printf("%d",i);
i++;
}
return 0
}
分支语句之switch语句
switch (整形表达式)
{
语句项;(语句项就是一些case语句,case 整形常量表达式)
}
我们以星期几为例
int main()
{
int a;
printf("请输入");
scanf("%d",&a);
switch (a)
{
case 1:printf("Monday\n");break;
case 2:printf("Tuesday\n");break;
case 3:printf("Wednesday\n");break;
case 4:printf("Thursday\n");break;
case 5:printf("Friday\n");break;
case 6:printf("Saturday\n");break;
case 7:printf("Sunday\n");break;
default:printf("error\n");break;
}
}
下面就介绍一下break,和default
break: 就是如果有一个case语句没有接break的话,假设我们输入了一个2,而从1到5的case语句都没有break语句,则输出就会变成从上往下依次输出Tuesday,Wednesday,Thursday,Friday,Saturday
而假如我们在case 4上加上了一个break;,而从1到5只有4上面加了break,结果就会变成Tuesday,Wednesday,Thursday
而default:就是在case语句走不通时,就用上了default,当我们输入了8时,case语句里面没有找到 case 8,这时候8就会转移到了default上去,就会输出:错误