C语言常见概念(续)
本文承接《C语言常见概念》整理 Git/Gitee 基础操作以及 C 语言的结构化程序设计、语句和注释。五、Git、Gitee 与 TortoiseGit5.1 GitGit 是一种开源的分布式版本控制系统主要用于记录文件的历史变化、管理不同版本并支持多人协作。Git 仓库可以同时存在于本地和远程服务器上。5.2 GiteeGitee 是代码托管平台可以创建远程 Git 仓库用于保存和共享项目代码。Gitee 本身不是版本控制系统而是 Git 远程仓库的一种托管服务。5.3 TortoiseGitTortoiseGit 是 Git 的图形化客户端通过图形界面调用 Git 完成克隆、提交、推送等操作。它不能替代 Git 仓库也不等同于 Gitee。名称类型主要作用Git版本控制系统管理代码版本和提交历史Gitee代码托管平台提供远程仓库和协作服务TortoiseGit图形化客户端通过图形界面执行 Git 操作六、Gitee 仓库的基本操作6.1 创建仓库在 Gitee 上创建远程仓库设置仓库名称、可见性等信息。创建完成后可以获得仓库地址用于后续克隆和推送。6.2 克隆仓库克隆会将远程仓库复制到本地同时建立本地仓库与远程仓库之间的关联。git clone 仓库地址6.3 提交代码Git 的提交分为本地提交和远程推送两个阶段使用git add将修改加入暂存区使用git commit创建本地提交使用git push将本地提交推送到远程仓库。git add 文件路径 git commit -m docs: update documentation git pushcommit只会修改本地仓库push才会更新远程仓库。6.4 忽略不需要提交的文件编译产生的可执行文件、目标文件、IDE 配置目录等通常不应提交到仓库可以在项目根目录的.gitignore文件中配置忽略规则。*.exe *.obj .vs/ .idea/ x64/.gitignore只对尚未被 Git 跟踪的文件生效。已经提交过的文件即使匹配忽略规则仍需要先从版本库中移除跟踪。6.5 删除仓库中的文件删除本地文件后可以使用git rm同时删除工作区文件和 Git 暂存区中的记录然后提交并推送git rm 文件路径 git commit -m chore: remove unused file git push6.6 更新仓库中的文件修改文件后重新执行git add、git commit和git push即可发布更新。在多人协作时提交前应先获取远程最新内容并处理可能的冲突。git pull git add 文件路径 git commit -m docs: update content git push6.7 删除远程仓库删除远程仓库会影响仓库中的代码、提交历史和协作者访问权限。执行前应确认仓库地址和操作对象并提前备份需要保留的内容。七、C语言程序的基本结构C 语言支持结构化程序设计。结构化程序通常由以下三种基本控制结构组成顺序结构、选择结构和循环结构。7.1 顺序结构程序按照语句在源代码中的先后顺序依次执行。没有分支和循环时程序通常采用顺序结构。7.2 选择结构程序根据条件选择不同的执行路径常用语句包括if根据条件执行一个或两个分支switch根据整型或枚举表达式的值选择case分支。7.3 循环结构程序在满足条件时重复执行一段代码常用语句包括while先判断条件再决定是否执行循环体do...while先执行一次循环体再判断条件因此循环体至少执行一次for适合处理初始化、条件判断和迭代过程比较明确的循环。八、C语言语句语句是完成一个操作或控制流程的基本单位。大多数简单语句以分号结尾复合语句则使用一对花括号组成代码块。8.1 常见语句类型#include stdio.h static int add(int left, int right) { return left right; } int main(void) { ; /* 空语句 */ int left 2; int right 3; int total add(left, right); /* 声明、初始化和函数调用 */ printf(total %d\n, total); /* 函数调用表达式语句 */ { total; } /* 复合语句代码块 */ return 0; }例如int ret add(2, 3);同时包含变量声明、初始化和函数调用其中add必须在使用前声明或定义。8.2 控制语句控制语句用于改变程序的执行流程主要分为以下三类选择语句if、switch迭代语句while、do...while、for跳转语句break、continue、goto、return。8.3 跳转语句的区别语句作用break立即结束所在的最近一层循环或switchcontinue跳过本轮循环剩余代码进入下一轮循环goto跳转到同一函数内指定的标签位置应谨慎使用return结束当前函数有返回值的函数可以同时返回结果实际编写控制结构时应根据问题选择合适的语句并注意 break、continue、goto 和 return 对执行流程的不同影响。九、C语言注释注释用于说明代码供程序员阅读不参与程序的运行逻辑。C 语言在预处理阶段会将注释替换为空格因此注释通常不会产生运行时效果。9.1 单行注释使用//从注释符开始到当前行末尾的内容。//注释从 C99 标准开始被标准化。int count 10; // 记录当前数量9.2 块注释使用/*和*/包围一段注释可以跨越多行也可以插入代码行中间。/* * 这是一段块注释。 * 可以写多行说明。 */ int result 0;块注释不能嵌套。下面的写法不能按嵌套注释理解容易造成编译错误或产生与预期不同的结果/* 外层注释 /* 内层注释 */ 外层注释 */注释符出现在字符串字面量中时只是普通字符不会被当作注释printf(// 和 /* */ 在字符串中只是文本\n);注释应说明代码的目的、约束和容易误解的地方不宜逐行重复代码本身。注释内容应随着代码行为变化及时更新。十、易混淆知识点总结易混淆内容正确理解Git 与 GiteeGit 负责版本控制Gitee 提供远程仓库托管commit与pushcommit保存本地历史push上传到远程仓库while与do...whilewhile可能一次也不执行do...while至少执行一次break与continuebreak结束循环continue只结束本轮循环//与/* ... */前者通常用于单行注释后者用于块注释且不能嵌套

