在C语言中,控制结构用于控制程序的执行流程,包括条件语句和循环语句。通过控制结构,程序可以根据特定条件执行不同的代码块或重复执行某些代码。
C语言的控制结构主要分为两类:
条件语句:用于根据条件的真假来决定执行哪一段代码。
if
语句switch
语句循环语句:用于重复执行一段代码。
for
循环while
循环do-while
循环if
语句用于根据条件的真假来决定是否执行某段代码。
if (condition) {
// 当条件为真时执行的代码
}
#include <stdio.h>
int main() {
int num = 10;
if (num > 5) {
printf("数字大于5\n");
}
return 0;
}
if-else
语句用于在条件为假时执行另一段代码。
if (condition) {
// 当条件为真时执行的代码
} else {
// 当条件为假时执行的代码
}
#include <stdio.h>
int main() {
int num = 3;
if (num > 5) {
printf("数字大于5\n");
} else {
printf("数字小于或等于5\n");
}
return 0;
}
if-else if-else
语句用于处理多个条件。
if (condition1) {
// 当条件1为真时执行的代码
} else if (condition2) {
// 当条件2为真时执行的代码
} else {
// 当所有条件为假时执行的代码
}
#include <stdio.h>
int main() {
int num = 7;
if (num > 10) {
printf("数字大于10\n");
} else if (num > 5) {
printf("数字大于5且小于或等于10\n");
} else {
printf("数字小于或等于5\n");
}
return 0;
}
switch
语句用于根据变量的值执行不同的代码段。适用于处理多分支选择的场景。
switch (expression) {
case constant1:
// 当expression等于constant1时执行的代码
break;
case constant2:
// 当expression等于constant2时执行的代码
break;
...
default:
// 当所有case都不匹配时执行的代码
}
#include <stdio.h>
int main() {
int day = 3;
switch (day) {
case 1:
printf("星期一\n");
break;
case 2:
printf("星期二\n");
break;
case 3:
printf("星期三\n");
break;
case 4:
printf("星期四\n");
break;
case 5:
printf("星期五\n");
break;
case 6:
printf("星期六\n");
break;
case 7:
printf("星期日\n");
break;
default:
printf("无效的日期\n");
}
return 0;
}
break
语句用于跳出switch
语句,防止执行后续的case
。default
语句是可选的,执行当所有case
都不匹配时的代码。for
循环用于指定执行次数的循环,适合于需要进行计数的场景。
for (initialization; condition; increment) {
// 循环体
}
initialization
:循环变量的初始化。condition
:循环继续执行的条件。increment
:循环变量的更新。#include <stdio.h>
int main() {
for (int i = 0; i < 5; i++) {
printf("for循环: %d\n", i);
}
return 0;
}
for循环: 0
for循环: 1
for循环: 2
for循环: 3
for循环: 4
while
循环用于在条件为真时重复执行的代码块,适合于循环次数不确定的场景。
while (condition) {
// 循环体
}
#include <stdio.h>
int main() {
int i = 0;
while (i < 5) {
printf("while循环: %d\n", i);
i++;
}
return 0;
}
while循环: 0
while循环: 1
while循环: 2
while循环: 3
while循环: 4
do-while
循环类似于while
循环,但至少执行一次循环体,因为条件判断在循环体之后。
do {
// 循环体
} while (condition);
#include <stdio.h>
int main() {
int i = 0;
do {
printf("do-while循环: %d\n", i);
i++;
} while (i < 5);
return 0;
}
do-while循环: 0
do-while循环: 1
do-while循环: 2
do-while循环: 3
do-while循环: 4
break
语句用于立即退出循环或switch
语句,常用于提前结束循环。
#include <stdio.h>
int main() {
for (int i = 0; i < 10; i++) {
if (i == 5) {
break; // 当i等于5时,跳出循环
}
printf("i: %d\n", i);
}
return 0;
}
i: 0
i: 1
i: 2
i: 3
i: 4
continue
语句用于跳过本次循环的剩余代码,直接进入下一次循环。
#include <stdio.h>
int main() {
for (int i = 0; i < 10; i++) {
if (i % 2 == 0) {
continue; // 跳过偶数
}
printf("奇数: %d\n", i);
}
return 0;
}
奇数: 1
奇数: 3
奇数: 5
奇数: 7
奇数: 9
C语言的控制结构使得程序可以根据条件执行不同的代码块或重复执行代码。通过条件语句和循环语句,程序的执行流程变得灵活多样。这些控制结构是C语言编程的基础,通过掌握它们,可以编写出更复杂和功能丰富的程序。
如果有任何问题或者需要更多详细解释,请随时告诉我!