news 2026/7/12 3:30:03

小白也能懂的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/7/5 14:05:15

终极抢票指南:如何快速获取热门演出门票

终极抢票指南&#xff1a;如何快速获取热门演出门票 【免费下载链接】showstart-checkout 秀动抢票 辅助 捡漏 项目地址: https://gitcode.com/gh_mirrors/sh/showstart-checkout 还在为心仪的演出门票秒光而懊恼&#xff1f;面对数万人同时抢票的激烈竞争&#xff0c;传…

作者头像 李华
网站建设 2026/7/1 9:50:37

终极屏幕录制工具完整使用指南:快速上手专业级录制

终极屏幕录制工具完整使用指南&#xff1a;快速上手专业级录制 【免费下载链接】QuickRecorder A lightweight screen recorder based on ScreenCapture Kit for macOS / 基于 ScreenCapture Kit 的轻量化多功能 macOS 录屏工具 项目地址: https://gitcode.com/GitHub_Trendi…

作者头像 李华
网站建设 2026/7/9 11:18:25

Dify可视化界面实测:非技术人员也能玩转AI开发

Dify可视化界面实测&#xff1a;非技术人员也能玩转AI开发 在智能客服响应慢、知识库更新滞后、每次调整都要等开发排期的今天&#xff0c;你有没有想过——一个不懂代码的产品经理&#xff0c;能不能自己动手搭建一套能查订单、懂政策、还会写回复的AI助手&#xff1f; 这听…

作者头像 李华
网站建设 2026/7/1 9:33:04

5大实战技巧:轻松掌握系统重装的艺术

5大实战技巧&#xff1a;轻松掌握系统重装的艺术 【免费下载链接】reinstall 又一个一键重装脚本 项目地址: https://gitcode.com/GitHub_Trending/re/reinstall 还在为服务器系统重装而头疼&#xff1f;面对复杂的命令行操作和繁琐的配置步骤&#xff0c;很多技术爱好者…

作者头像 李华
网站建设 2026/7/11 7:52:53

手把手教你部署Open-AutoGLM,2小时快速搭建AI自动化系统

第一章&#xff1a;智普Open-AutoGLM项目概述 智普AI推出的Open-AutoGLM是一个面向自动化自然语言处理任务的开源框架&#xff0c;旨在降低大模型应用开发门槛&#xff0c;提升从数据准备到模型部署的全流程效率。该项目基于GLM系列大语言模型构建&#xff0c;支持零样本、少样…

作者头像 李华
网站建设 2026/7/1 20:45:24

解锁系统重装新境界:一键自动化工具的完整实战指南

解锁系统重装新境界&#xff1a;一键自动化工具的完整实战指南 【免费下载链接】reinstall 又一个一键重装脚本 项目地址: https://gitcode.com/GitHub_Trending/re/reinstall 还在为服务器系统重装而烦恼吗&#xff1f;传统的系统重装过程不仅耗时耗力&#xff0c;还容…

作者头像 李华