语句可分成以下三类:
1. 条件判断语句也叫分支语句:if语句、switch语句;
2. 循环执行语句:do while语句、while语句、for语句;
3. 转向语句:break语句、goto语句、continue语句、return语句。
目录
一、if语句
1.1语法结构:
1、if(表达式)
语句;
2、if(表达式)
语句;
else
语句;
3、if(表达式)
语句;
else if(表达式)
语句;
else
语句;//多分支
注:语句为多条时,需用代码块{}框上。
例如:
#include <stdio.h>
int main()
{
int age = 0;
scanf("%d", &age);
if (age < 18)
{
printf("少年\n");
}
else if (age >= 18 && age < 30)
{
printf("青年\n");
}
else if (age >= 30 && age < 50)
{
printf("中年\n");
}
else if (age >= 50 && age < 80)
{
printf("老年\n");
}
else
{
printf("老寿星\n");
}
}
注:在c语言中,0表示为假,非零表示为真。
在if语句中,当表达式为真的时候才能执行语句。
1.2else的匹配:
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匹配,应输出haha,但其实它真正的逻辑为:
#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语句一般用于多分支。
2.1语法结构
switch(整形表达式)
{
case 整型常量表达式:
语句;
}
在应用中,搭配break使用才能实现真正的分支。
例如:
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. 输入1-5,输出的是“weekday”;
2. 输入6-7,输出“weekend”
int main()
{
int day = 0;
switch(day)
{
case 1:
case 2:
case 3:
case 4:
case 5:
printf("weekday\n");
break;
case 6:
case 7:
printf("weekend\n");
break;
}
}
2.2default使用
1、switch接收的值与任何一个case都不匹配时,可以使用default接收。
2、每个switch语句和只能出现一个default。
3、default可以出现在语句列表的任何位置,而且语句流会像执行一个case标签一样执行default子句。
例如上面的代码可以修改为:
int main()
{
int day = 0;
switch(day)
{
case 1:
case 2:
case 3:
case 4:
case 5:
printf("weekday\n");
break;
case 6:
case 7:
printf("weekend\n");
break;
default:
printf("输入错误");
break;
}
}
谢谢大家的点赞支持!