一、if语句
1.if(表达式){语句;}
其中表达式用非0表示真,用0表便假;
#include<stdio.h>
int main()
{
int a = 0;
int b = 0;
scanf("%d %d", &a, &b);
if (a > b)
{
printf("%d", a);
}
if (a < b)
{
printf("%d", b);
}
return 0;
}
2.if(表达式){语句1;}else{语句2;}
采用if...else来控制双分支语句。
#include<stdio.h>
int main()
{
int age = 0;
scanf("%d", &age);
if (age<18)
{
printf("未成年");
}
else
{
printf("成年");
}
return 0;
}
3.if(表达式1){语句1;}else if(表达式2){语句2;}else{语句3;}
一般形式:
if(表达式1) { 语句1;}
else if(表达式2) {语句2;}
…
else if(表达式n){语句n;}
else{语句n+1;}
用于控制多分支语句。
#include<stdio.h>
int main()
{
int age = 0;
scanf("%d", &age);
if (age<18)
{
printf("少年");
}
else if ( age>=18 && age<30)
{
printf("青年");
}
else if(age>=30&&age<50)
{
printf("老年");
}
else
{
printf("老寿星");
}
return 0;
}
注:else匹配:与离他最近的if匹配。
#include<stdio.h>
int main()
{
int a = 0;
int b = 2;
if (a == 1)
if (b == 2)
printf("hehe\n");
else
printf("haha\n");
return 0;
}
else就与第二个if匹配,同时注意要适当的增加{}使代码的逻辑更清晰。
#include<stdio.h>
int main()
{
int a = 0;
int b = 2;
if (a == 1)
{
if (b == 2)
{
printf("hehe\n");
}
else
{
printf("haha\n");
}
}
return 0;
}
二、switch语句
switch语句为多分支语句。
对于一些特殊的形式要用if...else就太麻烦,可以使用switch语句。
swifch(整型表达式)
{
语句项;
}
case 整形常量表达式;
语句;
要求输出对应的数字输出对应的星期数。
#include <stdio.h>
int main()
{
int day = 0;
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");
break;
}
return 0;
}
对于上述代码虽然能完成对用功能,但是如果输入的数字不在1-7中,就会产生错误,对此我们要在switch语句中加入default语句。
#include <stdio.h>
int main()
{
int day = 0;
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");
break;
default:
printf("输入错误");
break;
}
return 0;
}
注:
1.在最后一个case语句的后面加上break,可以避免出现在以前的最后一个case语句后面忘了加break语句。
2.我们应该在每一个switch语句中都放入dafault子句,并在后面加上break。