当前位置: 首页 > news >正文

C语言程序结构

程序的三种基本结构有顺序结构、分支结构(选择结构)、循环结构

1、分支结构

(1)if/else 的使用需要注意的是有if可以没有else,但是有else,在它之前就必须有对应的if条件判断;

if() { } else if() { } else { }

(2)switch/case 使用时需要注意的是switch()的括号里不能是实型变量也就是我们所用的浮点型整数,另外就是每个case判断后需加上break用于结束当前判断,如果当前没写,会依次执行下面的语句,直到遇到break或default。

switch() { case: break; case: break; default: }

三目运算符的使用方法如:条件判断 ? 结果1 :结果2;如果若条件判断为真则使用结果1,否则使用结果2。

2、循环结构

循环结构的实现有4种方式:for循环、while循环、do/while循环以及goto的方式都可以实现循环结构。

for循环

for(循环的初始化条件;循环的退出条件;循环执行后的补充条件) for括号里的三条语句是用分号(;)隔开的 { 循环体 } 例如: int main() { int i=0; int num=0; for(i=0;i<101;i++) { sum=sum+i或者sum+=i } printf("sum is %d\n",sum); //5050 return 0; }

while循环

int main() { int i=0; int sum=0 while(i<101) //while括号中就只有一个逻辑判断,为真(非零)则执行循环,为假(0)则退出循环,i必须需要变化,下面的i++必须要有,否则死循环。 { sum+=i; i++; } printf("sum is %d\n",sum); return 0; }

do/while循环,注意如果是do/while则do后面的循环体会在while条件判断前执行一次。

int main() { int i=0,sum=0; do { sum+=i; i++ }while(i<101); //语法规定这里必须加分号(;) printf("sum is %d\n",sum); return 0; }

goto的使用,为了避免逻辑混乱代码中应尽量减少goto的使用

int main() { int i=0,sum=0; loop: // 表示标签,不占内存 sum+=i; i++; if(i<101) { goto loop; //使用goto跳转到loop标签定位的位置继续向下顺序执行 } printf("sum is %d\n",sum); return 0; }

在循环结构中有时为了逻辑功能还常常会使用到break和continue这两个关键字,break表示跳出结束break所在的当前循环,所以当前循环将结束;而continue则表示结束它所在循环控制的本次循环,然后继续下一次循环。

int main() { int i=5; while(i--) { if(2==i) { break; //4,3 //continue; 4,3,1,0 } printf("%d ",i); } printf("\n"); return 0; }
http://www.jsqmd.com/news/1119391/

相关文章:

  • 红外与可见光图像融合相关期刊及会议推荐
  • 小学期学习——第七周
  • 业务收缩,先把关键能力留在组织里
  • GPT-5.4 Mini与Nano选型指南:任务分级驱动的工业级AI部署
  • 新能源车电机为何大都选择使用稀土永磁
  • Grok AI 全链路创作变现实战:十倍提效标准化自媒体工作流完整拆解
  • 三电平NPC整流器拓扑与PWM调制技术解析
  • 基于 Trae + DeepSeek 的 Vibe Coding 实践指南(三):视频 OCR SDK 接入详解
  • AI演示可信度评估:识别大模型宣传中的剪辑与幻觉
  • 从兰大AI水印事件看科研圈现状:通用AI不是科研AI,专业绘图得守新合规标准
  • ESP-01S+STM32F103C8T6 连接One net 一
  • 图论在社交网络分析中的3个核心应用:从理论到NetworkX实战
  • 3步完成E-Hentai画廊下载:免费高效的批量图片打包方案
  • 豆包vs Deepseek:大模型选型的四维决策框架
  • YOLO实时目标跟踪与检测融合技术:构建端到端的目标追踪系统
  • SteamShutdown智能管家:让电脑在游戏下载完成后自动休息的终极方案
  • Java 程序员第 44 阶段10:大模型微服务拆分,独立服务解耦便于扩容维护,安全审计服务:敏感词过滤与合规检查独立化
  • 机械除草产业深度复盘|技术精度拉满却大面积溃败,ROI回本周期才是农业科技终极生死线
  • 手把手教你学 Simulink——基于多标量控制(Multi‑Scalar / Multi‑D Control)的工业感应电机高效节能控制策略仿真
  • Tuya 网关与子设备架构:BLE、Zigbee、Thread、Matter 应该怎么挂到一个系统里?
  • Ubuntu安装Docker、Jenkins2026年版
  • 学生党AI工具选购指南:算清时间-金钱-效果三角账
  • 玩转 FANUC 测量系统参数:彻底解决测头引发的 930 报警
  • Kimi LeetCode 3459. 最长 V 形对角线段的长度 Java实现
  • Grok-3与Claude 3.5 Sonnet真实能力对比分析
  • 4. 应用编程---进程
  • YOLO小样本学习与少样本目标检测:突破数据匮乏场景下的检测瓶颈
  • 大模型选型避坑指南:上下文衰减、结构化守约与真实成本测算
  • 西门子S7-1200与V90伺服PTO控制详解
  • TVA在具身智能商业化部署中的技术突破(15)