Chinaunix首页 | 论坛 | 博客
  • 博客访问: 18689740
  • 博文数量: 7460
  • 博客积分: 10434
  • 博客等级: 上将
  • 技术积分: 78178
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-02 22:54
文章分类

全部博文(7460)

文章存档

2011年(1)

2009年(669)

2008年(6790)

分类: C/C++

2008-03-20 18:51:37

来源: 作者:antigloss 等级:一般
发布于2006-11-18 16:01 被读2006次 【字体: 】

    首先,我们通过一个小例子来了解一下 if 语句。

        #include <stdio.h>

        int main(void)
        {
            int num;

            printf("Please input an integer: ");
            scanf("%d", &num);

            /* 如果 num 不等于零,则输出其值 */
            if (num)
                printf("Non-zero integer: %d\n", num);

            printf("Thanks for using our product! (stdcpp.cn)\n");
            return 0;
        }

该程序读取用户输入的一个整数,然后使用 if 语句判断该整数是否为零,如果不为零,则输出该整数的值。也许您会对 if (num) 这一行感到不解,不明白它到底是什么意思。其实很简单,前面我们说过,C 语言中,零为假,非零为真。if 语句判断 num 的值是否为真,如果为真,则执行 printf("Non-zero integer: %d\n", num);;反之,则不执行。所以,只有当 num 不等于 0 时,才会输出 num 的值。

    if 语句被称为分支语句(branching statement)或者选择语句(selection statement),其基本结构如下:

        if ( condition )
            一条语句/复合语句

如果 condition 为真,则执行“一条语句/复合语句”;反之,则跳过“一条语句/复合语句”。显而易见,if 语句的结构和 while 语句非常相似。和 while 语句一样,if 语句中的 condition 也可以是任何合法的表达式。它们主要的不同点在于,if 语句中的 condition 只会被检验一次,而 while 语句中的 condition 可能会被检验很多次;if 语句中的“一条语句/复合语句”最多只会被执行一次,而 while 语句中的“一条语句/复合语句”可能会被循环执行很多次。if 语句的执行流程如下图所示:

注意,if 语句的整个结构只算是一条语句,无论是否使用了复合语句,也无论复合语句中包含多少语句。也就是说,

    if ( condition )
    {
        /*... ...*/
    }

只算是一条语句。

参考资料:C Primer 5th Edition
          C99 标准

本文版权归 以及 作者 antigloss 共同所有,转载请注明原作者和出处。谢谢。

阅读(1090) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~