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

CExercise_1_4continue关键字在while循环和for循环中,实现的功能有什么区别?

题目:

以上两段代码中都使用了continue关键字,一个使用while循环实现,一个使用for循环实现。
那么它们实现的功能有什么区别呢?为什么有这样的区别呢?

int count = 0;
int sum = 0;
int i;
while (count < 5) {
    scanf("%d", &i);
    if (i == 0) {
        // 输入0就不必要累加了
        continue;
    }
    sum += i;
    count++;
}
printf("sum = %d\n", sum);

int sum = 0;
int i;
for (int count = 0; count < 5; count++) { 
    scanf("%d", &i);
    if (i == 0) {
        // 输入0就不必要累加了
        continue;
    }
    sum += i;
}
printf("sum = %d\n", sum);

分析:

在这里插入图片描述

:这两段代码的主要目的都是通过用户输入累加五个非零整数,并输出这些数的总和。然而,它们在处理输入为0的情况时的行为有显著差异,这是由它们的循环结构和条件处理决定的:

第一段代码(使用 while 循环)

这段代码使用 while 循环,在变量 count 达到5之前持续循环,所以就一共循环五次,接受五次键盘输入。

如果用户输入的是 0,则通过 continue 语句跳过当前循环的剩余部分,不对 sum 进行累加,也不增加 count 的值。这意味着这个循环会一直执行,直到用户输入了五个非零的整数为止。

总之,第一段代码总会累加五个非零整数的输入求和。

第二段代码(使用 for 循环)

这段代码使用 for 循环,明确循环五次,每次循环 count 会自增。

如果输入的是 0,同样通过 continue 跳过当前循环的剩余部分,不累加 sum。但由于 count 是在 for 语句的控制下自动增加的,所以即便sum不累加但count还是会累加的。

总之,第二段代码只接受5次键盘录入,不管录入什么,非0还是0都可以,然后求和,在求和的过程中,如果输入的是0,不进行累加操作。

这两段代码的核心差异在于:

循环次数:while 版本将确保至少有五个非零输入被累加;for 版本总共执行五次输入,不管输入值是什么。

结束条件:while 循环是基于非零输入的数量,而 for 循环是严格的五次循环。

http://www.dtcms.com/a/111502.html

相关文章:

  • Neo4j操作数据库(Cypher语法)
  • NO.61十六届蓝桥杯备战|基础算法-双指针|唯一的雪花|逛画展|字符串|丢手绢(C++)
  • 管理系统 UI 设计:提升企业办公效率的关键
  • (多看) CExercise_05_1函数_1.2计算base的exponent次幂
  • 花卉识别分类系统,Python/resnet18/pytorch
  • MySQL简介
  • 大钲资本押注儒拉玛特全球业务,累计交付超2500条自动化生产线儒拉玛特有望重整雄风,我以为它破产倒闭了,担心很多非标兄弟们失业
  • SpringBoot配置文件多环境开发
  • 空中无人机等动态目标识别2025.4.4
  • Nacos注册中心AP模式核心源码分析(单机模式)
  • 前端知识点---本地存储(javascript)
  • IObit Uninstaller:深度清理残留文件
  • 黑马点评_知识点
  • #Liunx内存管理# 在32bit Linux内核中,用户空间和内核空间的比例通常是3:1,可以修改成2:2吗?
  • Flutter 手搓日期选择
  • 浅析联咏NT9856X各种LCD显示屏接口技术
  • 操作系统(三):FreeRTOS实时性机制分析
  • 音视频(四)android编译
  • 【2019】【论文笔记】高resolution无透镜的THz成像和测距——
  • antvX6节点全选后鼠标通过拖拉调整视图的展示位置
  • 基于springboot微信小程序的旅游攻略系统(源码+lw+部署文档+讲解),源码可白嫖!
  • 码曰编程大模型-学编程的好工具
  • 【嵌入式学习4】模块、包、内置模块、异常
  • CherryStudio MCP实战(一)filesystem篇
  • Cmake:Win10 如何编译 midifile C++应用程序
  • leetcode 数组总结篇
  • 湖北师范大学计信学院研究生课程《工程伦理》12.6章节练习
  • 离线部署kubesphere(已有k8s和私有harbor的基础上)
  • 鸿蒙 harmonyOS 网络请求
  • AWS云安全基线:构建企业级安全防护体系的完整指南