语句
C语言中语句分为五类:表达式语句、函数调用语句、控制语句、复合语句、空语句,本此内容介绍控制语句。
控制语句
控制语句分为以下三类:
(1)条件判断语句(分支语句):if语句、switch语句;
(2)循环执行语句:do while语句、while语句、for语句;
(3)转向语句:break语句、goto语句、continue语句、return语句。
以下首先举例分支语句,以一段话来表示:如果你好好学习,校招拿一个好的offer,过上好日子,如果不好好学习,毕业找不到好工作,混吃摆烂,下图示意分支语句:
分支语句——if语句:
if语法结构:
if(表达式)
语句1;
else if(表达式)
语句2;
else
语句3;
if语句举例代码:
#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");
}
return 0;
}
值得注意的是,如果条件成立,需要执行多条语句,应该使用代码块("{}"这对括号就是代码块)请对比以下代码表现出使用代码块的好处:
代码一:
#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;
}
代码二
#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语句:
此语句常常用于多分支情况,例如星期表示:输入1,输出星期一、输入2,输出星期二、输入3,输出星期三、输入4,输出星期四等等,如果写成if…else if…else if代码会显的很复杂,所以用switch语句表示更加清晰明了。
if语法结构:
switch(整型表达式)
{
case 整形常量表达式:
语句;
break;
…
…
default :
语句;
break;
}
default:
作用:当 switch 表达式的值并不匹配所有 case 标签的值时, default 子句后面的语句就会执行,所以每个switch语句中只能出现一条default子句,但是它可以出现在语句列表的任何位置,而且语句流会像执行一个case标签一样执行default子句,记得不要忘掉加上break;
否则程序或许不会按照你预想的执行。
switch代码
#include <stdio.h>
int main()
{
int day = 0;
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("输入错误\n");
break;
}
return 0;
}
在每个 switch 语句中都放一条default子句是个好习惯,甚至可以在后边再加一个 break 。