自学C语言-7

第7章 循环控制

生活中总会有许多简单而重复的工作,为完成这些重复性工作,需要花费很多时间。使用循环语句来处理程序开发中简单、重复性的工作是最好不过的了。
本章致力于使读者了解while、do…while和for3种循环结构的特点,以及转移语句的相关内容。
本章的知识架构及重难点如下:
在这里插入图片描述

7.1 循环语句

程序在运行时可以通过判断、检验条件做出选择,帮我们解决许多问题。此处,程序还必须能够重复,也就是能反复执行一段指令,直到满足某个条件为止。例如,要计算一个公司的月消费额,就要将所有的消费金额依次相加。如果要计算全年的消费总额,还需要将1~12月的消费金额依次相加。这种重复的过程就称为循环。C语言中有3种循环语句,即while、do…while和for循环语句。循环结构是结构化程序设计的基本结构之一,因此熟练掌握循环结构是程序设计的基本要求。

7.2 while语句

使用while语句可以解决当某个条件满足时反复执行某个循环体的问题。其一般形式如下:

while(表达式)
{语句块(循环体)
}

while语句的执行流程图如图7.1所示。
while语句首先检验一个条件,也就是括号中的表达式。当条件为真时,就执行紧跟其后的循环体语句或者语句块。每执行一遍循环,程序都将回到while语句处,重新检验条件是否满足。如果一开始条件就不满足,则跳过循环体中的语句,直接执行后面的程序代码。如果第一次检验时条件满足,那么在第一次或其后的循环过程中,必须得有使条件为假的操作,否则循环将无法终止。

说明:
无法终止的循环常被称为死循环或者无限循环。

在这里插入图片描述
例如下面的代码:

while(iSum<100)
{iSum+=1;
}printf("iSum为:%d",iSum);

在这段代码中,while语句首先判断iSum变量是否小于常量100,如果小于100,为真,那么执行紧跟其后的循环语句块;如果不小于100,为假,那么跳过循环语句块中的内容直接执行printf语句。在循环语句块中,可以看到对其中的变量进行加1的运算,这里的加1运算就是循环结构中使条件为假的操作,也就是使得iSum不小于100,否则程序会一直循环下去。

误区警示:
学习时很容易在while语句后添加英文分号(;),从而导致编译报错。一定要注意,ifif...elsewhile语句的判断表达式后是没有分号的。

【例7.1】计算n~100的累加和(while版) 用户输入一个值,从这个值开始,依次与之后的连续若干个自然数相加,当该自然数大于100时结束,并输出这若干个自然数的和。这里用到while循环,代码如下:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/656851.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python绘制螺旋线

看书看到的&#xff0c;好有意思 import turtle colors [red,purple,blue,green,yellow,orange] t turtle.Pen() turtle.bgcolor(black) for x in range(360):t.pencolor(colors[x % 6])t.width(x/1001)t.forward(x)t.left(59) 这是效果图&#xff0c;真好看 import turtle …

React和Vue实现路由懒加载

在React和Vue中&#xff0c;实现路由懒加载&#xff08;Lazy Loading&#xff09;的方法和代码示例如下&#xff1a; React 在React中&#xff0c;你可以使用React.lazy和Suspense组件来实现路由懒加载。下面是一个简单的示例&#xff1a; import React, { Suspense } from …

新建VM虚拟机-安装centOS7-连接finalshell调试

原文 这里有问题 首先进入/etc/sysconfig/network-scripts/目录 cd /etc/sysconfig/network-scripts/ 然后编辑文件 ifcfg-ens33 vi ifcfg-ens33

时间复杂度解释

时空复杂度概述 首先o(1), o(n), o(logn), o(nlogn)是用来表示对应算法的时间复杂度,这是算法的时间复杂度的表示。不仅仅用于表示时间复杂度&#xff0c;也用于表示空间复杂度。 算法复杂度分为时间复杂度和空间复杂度。其作用&#xff1a; 时间复杂度是指执行这个算法所需要…

力扣712. 两个字符串的最小ASCII删除和

动态规划 思路&#xff1a; 假设 dp[i][j] 是 s1 长度 i 和 s2 长度 j 两个字符串的最小 ASCII 删除和&#xff1b;dp[i][j] 可以由&#xff1a; 如果 s1 的第 i 个字符&#xff08;s1[i - 1]&#xff09;和 s2 的第 j 个字符&#xff08;s2[j - 1]&#xff09;不相等&#xf…

Python中的递归函数是什么

Python 递归函数 递归的特性&#xff1a; 1.调用自身函数 2.有一个结束条件 3.递归效率不高&#xff0c;可能会导致栈溢出(函数调用是通过栈这种数据结构实现的&#xff0c;每进入一个函数调用&#xff0c;栈就会增加一层栈帧&#xff0c;函数每返回&#xff0c;栈就会减少…

idea项目如何上传gitee

1.先创建仓库 2.从gitee上面clone下来 3.配置一下git 4.在idea里面安装Gitee插件&#xff08;安装完插件重启一下&#xff09; 5.将项目提交到远程仓库 git->add->✔ 完后点击↗ 在码云如何获取token&#xff1f; 注&#xff1a;没有解决&#xff0c;有时间在继续研究

