C语言基础精讲:选择、循环语句与函数封装实战

顾言
顾言
发布时间:2026-10-16| 6人浏览过
原创

C语言的基础语法由选择、循环和函数三大块构成。掌握 if-else 的条件分支、while 与 for 的循环控制以及 break/continue 的区别,是编写逻辑程序的基石。同时,通过函数封装重复逻辑(如计数判断),能有效简化 main 函数复杂度,实现结构化编程。

选择语句

选择语句是程序决策的核心,主要依赖 if、else if 和 else 构建分支逻辑。在编码时,需严格遵循 C 语言的语法规范:每个条件判断后必须置于括号内((condition)),而单独的 else 不接条件。正确的缩进与格式有助于理清逻辑层次。

#include <stdio.h>
int main()
{
	int coding = 0;
	printf("你会去敲代码吗?(选择1 or 0):>");
	scanf("%d", &coding);
	
	if (coding == 1)
	{
		printf("坚持,你的梦想就会成功!\n");
	}
	else if (coding == 0) {
		printf("你的梦想可能不会实现!\n");
	}
	else
	{
		printf("输入错误!!\n");
	}
	return 0;
}

循环语句

循环用于重复执行特定任务。C 语言提供了 while、for 和 do-while 三种形式,其中控制关键字 break 与 continue 的作用截然不同。

第1步:理解 while 循环与控制流

while 是最基础的循环,先判断条件再执行。示例中演示了 continue(跳过本次剩余代码进入下一次迭代)与 break(直接跳出整个循环)的区别:

#include <stdio.h>
int main()
{
	int i = 0;
	// 设置循环范围
	while (i < 1000)
	{
		i++; 
		// 条件触发 continue:不执行后续打印,直接进入下一轮循环
		if (i == 50)
		{
			printf("今天是%d,休息一天!\n", i);
			continue;
		}
		// 条件触发 break:满足条件即刻终止所有循环
		else if (i == 100)
		{
			printf("今天是第%d天,我已经完成了C语言的全部知识!\n", i);
			break;
		}
		printf("我已经完成了第%d天的代码编写!\n", i);
	}
	return 0;
}

第2步:掌握 for 循环结构

for 循环将初始化、条件判断和变量更新集中在圆括号内。三个部分分别为:定义初始条件、判断循环是否继续、执行步进操作(如递增)。相比 while,它更适用于已知次数或规律变化的场景:

#include <stdio.h>
int main()
{
	for (int i = 0; i < 1000; i++ )
	{
		if (i == 50)
		{
			printf("今天是%d,休息一天!\n", i);
			continue;
		}
		else if (i == 100)
		{
			printf("今天是第%d天,我已经完成了C语言的全部知识!\n", i);
			break;
		}
		printf("我已经完成了第%d天的代码编写!\n", i);
	}
	return 0;
}

第3步:do-while 出口条件循环

do-while 是先执行循环体,后判断条件的“出口条件”循环。无论条件是否满足,循环体至少会执行一次,常用于菜单选择等需要至少运行一次的场景。

#include <stdio.h>
int main()
{
	int i = 0;
	do {
		i++;
		printf("我必须要执行一次循环!\n");
	} while(i < 1); // 虽然 i=1 导致条件为假,但循环已执行一次
	return 0;
}

关于流程走向的逻辑示意:

函数封装实战

函数能将独立逻辑打包,减少 main 函数的臃肿度(建议主函数不超过一定行数),使代码结构更清晰。下面通过一个计算奇数并输出的例子,展示从单脚本到函数封装的转变。

未封装前的逻辑

原始逻辑将所有判断和打印混在一起,若业务复杂会导致可读性下降:

#include <stdio.h>
int main()
{
	int num = 0;
	int total = 0;
	printf("请输入一个数字:");
	scanf("%d", &num);
	
	for (int i = 0; i <= num; i++) {
		if (i % 2 == 0) {
			total+=1;
		}
		else {
			printf("奇数:%d\n", i);
		}
	}
	printf("一共有%d个奇数",total);
	return 0;
}

利用函数进行封装

将核心逻辑提取到独立函数中,主函数仅负责输入输出调用。定义函数时需明确返回值类型(如 int)、函数名及参数列表。注意局部变量的生命周期仅在函数内部有效:

// 定义功能函数:处理奇数判断并返回总数
int sum_num(int num, int total) {
	for (int i = 0; i <= num; i++) {
		if (i % 2 == 0) {
			total += 1;
		}
		else {
			printf("奇数:%d\n", i);
		}
	}
	return total;
}

#include <stdio.h>
int main()
{
	int num = 0;
	int total = 0;
	printf("请输入一个数字:");
	scanf("%d", &num);
	// 调用封装好的函数
	printf("一共有%d个奇数", sum_num(num, total));
	return 0;
}

在使用函数时,务必区分有返回值和无返回值(void)的情况,且每个参数都需声明类型。此外,涉及数组、递归等操作时,需特别注意指针传递与变量作用域的影响,避免内存或逻辑错误。以上就是C语言选择、循环语句与函数封装的详细内容,更多关于C语言基础语法的资料请关注本站其它相关文章!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。