C语言基础精讲:选择、循环语句与函数封装实战
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语言基础语法的资料请关注本站其它相关文章!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









