1.分支语句 :if, switch
(1)if语句是分支语句(循环结构)的一种
语法结构:
if(表达式)
语句1;
else if(表达式2) \\多分支情况下使用
语句2;
else
语句;
#include <stdio.h>
int main()
{
int age = 0;
scanf("%d", &age);
if (age < 18)
printf("未成年\n");
else
printf("老年人\n");
return 0;
}
多分支时:
从上到下依次判断,若符合 if 条件,就执行if下面的语句;若不符合 if ,就看是否满足下一条 else if 的条件;直到找出符合条件的为止,若所有条件都不符合,就执行 else 的语句。
#include <stdio.h>
int main()
{
int age = 0;
scanf("%d", &age);
if (age < 18)
printf("未成年\n");
else if (18 < age && age < 30)
printf("青少年\n");
else if (30 <= age && age < 60)
printf("中年人\n");
else
printf("老年人\n");
return 0;
}
(2)switch语句也是一种分支语句。 常常用于多分支的情况。
switch(表达式)
{
case 常量1:语句1
case 常量2:语句2
break
}
switch语句中的break:在switch语句中,我们没办法直接实现分支,搭配break使用才能实现真正的分支。
#include <stdio.h>
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;
}
2.循环语句 :while ,for, do while
(1)while循环:这种循环也是很常用的,也十分好理解,其实跟for循环差不多,只不过是把初始化条件写到外面了,把增值表达式写到里面了。
使用结构:
while(循环控制表达式)
{
语句序列
}
#include <stdio.h>
int main()
{
int i = 1;
while (i <= 10)
{
printf("%d ", i);
i = i + 1;
}
return 0;
}
while循环中break和contine的使用:其实在循环中只要遇到break,就停止后期的所有的循环,直接终止循环。 所以:while中的break是用于永久终止循环的;continue是用于终止本次循环的,也就是本次循环中continue后边的代码不会再执行, 而是直接跳转到while语句的判断部分。进行下一次循环的入口判断。
#include <stdio.h>
int main()
{
int i = 1;
while (i <= 10)
{
if (i == 5)
break;
printf("%d ", i);
i = i + 1;
}
return 0;
}
#include <stdio.h>
int main()
{
int i = 1;
while (i <= 10)
{
i = i + 1;
if (i == 5)
continue;
printf("%d ", i);
}
return 0;
}
#include <stdio.h>
int main()
{
int i = 1;
while (i <= 10)
{
if (i == 5)
continue;
printf("%d ", i);
i = i + 1;
}
return 0;
}
图2与图3运行结果的对比
(2)for循环
使用结构:
for(初始化表达式 ; 循环控制语句 ; 增值表达式)
\\初始化表达式 ; 循环控制语句 ; 增值表达式,可以省略(省略后的样子( ; ; ))但是要看使用者的熟练程度(个人建议带上以防发生不必要的错误)
{
语句序列
}
#include <stdio.h>
int main()
{
int a = 0;
for(a=0;a<=10;a++)
{
printf("%d\n",a);
}
return 0;
}
for循环中break与continue的使用:他们的意义和在while循环中是一样的。 但是还是有些差异
#include <stdio.h>
int main()
{
int i = 0;
for (i = 1; i <= 10; i++)
{
if (i == 5)
break;
printf("%d ", i);
}
运行结果:
#include <stdio.h>
int main()
{
int i = 0;
for (i = 1; i <= 10; i++)
{
if (i == 5)
continue;
printf("%d ", i);
}
return 0;
}
运行结果:
(3)do while循环:while循环执行循环体前都会先判断下(执行循环控制表达式),而do-while循环会在执行循环控制表达式前先执行一遍循环体(这第一遍循环体是不进行判断的,直接执行)
使用结构:
do
{
语句序列
}while(循环控制表达式);
#include <stdio.h>
int main()
{
int i = 1;
do
{
printf("%d ", i);
i=i+1;
}while(i<=10);
return 0;
}
do while循环中break和continue的使用:
include <stdio.h>
int main()
{
int i = 1;
do
{
if (5 == i)
break;
printf("%d ", i);
i = i + 1;
} while (i <= 10);
return 0;
}
运行结果:
#include <stdio.h>
int main()
{
int i = 1;
do
{
if (5 == i)
continue;
printf("%d ", i);
i = i + 1;
} while (i <= 10);
return 0;
}
运行结果:
感谢大家的观看希望以上分支与循环的一些用法能够给大家带来帮助!!!