文档章节

C primer plus 第5章 运算符、表达式和语句 5.1循环简价

idreamo
 idreamo
发布于 2016/05/17 06:10
字数 666
阅读 128
收藏 0

5.1 循环简介

程序清单5.1显示了一个示例程序,该程序做了一点运算来计算穿9码鞋(男人的)脚用英寸表示的长度。为了增加您对循环的理解,程序的第1版演示了不使用循环编程的局限性。

程序清单5.1

/*shoes.c--把一双鞋的鞋码转换成英寸*/
#include <stdio.h>
#define ADJUST 7.64
#define SCALE 0.325

int main()
{
    double shoe,foot;
    shoe=9.0;
    foot=SCALE*shoe+ADJUST;
    printf("Shoe size(men's) foot length\n");
    printf("%10.1f %15.2f inches\n",shoe,foot);
    return 0;
}

该程序假设您穿9码鞋,然后告诉您用英寸表示您的脚是多长。

程序清单5.2给出了使用while循环改进后的方法。

/*shoes2.c--计算多个鞋码对的英寸长度*/
#include <stdio.h>
#define ADJUST 7.64
#define SCALE 0.325
int main()
{
    double shoe,foot;
    printf("Shoe size(men's)foot length\n");
    shoe=3.0;
    while(shoe<18.5)    //while循环开始
    {                   //代码块开始
        foot=SCALE*shoe+ADJUST;
        printf("%10.1f %15.2f inches\n",shoe,foot);
        shoe=shoe+1.0;
    }                   //代码块结束
    printf("If the shoe fits,wear it.\n);
    return 0;
} 

解释一下while循环是如何工作的?

当程序第一次到达while语句时,检查圆括号内的条件是否为真。在这例子中,条件表达式是shoe<18.5。

shoe被初始化为3.0,它当然为真。最后一个语句shoe增加1.0,使shoe变成4.0.

此时,程序返回while部分去检查条件。为什么在这点呢?因为后面是一个结束花括号(}),而代码使用一对花括号来标出while循环的范围。在两个花括号之间的语句是被重复执行的语句。花括号和花括号里的程序部分被称为一个代码块。现在回到程序,值4小于18.5,所以跟在while后的被括起来的全部命令(代码块)将被重复执行(在计算机语句中,称程序“循环”执行这些语句),这个重复过程一直继续,直到shoe的值达到19.

    因为此时19不再小18.5,所以shoe<18.5现在就变成了假。

    因面控制转到紧跟while循环的第一个语句。在此例中,转到最后的printf()语句。

© 著作权归作者所有

idreamo
粉丝 18
博文 139
码字总数 224743
作品 0
青岛
产品经理
私信 提问
加载中

评论(0)

[叩响C#之门] 全书目录总链接

2004年刚学C#的时候萌生了写一本书的念头,边学边写,中间经历了无数次的修改,到今年出版时,不知不觉将近五年时间过去了(我对我自己的慢性子汗颜~~)。想想自己上学的时候,买一本书是很困...

C#初学课堂(寒飞雨)
2009/09/23
0
0
C Primer Plus 第5章 运算符、表达式和语句 5.4 表达式和语句

5.4.1 表达式 表达式是由运算符和操作数组合构成的。最简单的表达式是一个单独的操作数,以此作为基础可以建立复杂的表达式。 每一个表达式都有一个值 C的一个重要属性是每一个C表达式都有一...

idreamo
2016/05/20
55
0
第5章 Kotlin语言基础 《Kotin 编程思想·实战》

第5章 Kotlin语言基础 5.1 基础语法 5.1.1 包(package): package打包与import导包 5.1.2 变量 5.1.3 表达式 5.1.4 代码块 5.1.5 分支控制流 5.1.6 循环 5.1.7 代码注释 5.1.8 异常 5.2 标识...

程序员诗人
2017/06/04
0
0
【C++】第6章 分支语句和逻辑运算符 知识总结

《C++ Primer Plus》第6章知识点总结 简单的知识不再进行赘述 逻辑表达式 逻辑OR运算符:|| 5>3 || 5>10 如果||左边表达式为1,则程序不计算右边表达式 逻辑AND运算符:&& 5>3 && 5>10 如果&...

qq_37792173
2017/09/27
0
0
【C++】第5章 循环和关系表达式 知识总结

《C++ Primer Plus》第5章知识点总结 for循环 for(initialization; test-expression; update-expression) body 语句:age = 100; 表达式:age = 100 对于 for( int i=0 ;i<5 ;i++),这种语句......

qq_37792173
2017/09/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

【WPF学习】第六十五章 创建无外观控件

原文: 【WPF学习】第六十五章 创建无外观控件   用户控件的目标是提供增补控件模板的设计表面,提供一种定义控件的快速方法,代价是失去了将来的灵活性。如果喜欢用户控件的功能,但需要修...

osc_nk8pyo7o
15分钟前
7
0
Docker使用Portainer搭建可视化界面

原文: Docker使用Portainer搭建可视化界面 Portainer介绍 Portainer是Docker的图形化管理工具,提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作(包括上传下载镜像,创建...

osc_c05lkk3u
15分钟前
13
0
.NET Core跨平台微服务学习资源

原文: .NET Core跨平台微服务学习资源 一、Asp.net Core基础 微软英文官网:https://docs.microsoft.com/en-us/aspnet/core/?view=aspnetcore-2.1 .NET Core:http://www.dot.net 微软中文官......

osc_yim3173g
16分钟前
12
0
树莓派中Docker部署.Net Core 3.1 (一)

原文: 树莓派中Docker部署.Net Core 3.1 (一) 一、背景# 受疫情影响,已经在家强制事假一个月了,除了刷简历外就是在家学习,闲来无事,最近买了几个树莓派4B的板子回来,准备用树莓派搭建...

osc_4myehtgl
18分钟前
14
0
EF修改部分字段

原文: EF修改部分字段 /// <summary> /// 修改 /// </summary> /// <param name="bookInfo"></param> /// <returns></returns> public static bool Update(BookInfo bookInfo) { using (Boo......

osc_urkxdqms
19分钟前
14
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部