C语言的逻辑结构有三种,分别是:顺序结构、分支结构、循环结构。
顺序结构比较简单,这里主要是说C语言当中的分支结构和循环结构。
分支结构,就是说代码在编译的时候,可以写多个途径,根据代码的要求,选择哪一条路径去继续实现代码的运行。
一、C语言分支结构
1.if-else分支结构
if-else型:
int main()
{
int a = 0;
scanf("%d", &a);
if (a == 0)
printf("哈哈");
else
printf("呵呵");
return 0;
}
就像上图所示,代码只有两种路径去执行。当a为假的时候,会执行if语句,并打印‘哈哈’;当a为真的时候,会执行else语句,并打印‘呵呵’。
2.if-else if-else结构
if-else if-······-else:
当if-else两条路径不能满足代码的需求时,需要更多路径来满足实现,可以添加一个或者多个else-if来实现。
int main()
{
int a = 0;
scanf("%d", &a);
if (a == 0)
printf("呵呵");
else if (a == 1)
printf("哈哈");
else if (a == 2)
printf("嘿嘿");
else
printf("哦哦");
return 0;
}
上图所示代码便是有多个途径时,代码的不同运行结果。
if语句要注意的是,每一个分支语句后面只能跟一个语句,若要想有多个语句一起实现,需要有{}来实现。
3.switch语句
除了if-else和if-else if-else外,C语言中的分支语句还可以通过switch语句来实现。
int main()
{
int a = 0;
scanf("%d", &a);
switch (a)
{
case 1:
printf("abc ");
case 2:
printf("abcd ");
case 3:
printf("abcde ");
case 4:
printf("abcdef ");
case 5:
printf("abcdefg ");
default:
printf("哈哈");
}
return 0;
}
但是,从上图代码可以发现当输入a值等于1时,所有case语句都执行,很显然不能满足选择功能。所以用switch语句想要实现分支结构功能,要在每一个case语句最后添加一个break,终止代码往后的运行。
int main()
{
int a = 0;
scanf("%d", &a);
switch (a)
{
case 1:
printf("abc ");
break;
case 2:
printf("abcd ");
break;
case 3:
printf("abcde ");
break;
case 4:
printf("abcdef ");
break;
case 5:
printf("abcdefg ");
break;
default:
printf("哈哈");
}
return 0;
}
可以看见当有break的时候,语句就能有分支结构的形式。还要注意的是最后的default,当上面所有的case语句都不能满足条件时,就会执行default语句的内容。
二、C语言中的循环结构
C语言中的循环结构:
C语言中循环结构有while循环和for循环。
1.while循环
这里先简单说一下while循环,如果while()括号里面是0,则为假,程序不会执行;若不为0,则为真,循环一直执行。
int main()
{
int a = 0;
scanf("%d", &a);
while(a)
{
printf("认真学习C语言");
}
return 0;
}
当输入a值为0,程序不会执行。
当输入a值不为0时,判断为真,程序会一直执行。
但这样很显然不能满足个人对循环的需求,需要通过一些限制来满足个人循环的要求。
int main()
{
int a = 0;
scanf("%d", &a);
while(a<=10)
{
printf("认真学习C语言\n");
a++;
}
return 0;
}
通过限制循环次数来满足代码的需要。
2.do-while循环
while循环中还有一个是do···while循环。
int main()
{
int i = 0;
scanf("%d", &i);
do
{
printf("认真学习C语言\n");
i++;
} while (i <= 10); //判断条件
return 0;
}
3.for循环
C语言中还有一个for循环,其基本结构为
for(初始值;范围;条件)
int main()
{
int a = 0;
scanf("%d", &a);
for (a = 1;a < 10;a++)
printf("认真学习C语言\n");
return 0;
}
以上就是c中的常见分支结构和循环结构,欢迎大家指正和补充。