文档章节

C Primer Plus 第7章 C控制语句:分支和跳转 7.1 if语句

idreamo
 idreamo
发布于 2016/06/13 06:07
字数 520
阅读 80
收藏 0

这个程序读入一系列每日的最低温度(摄氏度),并报告输入的总数,以及最低温度在零度以下的天数的百分率。在一个循环里使用scanf()读入数值,在每一次循环中增加计数器的值来统计输入数值的个数。if语句检测低于零度以下的温度并单独统计这些天的数目。

程序清单7.1  colddays.c

------------------------------------

//colddays.c --求出温度低于零度的天数的百分率
#include <stdio.h>
int main (void)
{
    const int FREEZING = 0;
    float temperature;
    int cold_days = 0;
    int all_days = 0;

    printf("Enter the list of daily low temperatures.\n");
    printf("Use Celsius,and enter q to quit.\n");
    while(scanf("%f",&temperature)==1)
        {
            all_days++;
            if(temperature<FREEZING)
                cold_days++;
        }
    if(all_days!=0)
        printf("%d days total:%.1f%% were below freezing.\n",
                all_days,100.0*(float)cold_days / all_days);
    if(all_days==0)
        printf("No data entered!\n");
    return 0;
}
/*下面是一个运行示例:
Enter the list of daily low temperatures.
Use Celsius,and enter q to quit.
12 5 -2.5 0 6 8 -3 -10 5 10 q
10 days total:30.0% were below freezing.
*/

用float而不是int来声明temperature,这样程序就既能接受像8那样的输入,也能接受像-2.5这样的输入。

为了避免整数除法,示例程序在计算百分率时使用了类型转换float。使用类型转换可以表明意图,并保护程序免受不完善编译器的影响。

if语句被称为分支语句(branching statement)或选择语句(selection statement),因为它提供了一个交汇点,在此处程序选择两条分支中的一条前进。一般形式如下:

if(expression)

        statement

如果expression为真,就执行statement;否则跳过该语句。和while语句的区别在于在if中,判断和执行只有一次,而在while循环中,判断和执行可以重复多次。

注意,即使if中使用了一个复合语句,整个if结构仍将被看作一个简单的语句。

© 著作权归作者所有

idreamo
粉丝 18
博文 139
码字总数 224743
作品 0
青岛
产品经理
私信 提问
C Primer Plus 第11章 11.7 ctype.h字符函数和字符串

第7章“C控制语句 分支和跳转”介绍了ctype.h系列字符相关的函数。这些函数不能被 应用于整个字符串,但是可以被应用于字符串中的个别字符。程序清单11.26定义了一个函数,它把toupper( )函数...

idreamo
2016/08/27
52
0
《Java从小白到大牛》之第7章 控制语句

《Java从小白到大牛》纸质版已经上架了!!! 程序设计中的控制语句有三种,即顺序、分支和循环语句。Java程序通过控制语句来管理程序流,完成一定的任务。程序流是由若干个语句组成的,语句...

tony关东升
2018/06/25
0
0
C Primer Plus 第7章 C控制语句:分支和跳转 本章概要

在本章中您将学习到以下内容: *关键字 if / else / switch / continue / break / case / default / goto *运算符 && || ?: *函数: getchar() / putchar() 以及ctype.h系列 *怎样使用if和i...

idreamo
2016/06/12
47
0
C Primer Plus 第7章 C控制语句:分支和跳转 7.2 if语句中添加 else 关键字

if else 语句的通用形式为: if (expression) statement1 else statement2 如果expression为真(非零),就执行statement1;如果expression为假或零,则执行跟在else后的那一条语句(stateme...

idreamo
2016/06/16
45
0
Google Go Primer(一)

Go语言是什么? Google最近发布新型的编程语言,Go。它被设计为将现代编程语言的先进 性带入到目前仍由C语言占统治地位的系统层面。然而,这一语言仍在试验阶段并在不断演变。 Go语言的设计者...

曾赛
2010/04/27
641
0

没有更多内容

加载失败,请刷新页面

加载更多

Jenkins World 贡献者峰会及专家答疑展位

本文首发于:Jenkins 中文社区 原文链接 作者:Marky Jackson 译者:shunw Jenkins World 贡献者峰会及专家答疑展位 本文为 Jenkins World 贡献者峰会活动期间的记录 Jenkins 15周岁啦!Jen...

Jenkins中文社区
27分钟前
8
0
杂谈:面向微服务的体系结构评审中需要问的三个问题

面向微服务的体系结构如今风靡全球。这是因为更快的部署节奏和更低的成本是面向微服务的体系结构的基本承诺。 然而,对于大多数试水的公司来说,开发活动更多的是将现有的单块应用程序转换为...

liululee
42分钟前
7
0
OSChina 周二乱弹 —— 我等饭呢,你是不是来错食堂了?

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @ 自行车丢了:给主编推荐首歌 《クリスマスの夜》- 岡村孝子 手机党少年们想听歌,请使劲儿戳(这里) @烽火燎原 :国庆快来,我需要长假! ...

小小编辑
今天
433
9
玩转 Springboot 2 之热部署(DevTools)

Devtools 介绍 SpringBoot 提供了热部署的功能,那啥是热部署累?SpringBoot官方是这样说的:只要类路径上的文件发生更改,就会自动重新启动应用程序。在IDE中工作时,这可能是一个有用的功能...

桌前明月
今天
6
0
CSS--列表

一、列表标识项 list-style-type none:去掉标识项 disc:默认实心圆 circle:空心圆 squire:矩形 二、列表项图片 list-style-img: 取值:url(路径) 三、列表项位置 list-style-position:...

wytao1995
今天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部