C语言作为一门经典的编程语言,其所有程序的运行逻辑都基于三种基本程序结构实现,分别是顺序结构、选择结构和循环结构,这三种结构可以组合出各种复杂的业务处理逻辑。

一、顺序结构
顺序结构是C语言中最基础、最常用的程序结构,它的执行逻辑非常简单:代码按照从上到下的书写顺序依次执行,不会发生跳转或者分支,每一行代码都会被执行一次。
比如我们写一个计算两个数之和的程序,整个过程就是典型的顺序结构:
#include <stdio.h>
int main() {
int a = 10; // 定义变量a并赋值
int b = 20; // 定义变量b并赋值
int sum = a + b; // 计算两数之和
printf("两数之和为:%dn", sum); // 输出结果
return 0;
}
在这个示例中,变量的定义、赋值、计算和输出都是按照代码书写的顺序依次执行的,没有任何条件判断或者重复执行的逻辑,这就是顺序结构的核心特点。
二、选择结构
选择结构也叫分支结构,它的作用是让程序根据设定的条件判断结果,选择执行不同的代码分支,实现逻辑的分流处理。C语言中常用的选择结构实现方式有if语句、if-else语句和switch语句。
1. if-else选择结构
当需要根据单个条件判断执行不同逻辑时,可以使用if-else语句,示例如下:
#include <stdio.h>
int main() {
int score = 85;
if (score >= 60) { // 判断分数是否大于等于60
printf("考试及格n");
} else {
printf("考试不及格n");
}
return 0;
}
2. switch选择结构
当需要根据同一个变量的不同取值执行不同逻辑时,使用switch语句会更简洁,示例如下:
#include <stdio.h>
int main() {
int day = 3;
switch (day) { // 根据day的取值匹配分支
case 1:
printf("今天是星期一n");
break;
case 2:
printf("今天是星期二n");
break;
case 3:
printf("今天是星期三n");
break;
default:
printf("输入的天数不合法n");
}
return 0;
}
三、循环结构
循环结构的作用是让程序重复执行某一段代码逻辑,直到满足特定的终止条件为止,避免编写大量重复的代码。C语言中常用的循环结构有三种:while循环、do-while循环和for循环。
1. while循环
while循环会先判断条件是否成立,条件成立才会执行循环体内的代码,示例如下:
#include <stdio.h>
int main() {
int i = 1;
while (i <= 5) { // 当i小于等于5时执行循环
printf("当前i的值为:%dn", i);
i++; // i自增1
}
return 0;
}
2. for循环
for循环把初始化、条件判断和变量更新都放在同一行,结构更紧凑,适合已知循环次数的场景,示例如下:
#include <stdio.h>
int main() {
int sum = 0;
// 循环从1加到10
for (int i = 1; i <= 10; i++) {
sum += i;
}
printf("1到10的和为:%dn", sum);
return 0;
}
3. do-while循环
do-while循环会先执行一次循环体,再判断条件是否成立,所以循环体至少会被执行一次,示例如下:
#include <stdio.h>
int main() {
int i = 1;
do {
printf("当前i的值为:%dn", i);
i++;
} while (i <= 5); // 判断条件
return 0;
}
三种结构的组合使用
实际的C语言程序中很少单独使用某一种结构,通常是三种结构组合使用。比如在循环中加入条件判断,或者在条件分支中加入循环逻辑,以此实现复杂的业务需求。比如下面的示例是计算1到100中所有偶数的和,就同时用到了循环结构和选择结构:
#include <stdio.h>
int main() {
int sum = 0;
for (int i = 1; i <= 100; i++) { // for循环遍历1到100
if (i % 2 == 0) { // 选择结构判断是否为偶数
sum += i;
}
}
printf("1到100中所有偶数的和为:%dn", sum);
return 0;
}
掌握这三种基本程序结构的特点和使用方式,是编写C语言程序的基础,后续更复杂的数据结构和算法逻辑,也都是基于这三种结构扩展实现的。