news 2026/4/28 15:23:20

小白也能懂的C语言核心:判断、循环、函数 一篇吃透

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
小白也能懂的C语言核心:判断、循环、函数 一篇吃透

刚学C语言的时候,是不是总被if while函数switch这些概念绕晕?别怕,今天用大白话把这些核心知识点讲透,看完就能上手写代码!

目录

一、 判断:程序的“选择题”—— if-else + switch

1. 基础款: if-else ——灵活的二选一/多选一

2. 专业款: switch ——高效的多值匹配

3. 关键帮手:逻辑与关系运算符——判断的“依据”

二、 循环:程序的“复读机”—— while + for + do-while

1. while 循环:先判断,再做事

2. for 循环:把“初始化、条件、更新”打包

3. do-while 循环:先做事,再判断

4. 循环小技巧: break 和 continue

三、 函数:程序的“工具箱”

1. 函数的基本结构

2. 举个栗子:写一个“加法函数”

3.函数的好处

四、 三者结合:写一个实用小程序

最后总结


一、 判断:程序的“选择题”——if-else+switch

判断就是让程序根据条件做选择,就像你出门前看天气:下雨带伞,晴天戴墨镜,这就是判断逻辑。

1. 基础款:if-else——灵活的二选一/多选一

适合范围判断或者复杂条件判断,比如判断成绩是否及格、数值大小。

核心语法(白话翻译)

if (条件成立) { 执行这段代码; } else if (另一个条件成立) { 执行那段代码; } else { 都不成立时执行; }

举个栗子:判断成绩等级

#include <stdio.h> int main() { int score = 85; if (score >= 90) { printf("优秀\n"); } else if (score >= 80) { printf("良好\n"); } else if (score >= 60) { printf("及格\n"); } else { printf("不及格\n"); } return 0; }

白话解释:分数≥90是优秀,80-89是良好,60-79是及格,低于60就不及格,一步步筛选。

2. 专业款:switch——高效的多值匹配

适合固定值判断,比如根据数字选择菜单、根据星期判断课程,比多层if-else更清爽。

核心语法(白话翻译)

