分支结构:用if、switch实现
循环结构:用for、while、do while实现
if---else语句
1、if语句语法形式:
if(表达式)
语句;
表在C语言中用0表示假,用非0表示真,达式内语句为真则执行语句,为假则不执行,但是if 后面只能控制一个语句,若想要控制多条语句,可以加上大括号。
列如:输入一个整数,判断是否为奇数.
#include <stdio.h>
int main()
{
int num = 0;
scanf("%d", &num);
if(num % 2 == 1)
{
printf("%d 是奇数\n", num);
}
return 0;
}
2、else
如果⼀个数不是奇数,那就是偶数了,如果任意⼀个整数,我们要清楚的判断是奇数还是偶数怎么表 ⽰呢? 这⾥就需要 if...else... 语句了,语法形式如下:
if(表达式)
{
语句1;
语句2:
语句n;
}
else
{
语句1;
语句2:
语句n;
}
判断一个数是奇数还是偶数的代码如下:
#include <stdio.h>
int main()
{
int num = 0;
scanf("%d", &num);
if(num % 2 == 1)
printf("%d 是奇数\n", num);
else
printf("%d 是偶数\n", num);
return 0;
}
3、嵌套if
在 if else 语句中, else 可以与另⼀个 if 语句连⽤,构成多重判断。 ⽐如:要求输⼊⼀个整数,判断输⼊的整数是0,还是正数或者负数。请看如下代码:
#include <stdio.h>
int main()
{
int num = 0;
scanf("%d", &num);
if(num == 0)
{
printf("输⼊的数字是0\n");
}
else
{
if(num > 0) //这⾥的if 相当于嵌套在else语句中,形成了嵌套结构
printf("输⼊的数字是正数\n");
else
printf("输⼊的数字是负数\n");
}
return 0;
}
上图代码中else语句中多了一组if---else语句,该语句就是嵌套在前面的else语句中的子语句,后成了if嵌套语句。当然也有嵌套在if里面构成的if嵌套语句。
4、悬空else问题
如果有多个 if 和 else ,可以记住这样⼀条规则, else 总是跟最接近的 if 匹配。
列如: