分支和循环语句
一:什么是语句?
二:分支语句
1.if语句
2.swltch语句
三:循环语句
1.while循环
2.for循环
3.do... while循环
四:goto语句
一:什么是语句?
二:分支语句:
1.if语句:
1.1:语法结构:
if语句:
1:单分支:
if(表达式)
语句;
2.双分支:
if(表达式1)
语句1;
else if(表达式2)
语句2;
3.多分支:
if(表达式1)
语句1;
else if(表达式2)
语句2;
else
语句3;
1.2:悬空else:
注:else的匹配:else是和它离的最近的if匹配的。
2.swltch语句:
2.1:语法结构:
switch语句:switch(整型表达式){语句项 case 整形常量表达式 :语句 ;}
代码演示:
#include <stdio.h>
//switch代码演示
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;
}
return 0;
}
注:break语句 的实际效果是把语句列表划分为不同的分支部分。
2.2:default子句 :
三:循环语句:
1:while循环:
1.1:语法结构
while(表达式)
循环语句;
//break 代码实例
#include <stdio.h>
int main()
{
int i = 1;
while(i<=10)
{
if(i == 5)
break;
printf("%d ", i);
i = i+1;
}
return 0;
}
总结:
break在while循环中的作用:
其实在循环中只要遇到break,就停止后期的所有循环,直接终止循环
所以:while中的break是用于永久终止循环的
continue:
//continue 代码实例1
#include <stdio.h>
int main()
{
int i = 1;
while(i<=10)
{
if(i == 5)
continue;
printf("%d ", i);
i = i+1;
}
return 0;
}
//continue 代码实例2
#include <stdio.h>
int main()
{
int i = 1;
while(i<=10)
{
i = i+1;
if(i == 5)
continue;
printf("%d ", i);
}
return 0;
}
总结:
continue是用于终止本次循环的,也就是本次循环中continue后边的代码不会再执行
而是直接跳转到while语句的判断部分,进行下一次循环的入口判断。
2:for循环:
2.1:语法结构
for (表达式1;表达式2;表达式3)
循环语句;
表达式 1表达式 1 为 初始化部分 ,用于初始化循环变量的。表达式 2表达式 2 为 条件判断部分 ,用于判断循环时候终止。表达式 3表达式 3 为 调整部分 ,用于循环条件的调整。
int i = 0;
//前闭后开的写法
for(i=0; i<10; i++)
{}
//两边都是闭区间
for(i=0; i<=9; i++)
{}
3.do... while循环
3.1:do... while循环语法格式:
3.3:do语句的特点
#include <stdio.h>
int main()
{
int i = 10;
do
{
printf("%d\n", i);
}while(i<10);
return 0; }
四:goto语句:
for(...)
for(...)
{
for(...)
{
if(disaster)
goto error;
}
}
…
error:
if(disaster)
// 处理错误情况
goto语句句的一个例子:关机程序
#include <stdio.h>
int main()
{
char input[10] = {0};
system("shutdown -s -t 60");
again:
printf("电脑将在1分钟内关机,如果输入:我是猪,就取消关机!\n请输入:>");
if(0 == strcmp(input, "我是猪"))
{
system("shutdown -a");
}
else
{
goto again;
}
return 0; }