尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
【C语言】:从Hello World到三大基本结构
很多人学C语言的第一行代码都是printf(Hello World);。但回过头看这简单的代码里包含了预处理、主函数和返回值等基础概念。今天这篇文章我将复盘C语言入门阶段的核心内容从Hello World到分支、循环这三大基本结构。一、初识 C 语言程序结构#include stdio.h int main() { printf(Hello World!); return 0; }这段简单的代码其实每一句都有重要作用。①#include stdio.h---相当于一本书里面封装了很多库函数如果没有这本书计算机就不能够认识这些函数从而不能够执行你的命令。②int main()//告诉计算机从这里开始读③printf(Hello World); 黑景框输出Hello World! 中的内容也就是计算机给我的反馈。return 0;//告诉计算机在此结尾printf();a.当中无格式控制符就将中的内容打印在屏幕上b.当中有格式控制符如果后有一个变量则将变量空间中的值按格式控制符的形式打印在屏幕上注意main函数只能有一个二、基本数据类型数据类型字节大小格式控制符int4Byte%dshort2Byte%hdlong4Byte%ldlong long8Byte%lldchar1Byte%cfloat4Byte%fdouble8Byte%lf三、分支语句分支语句分为三种1.单分支if(表达式{语句}如果表达式为真则执行语句表达式不为真则不执行#include stdio.h int main() { int age 17; if (age 18) { printf(未成年); } return 0; }上面就是一个简单的单分支语句。2.双分支if(表达式{语句1}else{语句2}如果表达式为真则执行语句1表达式不为真则执行语句2#include stdio.h int main() { int age; printf(请输入年龄); scanf(%d, age); //输入年龄 if (age 18) //判断是否成年 { printf(成年了\n); } else { printf(未成年\n); } return 0; }3.多分支if(表达式{语句1}else if(表达式){语句2}else if(表达式){}必须强制性从第一个if开始去挨个判断4. 分支语句注意点① 在撰写判断条件表达式时 如果出现 的情况 优先将常量放置在左边②else 与其最近的if对齐③if后一定要加{}如果不加只包含一句四、循环语句循环语句也分为三种1.for循环这是我最常用的当我们明确的知道要跑几次的时候for循环是个很好的选择比如我知道要跑10次for (int i 0; i 10; i) { printf(这是第 %d 次打印\n, i 1); }所以for循环的基本结构为for (初始部分 终止部分 调整部分){//语句}每循环一次调整部分都会靠近终止部分一点直到循环结束。2.while循环不知道我到底要循环多少次只要满足条件就一直循环。基本结构while(表达式{语句}如果表达式为真则循环执行语句如果表达式为假则不执行比如一个猜数字游戏你不知道猜几次才会成功只要没猜对就可以一直猜。但是如果一开始条件就不满足它一次都不会执行。int guess 0; while (guess ! 8) { printf(猜错了请重新输入); scanf(%d, guess); }● 这里我想解释一下为什么刚开始要给guess赋值为0因为我学习的时候老是忘记这一点。首先我们申请了一个变量guess在C语言当中变量相当于一个盒子当我写下int guess的时候就相当于我申请了一个只能放整形的盒子但是我如果不给他赋值计算机就会给他一个随机值。假设我没有给他赋值计算机给她一个随机值20那么对循环不会有影响还是可以继续执行但是如果计算机一开始给它的随机值是8呢那循环还没进去就结束了一次都不会执行就达不到我们想要的效果了。需要注意的是不是每个while循环都要赋初值为0需要考虑实际情况以及代码所实现的功能来调整。3. do while 循环这个循环的与前两个的不同点是do while 循环他是先执行一次代码再去做判断也就是说不管条件真假循环里面的代码至少会执行一次。基本结构do {语句;} while (条件表达式);//注意while表达式后面要加分号do while 在代码编写中需要菜单时用的比较多五、break 和continue通常在我们写循环语句时会和breakcontinue搭配使用。break: 直接强制跳出整个循环。只要遇到break后面的循环次数就统统取消直接跳到循环外面。continue跳出当前所有代码重新进入循环他没有直接跳出循环只是结束了本次训环。注意while循环中要避免使用continuecontinue可能会调整部分让他不在靠近终止部分造成不必要的死循环举个int i 1; while (i 10) { if (i 5) { continue; // 遇到5就跳回开头 } printf(%d , i); i; }这个代码就有个bug 进入循环后i1,满足条件继续向他走i,i变成2以此类推当i加到5时满足条件进入循环if判断为真continue跳过后面的代码重新进入循环这时候i并没有执行后面的 i,因此他还是5然后继续循环遇到continu这样就形成了一个死循环。最后写一个简单的使用了break的例子int main() { int my_password; printf(请输入你的密码(5位)); scanf(%d, my_password); printf(密码设置成功\n); int i 1; while (i 5) { int password; printf(请输入密码(5位)); scanf(%d, password); if (password my_password) { printf(密码正确\n); break; } else { printf(请重新输入密码您还有%d次机会\n, 5 - i); } i; if (i 6) { printf(密码错误累计五次手机已锁定\n); break; } } return 0; }五次密码都输入错误输入成功
RELATED

