c语言的结构分为顺序结构、选择结构和循环结构。顺序结构是通过if和switch语句实现的,而循环结构是通过while、for和do……while语句实现的。
一、选择结构
1.if语句可以实现单分支结构也可以通过if……else语句实现多分支结构,if……else语句默认都只能控制一条语句,但可以通过使用{}实现对多条语句的控制。对于悬空的else问题,可记住else只与最接近的if相匹配,而不是与对齐的if相匹配。
2.switch语句是一种比较特殊的if……else语句,与if……else语句相比可读性更好,与case、break和default结合使用。
注意:(1)switch后的表达式必须是整型表达式(字符以ASCII码的形式存储,而ASCII是整数,故字符也属于整数家族)。
(2)case后面的值必须是整型常量表达式,并且case和后面的数字之间有空格。
(3)每一个case语句的代码执行结束后要加break,只有这样才能跳出这个switch语句。
二、循环结构
1.在执行while循环时,要先判断是否符合条件,只有符合条件后才会执行循环语句,若不符合条件则循环结束。
2.for循环是循环结构中使用最多的一种循环,for循环把循环变量的初始化、条件的判断以及循环变量的调整放在了一起,相比于while循环更加的紧凑、易读。
3.do……while循环在循环结构中使用最少。do……while在执行时会直接进入循环,执行完循环语句后再执行判断语句。因此do……while循环的循环体至少执行一次。
4.在循环过程中,若需要提前终止代码,就会用到break和continue语句。break的作用是永久终止本次循环,break只要被执行,就会直接跳出循环。而continue的作用是跳过本次循环continue后边的代码。但while循环和for循环中的break和continue有所差异。
while循环的break语句
#include<stdio.h>
int main()
{
int i = 1;
while(i <= 10)
{
if(i == 5)
{
break;//当i等于5后,就会执行break语句,循环终止
}
printf("%d",i);
i = i + 1;
}
return 0;
}
while循环的continue语句
#include<stdio.h>
int main()
{
int i = 1;
while(i <= 10)
{
if(i == 5)
{
continue;//当i等于5后,就会执行continue语句,跳过continue后面的语句
//由于未执行i=i+1因此i一直等于5,程序陷入死循环
}
printf("%d ",i);
i = i + 1;
}
return 0;
}
for循环的break语句
#include<stdio.h>
int main()
{
int i = 1;
for(i = 1;i <= 10;i++)
{
if(i == 5)
break;//当i=5时,执行break语句跳出循环
printf("%d ",i);
}
return 0;
}
for循环的continue语句
#include<stdio.h>
int main()
{
int i = 1;
for(i = 1;i <= 10;i++)
{
if(i == 5)
continue;//当i=5时,执行continue语句后会跳过本次循环后面的语句,进入调整部分i++
printf("%d ",i);
}
return 0;
}