文档章节

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

idreamo
 idreamo
发布于 2016/05/17 06:10
字数 666
阅读 32
收藏 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
粉丝 14
博文 139
码字总数 224743
作品 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 Primer Plus 第5章 运算符、表达式和语句 5.4 表达式和语句

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

idreamo
2016/05/20
46
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
【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 Primer Plus 第6章 C控制语句:循环 6.5 for循环

for 循环把所有这三种动作(初始化、测试、更新)都放在一起。通过使用for循环,您可以用程序清单6.11中的程序来代替前一个程序 。 程序清单6.11 sweetie2.c 在关键字for之后的圆括号中包含了...

idreamo
2016/05/31
16
0

没有更多内容

加载失败,请刷新页面

加载更多

laravel 微信支付

1.composer加载laravel微信支付第三方文件 composer require "overtrue/laravel-wechat:~4.0" composer require simplesoftwareio/simple-qrcode 1.3.* //composer生成二维码文件 2.改confi......

vio小黑
31分钟前
1
0
学习设计模式——抽象工厂模式

1. 认识抽象工厂模式 1. 定义:提供一个创建一系列相关或互相依赖的对象的接口,而无需指定它们具体的类。 2. 组成结构: AbstractFactory:抽象工厂类,定义创建一系列对象的操作接口 Fact...

江左煤郎
31分钟前
2
0
ES6的let块级作用域和变量不可提升导致一个比较容易出现的错误

今天在写NodeJS代码的时候出现一个变量一直提示未定义,简化后的代码如下: let param = 1;{ console.log(param);} 就在想,不至于啊。不是继承上层的声明吗? 继续看下去,发现原来...

MKjy
37分钟前
2
0
50:nginx访问日记|日记切割|静态文件不记录日记和过期时间

1、nginx访问日记: 日记格式:在主配置文件nginx.conf里搜索log_format; [root@localhost_001 conf]# vim nginx.conflog_format combined_realip '$remote_addr $http_x_forwarded_for ......

芬野de博客
41分钟前
1
0
前后端正常交互的流程

1、评审阶段:产品召集前后端进行需求评审,前后端各自捋清楚自己的业务量以及联调之间工作量,从而进行开发时间评估。 2、开发准备阶段:前后端一起商量需求中需要联调的部分,进行接口的口...

Jack088
41分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部