首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

if statement

有条件地执行代码。

只有在某些条件成立的情况下才需要执行代码。

句法

if ( expression ) statement_true

(1)

if ( expression ) statement_true else statement_false

(2)

说明

表达式必须是任何标量类型的表达式。

如果表达式比较不等于整数零,则执行 statement_true。

在表格(2)中,如果表达式比较等于整数零,则执行 statement_false。

与所有其他选择和迭代语句一样,整个 if 语句都有自己的块范围:enum {a,b}; int不同(void){if(sizeof(enum {b,a})!= sizeof(int))返回a; // a == 1 return b; // C89中的b == 0,C99中的b == 1}

(自C99以来)

笔记

else总是与最接近的前面的相关if(换句话说,如果 statement_true 也是一个if语句,则该内 if 语句必须包含一个else部分以及):

代码语言:javascript
复制
int j = 1;
if (i > 1)
   if(j > 2)
       printf("%d > 1 and %d > 2\n", i, j);
    else // this else is part of if(j>2), not part of if(i>1) 
       printf("%d > 1 and %d <= 2\n", i, j);

如果通过 goto 输入了 statement_true,则不会执行 statement_false。

关键词

if, else.

代码语言:javascript
复制
#include <stdio.h>
 
int main(void)
{
    int i = 2;
    if (i > 2) {
        printf("first is true\n");
    } else {
        printf("first is false\n");
    }
 
    i = 3;
    if (i == 3) printf("i == 3\n");
 
    if (i != 3) printf("i != 3 is true\n");
    else        printf("i != 3 is false\n");
}

输出:

代码语言:javascript
复制
first is false
i == 3
i != 3 is false

参考

  • C11 standard (ISO/IEC 9899:2011):
    • 6.8.4.1 The if statement (p: 148-149)
  • C99 standard (ISO/IEC 9899:1999):
    • 6.8.4.1 The if statement (p: 133-134)
  • C89/C90 standard (ISO/IEC 9899:1990):
    • 3.6.4.1 The if statement

扫码关注腾讯云开发者

领取腾讯云代金券