news 2026/6/10 13:59:29

小白也能懂的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/6/10 13:34:15

RS ASIO终极指南:彻底解决摇滚史密斯音频延迟

RS ASIO终极指南&#xff1a;彻底解决摇滚史密斯音频延迟 【免费下载链接】rs_asio ASIO for Rocksmith 2014 项目地址: https://gitcode.com/gh_mirrors/rs/rs_asio 还在为《摇滚史密斯2014重制版》的音频延迟而烦恼&#xff1f;专业级的ASIO音频驱动技术或许正是你需要…

作者头像 李华
网站建设 2026/6/10 13:00:16

基于SPI的ST7789V驱动实现:完整指南

从零构建ST7789V彩色屏驱动&#xff1a;SPI通信实战与深度调优你有没有遇到过这样的场景&#xff1f;精心焊接的TFT小屏幕&#xff0c;接上MCU后却只显示一片花白、黑屏无反应&#xff0c;或者颜色发紫失真。调试数小时&#xff0c;翻遍数据手册&#xff0c;最后发现只是初始化…

作者头像 李华
网站建设 2026/6/10 12:54:02

Aimmy终极指南:AI瞄准辅助工具的完整实战手册

为什么选择Aimmy&#xff1a;重新定义游戏辅助体验 【免费下载链接】Aimmy Universal Second Eye for Gamers with Impairments (Universal AI Aim Aligner - YOLOv8) 项目地址: https://gitcode.com/gh_mirrors/ai/Aimmy 在竞技游戏的世界中&#xff0c;精准瞄准往往决…

作者头像 李华
网站建设 2026/6/10 12:55:23

高效设计协作:Sketch Measure插件完整实战手册

高效设计协作&#xff1a;Sketch Measure插件完整实战手册 【免费下载链接】sketch-measure Make it a fun to create spec for developers and teammates 项目地址: https://gitcode.com/gh_mirrors/sk/sketch-measure Sketch Measure插件作为专业的UI设计标注工具&…

作者头像 李华
网站建设 2026/6/10 12:59:11

FileConverter:Windows右键菜单的终极文件转换方案

FileConverter&#xff1a;Windows右键菜单的终极文件转换方案 【免费下载链接】FileConverter File Converter is a very simple tool which allows you to convert and compress one or several file(s) using the context menu in windows explorer. 项目地址: https://gi…

作者头像 李华
网站建设 2026/6/10 12:57:00

5个HTML转PDF常见痛点,html-to-pdfmake如何轻松解决?

你是不是也遇到过这样的困扰&#xff1a;精心设计的HTML页面在转换为PDF时样式全乱套了&#xff1f;表格跨行跨列完全错位&#xff1f;图片要么不显示要么分辨率惨不忍睹&#xff1f;别担心&#xff0c;html-to-pdfmake这个神器正是为你量身打造的解决方案&#xff01; 【免费下…

作者头像 李华