C语言学习第8天,分支结构

一个完整的程序控制流包含下面三种控制流:

1.顺序流程 2.分支流程 3.循环流程

分支流程

if(测试条件)条件为真的流程

else条件为假的流程

#include<stdio.h>
int main()
{
int x;
scanf("%d", &x);
if (x >= 2 && x <= 10)
printf("666");
else
printf("222");
return 0;
}

不要在if或else后面加分号

1.复合语句

if和else关键词只对它后面一条语句产生效果,并且if和else之间仅允许有一条语句。

如果要使用多条语句,我们需要使用花括号将其包含起来,让它们组成复合语句。

#include<stdio.h>
int main()
{
int x;
scanf("%d", &x);
if (x >= 2 && x <= 10)
{
printf("6");
printf("6");
printf("6");
}
else
{
printf("2");
printf("2");
printf("2");
}
return 0;
}

这时才能编译成功

2.嵌套if

#include<stdio.h>
int main()
{
int x;
scanf("%d", &x);
if (x >= 2 && x <= 10)
printf("666");
else
{
if (x < 2)
printf("555");
else
printf("444");
}
return 0;
}

可以解决问题,但可以看到花括号的数量也因此增加

那么当分支过多时,花括号就会变得更多,使问题和代码变得更加麻烦,所以就有了else if

#include<stdio.h>
int main()
{
int x;
scanf("%d", &x);
if (x >= 90)
printf("优秀");
else if (x >= 80)
printf("良好");
else if (x >= 60)
printf("及格");
else
printf("不及格");
return 0;
}

这样一来,就会更清晰明了

3.条件运算符

为else if的一种便捷形式

条件表达式的范式如下:测试条件?表达式1 :表达式2;

表达式结果为:1.若测试条件为真,那么条件表达式结果为表达式1的结果。2.若测试条件为假,那么条件表达式结果为表达式2的结果。

#include<stdio.h>
int main()
{
int x,c;
scanf("%d",&x);
c=x >= 10 ? 'Y' : 'N';
printf("%c", c);
return 0;
}

 

posted @ 2022-09-14 12:36  纯爱暴打ntr  阅读(71)  评论(0)    收藏  举报