文档章节

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

idreamo
 idreamo
发布于 2016/05/17 06:10
字数 666
阅读 28
收藏 0
点赞 2
评论 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
粉丝 12
博文 139
码字总数 224743
作品 0
青岛
产品经理
C Primer Plus 第5章 运算符、表达式和语句 5.4 表达式和语句

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

idreamo ⋅ 2016/05/20 ⋅ 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

【C++】第6章 分支语句和逻辑运算符 知识总结

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

qq_37792173 ⋅ 2017/09/27 ⋅ 0

C Primer Plus 第6章 C控制语句:循环 6.5 for循环

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

idreamo ⋅ 2016/05/31 ⋅ 0

C Primer Plus 第6章 C控制语句:循环 6.7 逗号运算符

程序清单 6.13 postage.c 这个程序在初始化表达式和更新表达中使用了逗号运算符。这一个表达式中的逗号使ounces和cost 的值都进行了初始化。逗号的第二次出现使每次循环中ounces增加1,cost增...

idreamo ⋅ 2016/05/31 ⋅ 0

C Primer Plus 第6章 C控制语句:循环 6.3 关系运算符和表达式

关系运算符 运算符 含义 < 小于 <= 小于等于 == 等于 >= 大于等于 > 大于 != 不等于 注意:关系表达式也可以用于字符的比较。例:ch!='$';进行比较时使用的是机器的字符代码(我们假定为ASC...

idreamo ⋅ 2016/05/27 ⋅ 0

关东升的《从零开始学Swift》第2版已经出版

关东升的《从零开始学Swift》第2版已经出版 大家好: 苹果2015WWDC大会发布了Swift2.0,它较之前的版本Swift1.x有很大的变化,所以我即将出版《从零开始学Swift》 《从零开始学Swift》将在《...

tony关东升 ⋅ 2016/02/24 ⋅ 0

关东升的《《从零开始学Swift》即将出版

大家好: 苹果2015WWDC大会发布了Swift2.0,它较之前的版本Swift1.x有很大的变化,所以我即将出版《从零开始学Swift》《从零开始学Swift》将在《Swift开发指南》第1版的基础上添加Swift2.0的...

智捷课堂 ⋅ 2015/08/17 ⋅ 0

C++ Primer 学习笔记(第五章:语句)

C++ Primer 学习笔记(第五章:语句) [TOC] 5.1 简单语句 空块的作用等价于空语句。 ----------------------------------- 5.2 语句作用域 5.3 条件语句 悬垂:else只与离他最近的尚未匹配的...

ShawnLue ⋅ 2015/08/20 ⋅ 0

C++ Primer Plus(五)——循环和关系表达式

优先级表表明,赋值运算符是从右向左结合的 定义一个const值来表示数组中元素的个数是一个好办法 对同一条语句的同一个值递增或递减多次,C++没有定义这种行为,也就是说这条语句在不同的系统...

吃一堑消化不良 ⋅ 2015/11/15 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Confluence 6 从其他备份中恢复数据

一般来说,Confluence 数据库可以从 Administration Console 或者 Confluence Setup Wizard 中进行恢复。 如果你在恢复压缩的 XML 备份的时候遇到了问题,你还是可以对整个站点进行恢复的,如...

honeymose ⋅ 10分钟前 ⋅ 0

myeclipse10 快速搭建spring boot开发环境(入门)

1.创建一个maven的web项目 注意上面标红的部分记得选上 2.创建的maven目录结构,有缺失的目录可以自己建立目录补充 补充后 这时候一个maven的web项目创建完成 3.配置pom.xml配置文件 <proje...

小海bug ⋅ 22分钟前 ⋅ 0

nginx.conf

=========================================================================== nginx.conf =========================================================================== user nobody; #......

A__17 ⋅ 25分钟前 ⋅ 0

645. Set Mismatch - LeetCode

Question 645. Set Mismatch Solution 思路: 遍历每个数字,然后将其应该出现的位置上的数字变为其相反数,这样如果我们再变为其相反数之前已经成负数了,说明该数字是重复数,将其将入结果r...

yysue ⋅ 39分钟前 ⋅ 0

Python这么强?红包杀手、消息撤回也可以无视,手机App辅助!

论述 标题也许有点不好理解,其实就是一款利用Python实现的可以监控微信APP内的红包与消息撤回的助手。不得不说,这确实是一款大家钟意的神器。 消息撤回是一件很让人恶心的事,毕竟人都是有...

Python燕大侠 ⋅ 54分钟前 ⋅ 0

压缩打包介绍、gzip压缩工具、bzip2压缩工具、xz压缩工具

压缩打包介绍 压缩的好处不仅能节省磁盘空间而且在传输的时候节省传输时间和网络带宽 windows系统下文件带有 .rar .zip .7z 后缀的就是压缩文件 linux系统下则是 .zip, .gz, .bz2, .xz, ...

黄昏残影 ⋅ 59分钟前 ⋅ 0

观察者模式

1.利用java原生类进行操作 package observer;import java.util.Observable;import java.util.Observer;/** * @author shadow * @Date 2016年8月12日下午7:29:31 * @Fun 观察目标 **/......

Cobbage ⋅ 今天 ⋅ 0

Ubuntu打印服务器配置

参考:https://blog.csdn.net/gsls200808/article/details/50950586 https://blog.csdn.net/jiay2/article/details/80252369 https://wiki.gentoo.org/wiki/HPLIP 由于媳妇儿要大量打印资料,......

大熊猫 ⋅ 今天 ⋅ 0

面试的角度诠释Java工程师(二)

原文出处: locality 续言: 相信每一位简书的作者,都会有我这样的思考:怎么写好一篇文章?或者怎么写好一篇技术类的文章?我就先说说我的感悟吧,写文章其实和写程序是一样的。为什么我会...

颖伙虫 ⋅ 今天 ⋅ 0

github中SSH的Key

https://help.github.com/articles/connecting-to-github-with-ssh/ https://help.github.com/articles/testing-your-ssh-connection/ https://help.github.com/articles/adding-a-new-ssh-k......

whoisliang ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部