C语言中的控制结构用于控制程序的执行流程。它们允许程序根据条件、循环或其他因素来决定哪部分代码应该被执行。C语言的主要控制结构包括:
1.顺序结构:
顺序结构是程序中最基本的结构,它按照代码的书写顺序一行一行地执行。除非遇到跳转语句(如break、goto等),否则程序将按照从上到下的顺序依次执行。
2.选择结构:
if语句:用于根据条件表达式的真假来执行不同的代码块。如果条件为真(非零),则执行if后的代码块;否则跳过。
if...else语句:在if语句的基础上增加了else子句,当条件为假时执行else后的代码块。
switch语句:根据表达式的值来选择多个代码块中的一个来执行。每个代码块以case标签开始,后面跟着可能的值。
3.循环结构:
for循环:用于执行一段代码固定次数的循环。它包含三个部分:初始化表达式、条件表达式和更新表达式。
while循环:在循环开始前检查条件。只要条件为真,循环体就会一直执行。
do...while循环:至少执行一次循环体,然后在每次循环结束后检查条件。只要条件为真,循环就会继续。
4.跳转结构:
break语句:用于跳出当前的循环或switch语句。
continue语句:用于跳过循环体中剩余的代码,直接进入下一次循环。
goto语句:无条件跳转到标记的位置。不过,由于goto可能导致程序流程混乱,所以通常不推荐使用。
条件运算符(三元运算符):
表达式1 ? 表达式2 : 表达式3:如果表达式1为真,则结果为表达式2的值;否则结果为表达式3的值。
下面是这些控制结构的简单示例:
c复制代码
|
#include <stdio.h> |
|
|
|
int main() { |
|
int x = 10; |
|
|
|
// 顺序结构 |
|
printf("This is a sequential structure.\n"); |
|
|
|
// 选择结构 - if...else |
|
if (x > 5) { |
|
printf("x is greater than 5.\n"); |
|
} else { |
|
printf("x is not greater than 5.\n"); |
|
} |
|
|
|
// 选择结构 - switch |
|
switch (x % 3) { |
|
case 0: |
|
printf("x is divisible by 3.\n"); |
|
break; |
|
case 1: |
|
printf("x has a remainder of 1 when divided by 3.\n"); |
|
break; |
|
default: |
|
printf("x has a remainder of 2 when divided by 3.\n"); |
|
} |
|
|
|
// 循环结构 - for循环 |
|
for (int i = 0; i < 5; i++) { |
|
printf("This is loop iteration %d.\n", i); |
|
} |
|
|
|
// 循环结构 - while循环 |
|
int j = 0; |
|
while (j < 5) { |
|
printf("This is while loop iteration %d.\n", j); |
|
j++; |
|
} |
|
|
|
// 循环结构 - do...while循环 |
|
int k = 0; |
|
do { |
|
printf("This is do...while loop iteration %d.\n", k); |
|
k++; |
|
} while (k < 5); |
|
|
|
// 条件运算符(三元运算符) |
|
int max = (x > 5) ? x : 5; |
|
printf("The maximum value is %d.\n", max); |
|
|
|
return 0; |
|
} |
这些控制结构为程序员提供了灵活的方式来组织代码,实现复杂的逻辑和功能。