分支和循环语句是什么
在我们写程序的时候,总会遇到想一直循环执行某种语句的时候,这时候我们就要使用一种语句叫循环语句,或者带一些判断条件的语句,在C语言中提供了像这些的循环语句和分支语句
if else 语句
这是一种判断语句,他的格式如下
if(判断条件)
{
程序内容
}
else if(判断条件)//另一种情况
{
程序内容
}
else//最后一种情况
{
程序内容
}
首先进入if语句如果条件为真那么就执行if语句里面的内容,如果为假就看看else if如果这里为真就执行else if里面的语句,如果这里为假就直接进入最后一种情况else语句里面
注意:如果if ,else if ,else下面只有一条语句则不用打括号,如果有2条以上的语句(包括两条)就必须要打大括号,但这里建议不管几条都可以打上大括号,这样也方便阅读代码行与行之间隔的更开。这里的第二个else 后面的if与最后一个else形成了一个嵌套if语句。有了嵌套if语句就可以完成我们更加复杂的条件判断
我们来举一个例子;
# define _CRT_SECURE_NO_WARNINGS
# include<stdio.h>
int main()
{
int age = 0;
scanf("%d", &age);
if (age < 10)
{
printf("儿童\n");
}
else if (age < 18)
{
printf("青年\n");
}
else
{
printf("成年\n");
}
return 0;
}
这里就运用了判断条件来判断输入的年龄是儿童还是青年或者是成年
如果有多个 if 和 else ,可以记住这样⼀条规则, else 总是跟最接近的 if 匹配。
下面来再来看一个代码
# include<stdio.h>
int main()
{
int a = 3;
if (a > 5)
if (a > 2)
printf("hehe\n");
else
printf("hello\n");
return 0;
}
这里我们会产生一个误解首先看第一个判断条件不成立,然后就看第二个else成立让后打印hello,但我们运行程序之后就会发现什么都没有打印出来,这是为什么呢,那是因为在这里我们排版的时候让else 和第⼀个 if 语句对⻬,让我们以为 else 是和第⼀个if匹配的,当 if语句不成⽴的时候,⾃然想到的就是执⾏ else ⼦句,打印hello,但实际上但实际上 else 是和第⼆个 if进⾏匹配的,这样后边的 if…else 语句是嵌套在第⼀个 if 语句中的,如果第⼀个 if 语句就不成⽴,嵌套 if 和 else 就没机会执⾏了,最终啥都不打印。所以遇到这种情况我们可以这样记忆
如果有多个 if 和 else ,可以记住这样⼀条规则, else 总是跟最接近的 if 匹配。
改成这样就行了
# include<stdio.h>
int main()
{
int a = 3;
if (a > 5)
{
if (a > 2)
{
printf("hehe\n");
}
else
{
printf("hello\n");
}
}
return 0;