一、循环和分支的种类
在C语言中循环分为for循环、while循环、do...while...循环;
分支包括switch分支、if...else...分支。
二、循环语句详解
1.for循环
for循环在各类语言中都是经常可以用到的一个关键字,在C语言中for循环的格式为:
for(表达式1;表达式2;表达式3)
{
循环体...
}
在上述的格式中,表达式1一般为用于定义变量初始化值,表达式2一般用于定义变量的终值,表达式3一般用于定义变量的后续变化,循环体则是需要进行的运算,如输出打印、数值计算等,举例定义一个整型i,随程序循环自增并在循环内打印hello:
for(int i ; i < 10 ; i++)
{
printf("hello\n");
}
一般情况下for循环表达式为固定格式,但其表达式也可不写,即制造空循环,例:
for(;;;)
{
}
这样代码并不会报错
2.while循环
和for循环一样while循环也是一个非常常用的循环体。
其格式为:
while(表达式)
{
循环体
}
其中表达式的输入内容一般为需要判断为真的数据,当该条件为假时循环结束,如果在循环体中未输入break、return等用于跳出循环的条件,例:
int a = 0;
while (a = 10)
{
a++;
printf("%d ",a);
break;
}
也可以为单独的一个true,此时则该循环为死循环。
int a = 0;
while (true)
{
a++;
printf("%d ",a);
break;
}
所以在使用while循环时慎重使用true这个表达式。
3.do...while循环
do...while循环在使用中相对于for循环和while循环频率较低,其原因包括其相对更为复杂的使用以及循环体的使用次数会比表达式多出一次等,
其格式为:
do
{
循环体
}while(表达式)
do...while的运行过程首先是进入循环体再进入表达式,即先循环再判断,这点与for循环和while循环时不同的。
循环体内容为需要进行运算的公式或需要输出的项目等,表达式则是判断的标准,该标准与while循环相同,都是条件为假时结束循环,例:
int a = 0;
do
{
printf("%d", a);
a++;
} while (a < 10);
三、分支语句
1.switch...case语句
switch...case语句主要使用场景为判断条件数值明确时使用,
其格式为:
switch(常量表达式指向的原值)
{
case 常量表达式:
指向结果
break;
case 常量表达式:
指向结果
break;
default:
指向结果
break;
}
例如指定某位数字为启动项,输出一个字符串,例:
int a = 0;
printf("请输入选择:");
scanf("%d", &a);
switch (a)
{
case 1:
printf("hello");
break;
case 2:
printf("world");
break;
default:
printf("hihi");
break;
}
2.if...else语句
主要应用与条件较少但基数较大数判断过程,其结构为:
if(条件表达式)
{
结果....
}
else if(条件表达式)
{
结果...
}
else
{
非上述条件后的结果,与默认值类似
}
if...else语句主要以判断条件为主使用,例:
int a = 3;
if (a > 3)
{
printf("hello");
}
else if (a == 3)
{
printf("world");
}
else
{
printf("hello world");
}