返回 课程

信奥AC之路-1级

0% 完成
0/0 步骤
  1. 第1课 开发环境与基础输出
    5 主题|小节
  2. 第2课 算术运算符
    7 主题|小节
  3. 第3课 printf与运算输出
    7 主题|小节
  4. 第4课 数的进制与拆位
    6 主题|小节
  5. 第5课 变量与基础运算
    17 主题|小节
  6. 第6课 常量与取整运算
    8 主题|小节
  7. 第7课 关系运算
    8 主题|小节
  8. 第8课 逻辑运算
    9 主题|小节
  9. 第9课 输入与计算进阶
    10 主题|小节
  10. 第10课 if语句及双分支语句
    8 主题|小节
  11. 第11课 if语句及双分支进阶
    11 主题|小节
  12. 第12课 三目运算
    9 主题|小节
  13. 第13课 多分支、多if和switch语句
    11 主题|小节
  14. 第14课 循环(基本输出)
    7 主题|小节
  15. 第15课 循环(While+If)
    8 主题|小节
  16. 第16课 循环(计数、求和、求乘积)
    10 主题|小节
  17. 第17课 循环进阶(While+)
    8 主题|小节
  18. 第18课 do-while及while其他用法
    8 主题|小节
  19. 第19课 For循环基础
    9 主题|小节
  20. 第20课 For循环进阶
    8 主题|小节
课 15, 主题|小节 2
进行中

15.1 While+If 的基本概念

2025年9月22日
课 进展
0% 完成

15.1.1 结合if的作用

“小朋友们,为什么要在循环中使用if条件判断呢?”我抛出问题,”因为在遍历数据时,我们常常只对满足特定条件的数据进行处理,而其他数据则跳过。if语句让我们能够实现这种选择性处理。”

基本语法

while(条件语句){
    if(条件语句){
        执行语句1
    }
    执行语句2
}

执行语句2在while条件语句成立的情况下就会执行

执行语句1在while条件语句和if条件语句同时成立的情况下才会执行

例如,如果我们要输出1到100中所有的偶数,可以这样写:

int i = 1;
while(i <= 100) {
    if(i % 2 == 0) { // 条件判断:i是否为偶数
        cout << i << " ";
    }
    i++;
}

在这个例子中,循环会从1遍历到100,但只有当i是偶数时(i % 2 == 0),才会输出i的值。

15.1.2 筛选条件设计

“设计筛选条件是while+if组合使用的关键!”我强调道,”常见的筛选条件包括:

  1. 整除条件:如 i % 2 == 0(2的倍数,即偶数)
  2. 不整除条件:如 i % 3 != 0(不是3的倍数)
  3. 多条件结合:如 i % 2 == 0 && i % 3 != 0(是2的倍数但不是3的倍数)
  4. 数字特征:如 i / 10 % 10 > i % 10(十位数字大于个位数字)
  5. 位数和:如 (i / 10 % 10 + i % 10) % 2 == 0(十位和个位数字之和为偶数)