响应式Web开发项目教程(HTML5+CSS3+Bootstrap)第2版 例5-4 Document

代码 <!doctype html> <html> <head> <meta charset"utf-8"> <title>Document</title> </head><body> <canvas id"cavsElem" width"400" height"600">您的浏览器不支持Canvas…

“农村新型便民商店”成为电商下沉市场的新业态、新模式、新场景

“农村新型便民商店”成为电商下沉市场的新业态、新模式、新场景 文丨微三云营销总监胡佳东&#xff0c;点击上方“关注”&#xff0c;为你分享市场商业模式电商干货。 - 引言&#xff1a;从商务部、中华全国供销合作总社等9部门印发的《县域商业三年行动计划&#xff08;202…

FDTD的边界条件设置

PML边界条件 完美匹配层&#xff08;Perfectly Matched Layers&#xff0c;简称PML&#xff09;是一种高级吸收边界条件&#xff0c;在有限差分时域法&#xff08;Finite-Difference Time-Domain&#xff0c;简称FDTD&#xff09;模拟中被广泛应用、。PML旨在通过在仿真区域边…

vit细粒度图像分类(三)TRS-DeiT 学习笔记

1.摘要 细粒度图像分类任务由于自身存在的细微的类间差别和巨大的类内差别使其极具挑战性&#xff0c; 为了更好地学习细粒度图像的潜在特征&#xff0c; 该算法将知识蒸馏引入到细粒度图像分类任务中&#xff0c; 提出基于知识蒸馏与目标区域选取的细粒度图像分类方法&#xf…

面试相关|常见试题 or 易错题集合

&#x1f4eb; 作者简介&#xff1a;「六月暴雪飞梨花」&#xff0c;专注于研究Java&#xff0c;就职于科技型公司后端工程师 &#x1f3c6; 近期荣誉&#xff1a;华为云云享专家、阿里云专家博主、腾讯云优秀创作者 &#x1f525; 三连支持&#xff1a;欢迎 ❤️关注、&#x…

机器学习模型预测贷款审批

机器学习模型预测贷款审批 作者&#xff1a;i阿极 作者简介&#xff1a;数据分析领域优质创作者、多项比赛获奖者&#xff1a;博主个人首页 &#x1f60a;&#x1f60a;&#x1f60a;如果觉得文章不错或能帮助到你学习&#xff0c;可以点赞&#x1f44d;收藏&#x1f4c1;评论&…

Some Phases Collected For Writing FDS

1. user login and logout module 用户登录和登出模块 2. ⭐the module will allow user to 这个模块使得用户能够 3. when their session is complete 当他们的会话结束的时候 4. ⭐the module covers two primary functions 这个模块包括两个基本的功能 5. functiona…

app文字转语音功能,别人的免费插件

免费插件地址&#xff1a;MT-TTS离线语音合成 - DCloud 插件市场 1. 下载插件到本地&#xff0c;解压文件。 2. 将解压的文件放在项目的根目录新建的文件nativeplugins下。注意是解压后的文件内包含“android”目录&#xff0c;package.json文件等。否则读取不出来插件 3.在…

Linux安装Influxdb

Linux安装Influxdb 1、安装步骤1.1、安装Influxdb步骤1.2、Influxdb默认安装路径1.3、命令行操作Influxdb&#xff0c;建库&#xff0c;建用户1.3.1 进入influxdb命令行1.3.2 创建用户1.3.2 库查询和创建 1、安装步骤 1.1、安装Influxdb步骤 yum install -y wget #下载安装包…

华为C++笔试--拓扑排序

题目&#xff1a; 某部门在开发一个代码分析工具&#xff0c;需要分析代码模块之间的依赖关系&#xff0c;用来确定模块的初始化顺序、是否有循环依赖等问题。“批量初始化”是指次可以初始化一个或多个模块。例如模块1依赖模块2模块3也依赖模块2&#xff0c;但模块1和3没有依…

tritonserver学习之六:自定义c++、python custom backend实践

tritonserver学习之一&#xff1a;triton使用流程 tritonserver学习之二&#xff1a;tritonserver编译 tritonserver学习之三&#xff1a;tritonserver运行流程 tritonserver学习之四&#xff1a;命令行解析 tritonserver学习之五&#xff1a;backend实现机制 1、环境准备…

C/C++ (stdio.h)标准库详解

cstdio,在C语言中称为stdio.h。该库使用所谓的流与物理设备&#xff08;如键盘、打印机、终端&#xff09;或系统支持的任何其他类型的文件一起操作。 在本文将会通过介绍函数参数&#xff0c;举出实际的简单例子来帮助大家快速上手使用函数。 目录 一、流 二、库函数 1、F…

系统(产品)设计原则

引言 最近在写PRD时,经常会被问到一个问题:你是如何规避系统设计过程中的坑,避免了设计返工、开发返工和上线生产问题 ?后面想了想,大抵上是基于一些多年来总结的系统设计原则吧,本着好记性不如烂笔头,将这些经验一一记录下来,供后续与大家学习交流。 前端逻辑设计原则…