相关推荐

2D视觉大模型蒸馏赋能3D点云分割

2D视觉大模型蒸馏赋能3D点云分割

简介:本资源是一个基于视觉基础模型(VFM)知识蒸馏的点云分割框架Seal,面向自动驾驶、三维感知领域的算法工程师与研究生,解决汽车点云在无标注条件下跨场景、跨模态的泛化分割难题。项目通过相机-LiDAR对齐与点-片段一…

📅 2026/10/18 15:38:43
图像处理与计算机视觉技术综述:从像素到语义的工程实践指南

图像处理与计算机视觉技术综述:从像素到语义的工程实践指南

简介:这份PPT综述面向计算机、人工智能及相关专业的学习者与入门研究者,系统梳理图像处理与计算机视觉的概念脉络、发展历程与系统构成,帮助读者建立从二维图像分析到三维场景理解的完整知识框架。压缩包内仅含1个PPT文件,约1.55M…

📅 2026/10/18 15:33:43
别再把 CLAUDE.md 写成臃肿的垃圾 Prompt:Claude Code 工程化项目结构最佳实践与 TaoToken 统一接入

别再把 CLAUDE.md 写成臃肿的垃圾 Prompt:Claude Code 工程化项目结构最佳实践与 TaoToken 统一接入

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/10/18 15:33:43
MORE NEWS

更多资讯

📰

QGC二次开发:从自定义面板到MAVLink消息

简介:这是一份面向初学者的QGC(QGroundControl)二次开发入门项目代码,适合具备少量C与QT基础、希望掌握无人机地面站定制与功能扩展的开发者。压缩包内共3个文件,包含inscode项目配置、html说明页面及gitignore文件&am…

📰

BrowserSkill:Chrome 浏览器原生 CLI 编程工具

1. 项目概述:BrowserSkill 是什么,它解决的不是“浏览器自动化”,而是开发者工作流的物理层重构BrowserSkill(常缩写为 bsk)不是又一个 Selenium 封装库,也不是 Puppeteer 的 CLI 包装器。我第一次在内部工…

📰

智能风控AI决策引擎架构实战:从0到1搭建实时拦截系统

智能风控AI决策引擎的架构实战:拆解一个实时拦截系统的设计与落地做风控架构这行久了,你会发现一个很残酷的现实:市面上讲风控模型算法的文章车载斗量,但真正把“决策引擎”从0到1搭起来、还能稳定扛住高并发和业务迭代的实战经验…

📰

飞控计算机硬实时操作系统核心机制与工程选型全解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

Agent Skills实战:五个高复用技能封装与自定义教程

最近在项目里被 Agent 折腾到差点怀疑人生。模型明明很聪明,可一旦让它处理多步任务,它就开始抓瞎:会写代码但不会先做计划,会搜资料但看不懂哪段有用,会回答知识库问题但每次都没出处。后来我把一套 Agent Skills 逐步…

📰

AIGC痕迹检测全解析:从检测原理到降重实操策略

1. 毕业季的“隐形大考”:从论文写作到AIGC痕迹检测最近这段时间,我身边不少朋友和学生都在为一件事头疼——毕业论文。比起开题、实验、数据分析这些常规关卡,今年多了一道让他们格外焦虑的坎:AIGC痕迹检测。坦白说,这…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