C语言是【结构化】的程序设计语言
C语句可分为以下五类:
- 表达式语句
- 函数调用语句
- 控制语句
- 复合语句
- 空语句
本节主要介绍控制语句
控制语句用于控制程序的执行流程,以实现程序的各种结构方式(C语言支持三种结构:顺序结构、选择结构、循环结构),它们由特定的语句定义符组成,C语言有九种控制语句。
- 条件判断语句(分支语句):if,switch
- 循环执行语句:for,while,do while
- 转向语句:break,goto,continue,return
分支结构(选择结构)
if 语句
if(表达式)
{
分支语句
}
int main()
{
int num= 10;
if (10 == num) // 漏写=编译器会报错提示
{
printf("equal\n");
}
return 0;
}
// 双分支
if(表达式)
{
分支语句1
}
else
{
分支语句2
}
int main()
{
int age = 10;
if (age > 18)
{
printf("成年\n");
}
else
{
printf("未成年\n");
}
return 0;
}
// 多分支
if(表达式1)
{
分支语句1
}
else if(表达式2)
{
分支语句2
}
else
{
分支语句3
}
int main()
{
int age;
scanf("%d", &age);
if (age < 18)
{
printf("少年\n");
}
else if(age >= 18 && age < 28)
{
printf("青年\n");
}
else if(age >= 28 && age < 40)
{
printf("中年\n");
}
else if (age >= 40 && age < 60)
{
printf("壮年\n");
}
else if (age >= 60 && age < 100)
{
printf("老年\n");
}
else
{
printf("老寿星\n");
}
return 0;
}
switch 语句
switch 也是一种分支语句,通常用于多分支情况
switch (整型、字符、字符串表达式)
{
case 整型、字符、字符串常量表达式:
语句;
}
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("请输入数字1-7!");
break;
}
return 0;
}
有时候我们的需求变了:
- 输入1-5,输出的是“weekday”;
- 输入6-7,输出“weekend”
代码实现:
int main()
{
int day = 0;
scanf("%d", &day);
switch (day)
{
case 1:
case 2:
case 3:
case 4:
case 5:
printf("weekday\n");
break;
case 6:
case 7:
printf("weekend\n");
break;
}
return 0;
}
default语句:
- 当 switch 表达式的值并不匹配所有case 标签的值时,这个default 子句后面的语句就会执行。所以,每个switch语句中只能出现一条default子句。
- 但是它可以出现在语句列表的任何位置,而且语句流会像执行一个case标签一样执行default子句。
- 在每个 switch 语句中都放一条default子句是个好习惯,甚至可以在后边再加一个 break 。