switch (要判断的变量) { case 数值1: 执行代码; break; // 跳出switch,不往下跑 case 数值2: 执行代码; break; default: // 没有匹配的数值时执行 执行代码; }

举个栗子:根据数字选择功能

#include <stdio.h> int main() { int choice = 2; switch (choice) { case 1: printf("执行加法运算\n"); break; case 2: printf("执行减法运算\n"); break; case 3: printf("执行乘法运算\n"); break; default: printf("无效选择\n"); } return 0; }

白话解释:变量choice是2,就匹配case 2,执行完后break跳出,避免跑到其他case里。

3. 关键帮手:逻辑与关系运算符——判断的“依据”

要写判断条件,必须先懂关系运算符逻辑运算符,这是条件成立的“标尺”。

类型符号作用例子
关系运算符>大于a > 10 (a大于10成立)
关系运算符<小于a < 10 (a小于10成立)
关系运算符>=大于等于a >= 60 (及格条件)
关系运算符<=小于等于a <= 100 (满分内)
关系运算符==等于(注意不是 = )a == 5 (a等于5成立)
关系运算符!=不等于a != 0 (a不是0成立)
逻辑运算符&&逻辑与(并且)a>60 && a<90 (良好条件)
逻辑运算符||逻辑或,满足一个就行
逻辑运算符!逻辑非(取反)!(a>60) (不及格)

重点提醒:判断“等于”一定要用==,单等号 = 是赋值,比如if(a=5)会把a改成5,永远成立!

二、 循环:程序的“复读机”——while + for + do-while

循环就是让程序重复做同一件事,直到满足停止条件。比如你妈妈让你每天背10个单词,背够30天为止,这就是循环。

1.while循环:先判断,再做事

就像“只要作业没写完,继续写”,条件不满足就直接跳过循环。

核心语法 + 例子

#include <stdio.h> int main() { int day = 1; // 只要day≤30,就重复执行 while (day <= 30) { printf("今天是第%d天,背单词!\n", day); day++; // 天数加1,不然会无限循环! } return 0; }

2.for循环:把“初始化、条件、更新”打包

while循环的“升级版”,适合知道循环次数的场景,写起来更整洁。

上面的例子用 for 写更简单:

#include <stdio.h> int main() { // 初始化day=1;条件day≤30;每次循环后day+1 for (int day = 1; day <= 30; day++) { printf("今天是第%d天,背单词!\n", day); } return 0; }

3.do-while循环:先做事,再判断

适合必须先执行一次的场景,比如“先吃一口饭,再看要不要继续吃”,不管条件满不满足,先干一次再说。

核心语法 + 例子

#include <stdio.h> int main() { int num; do { printf("请输入一个正数:"); scanf("%d", &num); } while (num <= 0); // 输入负数就重新输 printf("你输入的正数是:%d\n", num); return 0; }

白话解释:不管三七二十一,先让用户输入一次;如果输入的不是正数,就重新输入,直到输入正确为止。

4. 循环小技巧:breakcontinue

  • break:直接跳出整个循环,比如背单词背到第10天,妈妈说“不用背了”,就用break终止。
  • continue:跳过本次循环剩下的代码,直接进入下一次判断,比如第5天感冒了,不背单词,直接跳到第6天。

三、 函数:程序的“工具箱”

函数就是把一段常用的代码打包起来,起个名字,以后要用的时候直接“调用”,不用重复写。

就像你家里的工具箱:拧螺丝用螺丝刀,钉钉子用锤子,不用每次都自己造工具。

1. 函数的基本结构

返回值类型 函数名(参数列表) { 函数体(要执行的代码); return 返回值; }
  • 返回值类型:函数执行完返回什么类型的数据,比如int是返回整数,void是不返回任何东西。
  • 参数列表:函数需要的“原材料”,比如加法函数需要两个整数。
  • return:把结果“交出去”,如果是void类型,可以不用return

2. 举个栗子:写一个“加法函数”

比如我们经常要算两数相加,就可以把这个功能做成函数:

#include <stdio.h> // 定义加法函数:接收两个整数,返回它们的和 int add(int a, int b) { return a + b; // 计算结果并返回 } int main() { int num1 = 5, num2 = 8; // 调用add函数,把num1和num2传进去,接收返回值 int sum = add(num1, num2); printf("%d + %d = %d\n", num1, num2, sum); return 0; }

白话解释:

  1. 我们定义了一个叫add的函数,它需要两个整数参数ab ,返回一个整数结果。
  2. main函数里,我们调用add(num1, num2),就是让函数帮我们算5+8,结果存到sum里。

3.函数的好处

  • 省代码:不用每次算加法都写a + b,调用函数就行。
  • 好维护:如果想改加法逻辑(比如算小数相加),只改add函数就行,不用改所有代码。
  • 逻辑清:main函数负责统筹,其他函数负责具体功能,代码像“说明书”一样好懂。

四、 三者结合:写一个实用小程序

最后我们把判断、循环、函数结合起来,写一个“简易计算器”,支持加减乘除,输入 0 退出。

#include <stdio.h> // 加法函数 int add(int a, int b) { return a + b; } // 减法函数 int sub(int a, int b) { return a - b; } // 乘法函数 int mul(int a, int b) { return a * b; } int main() { int choice, num1, num2, result; do { printf("\n===== 简易计算器 =====\n"); printf("1. 加法\n2. 减法\n3. 乘法\n0. 退出\n"); printf("请选择功能:"); scanf("%d", &choice); // 用switch匹配功能选择 switch (choice) { case 1: printf("输入两个数:"); scanf("%d %d", &num1, &num2); result = add(num1, num2); printf("结果:%d\n", result); break; case 2: printf("输入两个数:"); scanf("%d %d", &num1, &num2); result = sub(num1, num2); printf("结果:%d\n", result); break; case 3: printf("输入两个数:"); scanf("%d %d", &num1, &num2); result = mul(num1, num2); printf("结果:%d\n", result); break; case 0: printf("程序退出啦!\n"); br

最后总结

  • 判断if-else/switch:让程序“会做选择”,配合关系/逻辑运算符更灵活;
  • 循环while/for/do-while:让程序“会复读”,break/continue 灵活控流程;
  • 函数:让程序“模块化”,好写好维护。
  • 这三个是C语言的基石,把它们玩明白,就能写各种有趣的程序啦!
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/27 10:27:38

用pdfmake实现企业级动态水印机密文档保护方案

用pdfmake实现企业级动态水印机密文档保护方案 【免费下载链接】pdfmake Client/server side PDF printing in pure JavaScript 项目地址: https://gitcode.com/gh_mirrors/pd/pdfmake 在当今数字化办公环境中&#xff0c;企业机密文档的安全保护已成为重中之重。pdfmak…

作者头像 李华
网站建设 2026/4/27 10:49:53

Scrapegraph-ai终极安装指南:从零配置到高效运行

还在为Scrapegraph-ai的复杂依赖而头疼&#xff1f;是否在环境配置上耗费了大量时间&#xff1f;本文为你提供一套经过验证的完整安装方案&#xff0c;从基础环境搭建到高级功能配置&#xff0c;助你快速掌握这一强大的AI爬虫框架。 【免费下载链接】Scrapegraph-ai Python scr…

作者头像 李华
网站建设 2026/4/28 4:42:42

Ludusavi:终极游戏存档备份解决方案,让进度永不丢失

Ludusavi&#xff1a;终极游戏存档备份解决方案&#xff0c;让进度永不丢失 【免费下载链接】ludusavi Backup tool for PC game saves 项目地址: https://gitcode.com/gh_mirrors/lu/ludusavi 你是否曾因重装系统、更换电脑或意外删除而丢失了数百小时的游戏进度&#…

作者头像 李华
网站建设 2026/4/18 8:10:11

IPATool终极指南:5分钟掌握iOS应用IPA文件下载技巧

IPATool终极指南&#xff1a;5分钟掌握iOS应用IPA文件下载技巧 【免费下载链接】ipatool Command-line tool that allows searching and downloading app packages (known as ipa files) from the iOS App Store 项目地址: https://gitcode.com/GitHub_Trending/ip/ipatool …

作者头像 李华
网站建设 2026/4/25 12:37:28

ComfyUI智能字幕处理工具完整使用指南

ComfyUI智能字幕处理工具完整使用指南 【免费下载链接】ComfyUI_SLK_joy_caption_two ComfyUI Node 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI_SLK_joy_caption_two ComfyUI_SLK_joy_caption_two是一款专为ComfyUI平台设计的智能字幕生成工具&#xff0c;通…

作者头像 李华
网站建设 2026/4/26 21:57:04

一份不可多得的 《 C++ 刷算法》 教程指南

算法刷题中&#xff0c;C 凭借高效的执行效率、丰富的标准库&#xff08;STL&#xff09;成为主流选择。本教程聚焦刷题高频语法&#xff0c;摒弃冗余知识点&#xff0c;直击核心应用&#xff0c;帮助你快速掌握算法刷题所需的 C 语法工具。1. 关于 stdstd 是 C 标准库的命名空…

作者头像 李华