C语言逻辑结构
1. 条件语句
if-else
if-else语句用于根据条件执行不同的代码块。
#include <stdio.h>
int main() {
int score = 75;
// 使用if-else语句判断成绩
if (score >= 90) {
printf("优秀\n");
} else if (score >= 60) {
printf("及格\n");
} else {
printf("不及格\n");
}
return 0;
}
输出结果:
及格
if-else的特点:
- 可以嵌套使用。
- else if可以用于多条件判断。
- else部分是可选的。
- 适用于复杂的条件逻辑。
switch-case-default
switch语句用于多分支选择,通常用于枚举或整数值的多种情况。
#include <stdio.h>
int main() {
int day = 3;
// 使用switch语句判断星期几
switch (day) {
case 1:
printf("星期一\n");
break;
case 2:
printf("星期二\n");
break;
case 3:
printf("星期三\n");
break;
default:
printf("其他日子\n");
}
return 0;
}
输出结果:
星期三
switch-case的特点:
- case标签必须是整数常量表达式。
- break语句用于跳出switch。
- default用于处理所有其他情况。
- 比嵌套的if-else更清晰,效率可能更高。
2. 循环语句
while
while循环在条件为真时重复执行代码块。
#include <stdio.h>
int main() {
int i = 1;
// 使用while循环打印1到5
while (i <= 5) {
printf("%d ", i);
i++;
}
printf("\n");
return 0;
}
输出结果:
1 2 3 4 5
while循环的特点:
- 先判断条件,再执行循环体。
- 适用于不确定循环次数的情况。
- 可能一次都不执行。
do-while
do-while循环至少执行一次循环体,然后再判断条件。
#include <stdio.h>
int main() {
int i = 1;
// 使用do-while循环打印1到5
do {
printf("%d ", i);
i++;
} while (i <= 5);
printf("\n");
return 0;
}
输出结果:
1 2 3 4 5
do-while循环的特点:
- 先执行循环体,再判断条件。
- 至少执行一次循环体。
- 适用于需要至少执行一次的循环。
for
for循环通常用于已知循环次数的情况。
#include <stdio.h>
int main() {
// 使用for循环打印1到5
for (int i = 1; i <= 5; i++) {
printf("%d ", i);
}
printf("\n");
return 0;
}
输出结果:
1 2 3 4 5
for循环的特点:
- 包含初始化、条件和更新三个部分。
- 结构紧凑,适合已知循环次数的情况。
- 可以省略任何或所有的表达式。
3. 控制转移语句
break
break语句用于跳出当前循环或switch语句。
#include <stdio.h>
int main() {
// 使用break跳出循环
for (int i = 1; i <= 10; i++) {
if (i == 6) {
break;
}
printf("%d ", i);
}
printf("\n");
return 0;
}
输出结果:
1 2 3 4 5
break的特点:
- 立即终止最内层的循环或switch。
- 可以用在for、while、do-while和switch中。
- 提供了一种退出循环的方式。
continue
continue语句跳过当前循环的剩余部分,继续下一次迭代。
#include <stdio.h>
int main() {
// 使用continue跳过偶数
for (int i = 1; i <= 10; i++) {
if (i % 2 == 0) {
continue;
}
printf("%d ", i);
}
printf("\n");
return 0;
}
输出结果:
1 3 5 7 9
continue的特点:
- 跳过当前迭代的剩余部分。
- 可以用在for、while和do-while循环中。
- 用于跳过特定条件的处理。
goto
goto语句用于无条件跳转到程序中的标记位置。
#include <stdio.h>
int main() {
int i = 0;
// 使用goto实现循环
loop_start:
if (i < 5) {
printf("%d ", i);
i++;
goto loop_start;
}
printf("\n");
return 0;
}
输出结果:
0 1 2 3 4
goto的特点:
- 可以跳转到程序中的任何标记位置。
- 使程序流程难以理解,一般不推荐使用。
- 在某些情况下可用于错误处理或复杂嵌套结构的跳出。
这些逻辑结构是C语言程序控制流的基础,合理使用可以实现各种复杂的算法和逻辑。

被折叠的 条评论
为什么被折叠?



