目录
C语⾔的三种基本结构指的是顺序结构、选择结构、循环结构,基本上所有的程序执行过程都可以拆分为这三种结构或者这三种结构的组合。
这篇文章如果对你有帮助的话点个小小的拇指赞吧 ^3^
这三种结构是构建任何C语言程序的基础,它们可以相互嵌套和组合,以实现复杂的程序逻辑。掌握这些基本结构对于学习C语言至关重要,因为它们是理解程序流程控制和编写有效代码的关键。
顺序结构
顺序结构的特点是程序的执行流程是直线型的,即程序从第一条语句开始,按顺序逐条执行,直到最后一条语句结束,过程中没有任何分支或跳转。例:
#include <stdio.h>
int main()
{
printf("Hello\n");
printf("World\n");
printf("Hello World!\n");
return 0;
}
其执行顺序是:先打印Hello,再打印World,然后打印Hello World!,最后程序返回0结束。
选择结构(分支结构)
分支结构是程序设计中的一种控制结构,它允许程序根据给定的条件选择不同的执行路径。
-
if语句
- if语句:这是最基本的分支结构,程序在满足条件时执行特定的代码块。if语句的一般形式为:
if (condition) { // 当条件为真时执行的代码 }
- if-else语句:这种结构提供了两个分支,一个用于条件为真时的执行路径,另一个用于条件为假时的执行路径。if-else语句的一般形式为:
if (condition) {
// 当条件为真时执行的代码
} else {
// 当条件为假时执行的代码
}
特别注意 :默认在 if 和 else 语句中默认只控制⼀条语句,⽐如:
#include <stdio.h>
int main()
{
int a = 0;
scanf("%d", &a);
if (a >= 0)
printf("非负数\n");
printf("负数\n");
return 0;
}
当我们输入 2 时,执行结果为 :
就是因为在 if 和 else 语句中默认只控制⼀条语句,不论输入的是负数还是整数都会打印“负数”所以建议
在每次写完if条件和else之后顺手加上大括号!
在同一大括号内 else与其最近的if相匹配!对齐不代表它们相匹配!
另外,在 if else 语句中, else 可以与另⼀个 if 语句连⽤,构成多重判断。
-
switch语句
switch语句:这是一种多分支选择结构,它根据表达式的值来选择执行哪一个代码块。switch语句的一般形式为:
switch (expression) {
case constant1:
// 当expression的值等于constant1时执行的代码
break;
case constant2:
// 当expression的值等于constant2时执行的代码
break;
// ... 更多的case语句 ...
default:
// 当expression的值不匹配任何case时执行的代码
}
在 switch 语句中 case 语句和 default 语句是没有顺序要求的,只要你的顺序是满⾜实 际需求的就可以。 不过我们通常是把 default ⼦句放在最后处理的。
此外,分支结构使得程序能够根据不同的输入或状态做出不同的响应,增加了程序的灵活性和逻辑复杂性。在实际编程中,分支结构通常与顺序结构和循环结构结合使用,以实现更加复杂的程序逻辑。
循环结构
-
for循环
for 循环是三种循环中使⽤最多的, for 循环的语法形式如下:
for (initialization(初始化); condition(条件表达式); increment(变量调整)) {
// 循环体,需要重复执行的代码
}
其中包含三个主要部分:
- 初始化 (initialization):在循环开始前执行一次,通常用于声明和初始化循环控制变量。
- 条件表达式 (condition):在每次循环开始前评估,如果结果为真(非零),则执行循环体;如果为假(零),则退出循环。
- 增量 (increment):在每次循环体执行完毕后进行,通常用于更新循环控制变量。
for循环可用于 简单计算、数组遍历等。
下面我们用for循环写一个1~9的求和:
#include <stdio.h>
int main()
{
int sum = 0;
int i = 0;
for (i = 1; i < 10; i++)
{
sum += i;//sum=sum+i;
}
printf("%d\n",sum);
return 0;
}
-
while循环
while循环的一般语法结构如下:
while (condition) {
// 循环体,需要重复执行的代码
}
其中,condition是一个条件表达式,用于判断是否继续执行循环体。在每次循环开始前,condition都会被评估,如果结果为真(非零),则执行循环体;如果为假(零),则退出循环。
while循环可用于 读取用户输入、处理数据流等。但是for循环可以替代某些while循环的场景,使得代码更加简洁易读哦!
-
do while循环
do-while循环的一般语法结构如下:
do {
// 循环体,需要重复执行的代码
} while (condition);
condition是一个条件表达式,用于判断是否继续执行循环体。与while循环不同的是,do-while循环先执行一次循环体,然后再进行条件判断。如果条件为真(非零),则继续执行循环体;如果为假(零),则退出循环。
小总结:
在C语言中,循环结构中的break和continue是两个常用的控制语句。
break:用于跳出当前循环,即终止当前循环的执行,跳到循环之后的代码继续执行。通常用在switch语句和循环语句(for、while、do-while)中。
continue:用于跳过当前循环的剩余部分,直接进入下一次循环。通常用在循环语句(for、while、do-while)中。
其他(goto语句)
C语言中的goto语句是一种控制结构,用于无条件跳转到程序中的另一个位置。
goto语句的一般语法结构如下:
goto label;
...
label:
statement;
label是一个用户自定义的标签,用于标识跳转的目标位置。statement是跳转后要执行的代码块。
goto 语句和跳转标号, goto 语句可以实现在同⼀个函数内跳转到设置好的标号处。尽管goto语句在某些情况下可以提供便捷的跳转功能,但它也被认为是一种不良的编程实践,因为它破坏了程序的结构性和可读性。因此,在编写C语言程序时,应尽量避免过度依赖goto语句,而是优先使用其他控制结构来实现逻辑控制。
希望我的分享能够给你提供帮助,如果有什么不足的地方请指正!这篇文章如果对你有帮助的话点个小小的拇指赞吧 ^3^