17 C语言条件语句

在上篇中,我们讨论了位运算符,这些运算符主要用于对数值进行低级别的位操作。然而,在编程中,我们经常需要根据条件来控制程序的执行流。这就是条件语句的用武之地了。本篇我们将深入探讨C语言中的条件语句,以及如何利用它们来构建灵活的程序控制结构。

什么是条件语句?

条件语句使得程序能够根据不同的条件执行不同的代码块。在C语言中,主要有以下几种条件语句:

  • if 语句
  • if...else 语句
  • switch 语句

接下来,我们将详细讨论这三种条件语句。

1. if 语句

if 语句是条件语句中最基本的一种。它的结构如下:

1
2
3
if (条件) {
// 满足条件时执行的代码
}

示例

1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>

int main() {
int a = 10;

if (a > 5) {
printf("a大于5\n"); // 当条件成立时打印这行
}

return 0;
}

在这个例子中,程序先判断a是否大于5。如果条件成立,程序将输出a大于5

2. if...else 语句

当条件不满足时,可能需要执行另一套代码,if...else 语句就是为此而设计的。它的结构如下:

1
2
3
4
5
if (条件) {
// 满足条件时执行的代码
} else {
// 不满足条件时执行的代码
}

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>

int main() {
int a = 3;

if (a > 5) {
printf("a大于5\n");
} else {
printf("a不大于5\n"); // 当条件不成立时打印这行
}

return 0;
}

在这个例子中,当a的值不大于5时,程序将输出a不大于5

3. if...else if...else 语句

如果需要考虑多个条件,可以使用if...else if...else结构。它的结构如下:

1
2
3
4
5
6
7
if (条件1) {
// 满足条件1时执行的代码
} else if (条件2) {
// 满足条件2时执行的代码
} else {
// 所有条件都不满足时执行的代码
}

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>

int main() {
int a = 7;

if (a > 10) {
printf("a大于10\n");
} else if (a > 5) {
printf("a大于5但不大于10\n"); // 当满足条件2时打印这行
} else {
printf("a不大于5\n");
}

return 0;
}

在这里,程序通过多重条件判断,先检查a是否大于10,如果不成立则检查是否大于5。

4. switch 语句

switch 语句允许根据变量的值选择多个选项。这在处理离散值时非常有效。其结构如下:

1
2
3
4
5
6
7
8
9
10
switch (表达式) {
case1:
// 值1匹配时的代码
break;
case2:
// 值2匹配时的代码
break;
default:
// 所有值都不匹配时的代码
}

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>

int main() {
int day = 3;

switch (day) {
case 1:
printf("今天是周一\n");
break;
case 2:
printf("今天是周二\n");
break;
case 3:
printf("今天是周三\n"); // 当day等于3时打印这行
break;
default:
printf("未知的日期\n");
}

return 0;
}

在这个例子中,程序根据day的值决定输出的字符串。如果day是3,则程序会打印今天是周三

总结

通过使用ifif...elseif...else if...elseswitch语句,我们能够灵活地控制程序的执行流。条件语句是控制结构的重要组成部分,对于实现复杂逻辑具有不可或缺的作用。

在下一篇中,我们将深入探讨控制结构中的循环语句,为你展示如何在特定条件下重复执行某些代码。通过掌握这些控制结构,你将能够编写更为复杂与高效的C语言程序。

作者

AI免费学习网(郭震)

发布于

2024-08-10

更新于

2024-08-10

许可协议

分享转发

交流

更多教程加公众号

更多教程加公众号

加入星球获取PDF

加入星球获取PDF

打卡评论