C语言三大程序结构 & 单分支语句

核心概念:程序就像流水线,通过顺序、选择、循环三种结构完成复杂任务


🌟 一、三大程序结构图解

结构类型 形象比喻 代码示例
顺序 直行马路 → 不拐弯 printf("A"); printf("B");
选择 岔路口 → 二选一 if...else
循环 环形跑道 → 重复绕圈 for/while

🔍 二、选择结构:if语句完全指南

1. 基础语法(单分支)
复制代码
if(条件表达式) {
   语句1; // 条件成立时执行
} else {
   语句2;// 条件不成立时执行
}
2. 真假判断核心规则
  • :任何非0值(负数、正数)

  • 0(唯一假值)

3. 实战案例:年龄验证
复制代码
int age = 17;
if(age >= 18) {
    printf("允许进入网吧\n");  // 条件成立执行
} 
else
 {
    printf("未成年人禁止入内\n"); // 条件不成立执行
 }
// 输出:未成年人禁止入内

⚠️ 三、多条件判断避坑指南

🚫 错误写法
复制代码
if(10 < age < 20) ❌ // 错误!编译器会误解为 (10 < age) < 20
正确写法
复制代码
// 判断年龄在(10,20)区间
if(age > 10 && age < 20) { ✅ 
    printf("青少年模式\n");
}

// 判断年龄≤10 或 ≥60
if(age <= 10 || age >= 60) { ✅
    printf("特殊关爱人群\n");
}
🔑 逻辑运算符详解

| 运算符 | 名称 | 规则 | 示例 |
|------|-----|-----------------|------------------------|---|---|---|---|
| && | 逻辑与 | 两边为真 → 结果真 | (5>3) && (2<4) → 1 |
| || | 逻辑或 | 任意一边为真 → 结果真 | (5<3)(2<4) → 1 | ||||
| ! | 逻辑非 | 取反操作 | !(5>3) → 0 |


💼 四、代码块规范(职业习惯培养)

🚨 不良习惯(易出错)
复制代码
if(age > 18)
    printf("成年\n");  // 只有这一句属于if
    printf("可办信用卡\n"); // 此句永远执行 ❌
💡 规范写法(推荐)
复制代码
if(age > 18) { ✅
    printf("成年\n");
    printf("可办信用卡\n"); // 两句都在if控制内
} else {
    printf("未成年\n");
}

🌈 五、多分支结构扩展

复制代码
int score = 85;
if(score >= 90) {
    printf("A级\n");
} 
else if(score >= 80) {  // 前条件不满足时检查
    printf("B级\n");      // 本例输出:B级
} 
else if(score >= 60) {
    printf("C级\n");
} 
else {
    printf("不及格\n");
}

📝 六、总结表格

要点 正确写法示例 常见错误
单条件判断 if(a > 10) if(a > 10); ❌(多分号)
多条件区间判断 a>10 && a<20 10<a<20
代码块规范 使用{}包裹多语句 省略{}导致作用域错误
多分支结构 if...else if...else 漏写else导致逻辑漏洞

💡 学习技巧

  1. 遇到条件判断先画流程图

  2. 测试边界值(如age=18, score=60)

  3. 使用调试工具逐行观察执行过程

掌握这些核心要点,你就能轻松玩转条件判断啦! 🚀

相关推荐
Benmao⁢2 小时前
C语言期末复习笔记
c语言·开发语言·笔记·leetcode·面试·蓝桥杯
咕咕嘎嘎10243 小时前
C++六个默认成员函数
c++
亭上秋和景清4 小时前
指针进阶:函数指针详解
开发语言·c++·算法
胡萝卜3.04 小时前
C++现代模板编程核心技术精解:从类型分类、引用折叠、完美转发的内在原理,到可变模板参数的基本语法、包扩展机制及emplace接口的底层实现
开发语言·c++·人工智能·机器学习·完美转发·引用折叠·可变模板参数
9ilk4 小时前
【C++】--- C++11
开发语言·c++·笔记·后端
FMRbpm4 小时前
队列练习--------最近的请求次数(LeetCode 933)
数据结构·c++·leetcode·新手入门
biter down5 小时前
C++ 函数重载:从概念到编译原理
开发语言·c++
ZouZou老师6 小时前
C++设计模式之解释器模式:以家具生产为例
c++·设计模式·解释器模式
无限进步_6 小时前
深入理解 C/C++ 内存管理:从内存布局到动态分配
c语言·c++·windows·git·算法·github·visual studio
JANGHIGH6 小时前
c++ 多线程(三)
开发语言·c++