首页
社区
课程
招聘
[旧帖] [原创]if语句在C中的使用<一> 0.00雪花
发表于: 2010-12-25 13:25 1869

[旧帖] [原创]if语句在C中的使用<一> 0.00雪花

2010-12-25 13:25
1869
Code:

#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;
}

while 循环的判断条件利用scanf() 的返回值在scanf()遇到非数字输入的时候终止循环。

while 代码块中的 新语句如下:

if (temperture < FREEZING)

cold_days++;

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

if (expression)

statement

如果expression求得的值为真(非零),就执行statement;否则,跳过该语句。和while循环一样,statement可以是单个语句也可以是一个代码块。这种结构跟while语句很相似。主要区别于在if语句中判断和执行(如果可能的话)仅有一次,而在while循环中,判断和执行可以重复多次。

通常,expression是一个关系表达式。也就是说,它比较两个量的大小,

如果expression的值为真,就执行语句,否则,将忽略语句。更一般地,可以使用任何表达式,表达式的值为0就被视为假。语句部分可以是一个简单的语句,也可以是一个由花括号标出的复合语句(代码块):

if (score > big)

printf ("Jackpot!\n");

if (joe > ron)

{

joecash++;

printf ("You lose,Ron.\n");

}

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

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 33
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
谢谢楼主分享学习经验,支持!!
2010-12-31 20:39
0
雪    币: 18
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
不错,谢谢lz
2011-1-1 21:25
0
雪    币: 31
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
谢谢楼主
2015-12-10 20:44
0
游客
登录 | 注册 方可回帖
返回
//