流程控制语句
流程控制
1.if语句
if()
{
}
else if()
{
}
else
{
}
如果没有花括号
else与其最近的没有配对的if配对
2.switch语句
switch可以表示多个分支
switch case需要注意的几个点
1.case后面只能跟常量表达式
2.case后面的常量表达式的值只能是唯一
3.要加break,如果没有加break,会从当前语句一直执行到switch语句结束为止
4.defalut语句,表示case都没有匹配上,那么执行default语句,如果有case匹配上,那么执行case语句
总结
switch语句用来表示多分支,通过case后面的常量表达式来进行分支的匹配,如果都没有匹配上,则执行default语句,如果没有default语句,那么switch直接结束
int day = 8;
switch (day)
{
case 1:printf("周一");break;
case 2:printf("周二");break;
case 3:printf("周三");break;
case 4:printf("周四");break;
case 5:printf("周五");break;
case 6:printf("周六");break;
case 7:printf("周天");break;
default:printf("不知道是周几"); break;
}
while (1);
return 0;
switch语句是可以转为if语句的
而当if语句表示范围的时候是不能转为switch语句的
for语句
for(表达式1;表达式2;表达式3)
{
循环主体
}
表达式123都可以省略,;不能省略
注意死循环
while循环
只有一个表达式,不能省略
do while语句
do
{
}while(表达式);
break——结束当前循环,并跳出循环
continue——结束本次循环,并跳到表达式3
for (int i = 0; i < 10; i++)
{
if (i == 5)
{
continue;
}
printf("%d\n", i);
}
for (int k = 0; k < 10; k++)
{
if (k == 5)
{
break;
}
printf("%d\n", k);
}
while (1);
return 0;
以上两个跳转语句只能跳出一层循环
for (int i = 1; i < 5; i++)
{
for (int k = 1; k < 5; k++)
{
if (k == 3)
{
continue;
}
printf("%d\n", k*i);
}
printf("\n");
}
for (int i = 1; i < 5; i++)
{
for (int k = 1; k < 5; k++)
{
if (k == 3)
{
break;
}
printf("%d\n", k*i);
}
printf("\n");
}
死循环——goto跳转语句
int a = 0;
LOGO:
a++;
printf("%d\n", a);
goto LOGO;
//代码的效果是一个死循环