相关新闻

电源序列(Power Sequencing)与热插拔(Hot-Swap)

电源序列(Power Sequencing)与热插拔(Hot-Swap)

目录 一、电源序列(Power Sequencing) 1. 为什么需要电源序列 2. 核心原理 3. 实现方式 4. 典型流程(以服务器主板为例) 二、热插拔(Hot-Swap) 1. 为什么需要热插拔 2. 核心原理 3. Hot-Swap 控制…

2026/9/24 17:56:47 阅读更多 →
FAST perfHint 调了却没提速:BEGIN/END、SceneType 与 tids 三个边界

FAST perfHint 调了却没提速:BEGIN/END、SceneType 与 tids 三个边界

FAST perfHint 调了却没提速:BEGIN/END、SceneType 与 tids 三个边界 页面切换时调用了 schedulingOptimization.perfHint,埋点也显示成功,卡顿曲线却几乎没变化。最常见的原因不是接口“没用”,而是提示覆盖错了时间段&#xff…

2026/9/24 17:56:47 阅读更多 →
hello-agents第九章上下文工程

hello-agents第九章上下文工程

课程链接Hello-Agents 通过对上下文工程技术从理论到实践的学习,基本理解构建长时间跨度内任务且能够保持连贯性和有效性的智能体的设计方式。 智能体通过 NoteTool和MemoryTool 保持了跨多天、多个会话的任务连贯性;ContextBuilder 管理上下文&#xff…

2026/9/24 17:56:47 阅读更多 →

最新新闻

ROS场景下IaC选型:托管Terraform服务与原生Terraform深度对比

ROS场景下IaC选型:托管Terraform服务与原生Terraform深度对比

1. 从一次选型纠结说起:ROS 场景下的 IaC 到底该怎么选 如果你既写过机器人操作系统(ROS)相关的部署脚本,又碰过云上基础设施,那你大概率在某个时刻被同一个问题卡住过: ROS 那一堆节点、仿真环境、数据回…

2026/9/24 18:46:26 阅读更多 →
docker compose down 深度解析:容器清理、数据卷保留与实战排障

docker compose down 深度解析:容器清理、数据卷保留与实战排障

用过 Docker Compose 的人都见过这个画面:服务跑完,一条docker compose down敲下去,终端刷刷刷输出一堆容器名和网络名被移除,看起来干干净净,然后你顺手docker ps -a一看,发现一堆Exited状态的容器还在列表…

2026/9/24 18:46:26 阅读更多 →
Debian控制结构实战:用if/for/while/case打造高效运维脚本

Debian控制结构实战:用if/for/while/case打造高效运维脚本

聊 Debian 的 control structures(控制结构),很多人第一反应是语法:if 后面要加 then,for 循环里变量怎么取值,case 的右括号要不要双写。可我在 Debian 上写脚本写了这么多年,发现真正的门槛从…

2026/9/24 18:46:26 阅读更多 →
智能问答系统文件存储选型与MinIO集成实战指南

智能问答系统文件存储选型与MinIO集成实战指南

最近在做一个智能问答系统,文档上传和文件存储这条链路折腾了我好几周。最开始图省事,所有PDF、Word、图片直接落在本机磁盘,配个Nginx别名路径就完事。结果一上线问题全来了:预览打不开、文件下载到一半断线、多台机器部署后文件…

2026/9/24 18:46:26 阅读更多 →
CentOS 7上用Docker部署Redis与PostgreSQL完整指南

CentOS 7上用Docker部署Redis与PostgreSQL完整指南

最近在测试环境要搭一套缓存加关系型数据库的组合,顺手把整个流程从零到一完整走了一遍。今天就以 CentOS 7 为底,把 Docker 装好,再用 Docker 把 Redis 和 PostgreSQL 跑起来。整个过程其实就是一条命令链,但中间值得注意的坑不少…

2026/9/24 18:46:26 阅读更多 →
JSP健身房管理系统拆解:从数据库设计到部署排障全流程

JSP健身房管理系统拆解:从数据库设计到部署排障全流程

1. 项目概述与系统定位 1.1 这套健身房管理系统到底能干什么 很多技术社区的朋友最近都在问:拿到一套JSP健身房管理系统的源码之后,到底该怎么看、怎么改、怎么把它跑起来?今天我就以这套典型的课程设计项目为样例,把整个分析过程…

2026/9/24 18:45:25 阅读更多 →

日新闻

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为…

2026/9/24 0:00:19 阅读更多 →
单细胞注释实战:基于Scanpy的标记基因与参考映射流程解析

单细胞注释实战:基于Scanpy的标记基因与参考映射流程解析

简介:一份基于单细胞RNA测序数据的细胞类型注释算法研究Python毕业设计源码,针对计算机相关专业正在做毕设或需要项目实战的学习者,可用于课程设计与期末大作业。项目代码完整、经导师指导评审通过,可直接运行,覆盖数据…

2026/9/24 0:00:19 阅读更多 →
C#源生成器实战:用增量生成器替代反射,告别AOT崩溃

C#源生成器实战:用增量生成器替代反射,告别AOT崩溃

第一次在项目里被反射卡住,是在一个老旧的WinForms模块里:几十个类依赖PropertyChanged通知,运行时反射读属性、发通知,每次启动慢半拍不说,一上.NET Native/AOT裁剪模式几乎全面崩盘。后来我把这段逻辑全部改成C#源生…

2026/9/24 0:00:19 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/24 14:34:13 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/24 9:10:42 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/24 14:33:56 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/24 12:50:34 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/24 14:33:48 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/24 12:49:17 阅读更多 →