- 在C语言中,语句可以分为以下五类:
1、表达式语句
2、函数调用语句
3、控制语句
4、复合语句
5、空语句
- 这篇博客讨论的是控制语句里的分支和循环。
控制语句:是用来控制程序的执行流程,以实现程序的各种结构方式。C语言有九种控制语句,今天我们探讨其中的六种。
一、分支语句
1、if
1.1 if 语句的语法形式
- if 语句:编程语言中用来判断所给定的条件是否满足结果。
if (表达式)
语句1
if(表达式)
语句1
else if
语句2
else
语句3
(else if的数量无限制)
- C语言中,0为假,非0为真(C语言中常用1表示真)。若表达式的结果是0,则语句不执行,若表达式的结果不是0,则语句执行。
- 练习:输入一个整数,判断是否为奇数,如果是奇数打印奇数,否则打印偶数
#include<stdio.h> int main() { int i = 0; scanf("%d",&i); if (i % 2 == 1) { printf("%d 是奇数\n",i); } else { printf("%d 是偶数\n",i); } return 0; }
1.2 分支中包含多条语句
- 在 if 和 else 语句中默认都只控制一条语句。如果想要 if 语句同时控制两条语句,就要使用{}将代码括起来,else 后也可以跟上{}。
1.3 嵌套 if
- 在 if else语句中,else 可以与另一个 if 语句连用,构成多重判断。
- 练习:输入一个人的年龄,如果小于18岁,则打印”少年“;
- 若年龄在18-44岁,则打印”青年“;
- 若年龄在45-59岁,则打印”中老年“;
- 若年龄在60-89岁,则打印”老年“;
- 若年龄在90岁以上,则打印”老寿星“
#include<stdio.h>
int main()
{
int age = 0;
scanf("%d\n",&age);
if (age < 18)
{
printf("少年\n");
}
else
{
if (age <= 44)
{
printf("青年\n");
}
else
if (age <= 59)
{
printf("中老年\n");
}
else
{
if (age <= 90)
printf("老年\n");
else
printf("老寿星\n");
}
}
return 0;
}
1.4 悬空else问题
- 如果语句中有多个 if 和 else ,那么 else 总是跟最接近的 if 匹配。
- 练习:打印“haha”
#include<stdio.h> int main() { int a = 0; int b = 2; if (a == 1) { if (b == 2) printf("hehe\n"); } else { printf("haha\n"); } return 0; }