0%

分支和循环之if语句

文章时效性提示

本文发布于 524 天前,部分信息可能已经改变,请注意甄别。

C语言是一门 结构化 的程序设计语言
C语言分为三种结构

  • 1、顺序结构
  • 2、选择结构
  • 3、循环结构

分支和循环语句:
分支语句(选择结构) ifswitch
循环语句 whilefordo while

什么是语句?
-由分号;隔开的就是一个语句

单分支的if语句

1
2
3
4
5
6
7
8
#include <stdio.h>
int main() {
    int age = 20;
    if (age < 18) {
        printf("未成年\n");
    }
    return 0;
}

双分支的if语句

1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
int main()
{
    int age = 12;
    if (age < 18) {
        printf("未成年\n");
    }
    else
        printf("成年\n");
    return 0;
}

多分支if语句

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
int main()
{
    int age = 56;
    if (age < 18)
        printf("未成年\n");
    else if (age >= 18 && age < 28)//&& 逻辑与,不可以使用18 <= age < 28表示
        printf("青年\n");
    else if (age >= 28 && age < 50)
        printf("壮年\n");
    else if (age >= 50)
        printf("老年\n");
    return 0;
}

&& 逻辑与,不可以使用18 <= age < 28表示。

C语言中如何表示真假?
-0表示假,非0就是真

使用代码块的if语句

如果条件成立,要执行多条语句,要使用代码块{}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
int main()
{
    int age = 12;
    if (age < 18)
    {
        printf("未成年\n");
        printf("小于18岁\n");
    }
    else
    {
        if (age >= 18 && age < 28)//&& 逻辑与,不可以使用18 <= age < 28表示
            printf("青年\n");
        else if (age >= 28 && age < 50)
            printf("壮年\n");
        else if (age >= 50)
            printf("老年\n");
    }
    return 0;
}

一对{ }就是一个代码块。

要点:if和else组对是就近原则的。

代码示例

示例一:

1
2
3
4
5
6
7
int main()
{
  if (condition) {
        return x;
    }
    return y;
}

条件成立,返回x,否则返回y。

示例二:

1
2
3
4
5
6
7
8
9
10
11
int main()
{
    if (condition)
    {
        return x
    }
    else
    {
        return y;
    }
}

条件成立,返回x,否则返回y

示例三:

1
2
3
4
5
6
7
8
9
int main()
{
    int num = 4;
    if (num = 5)
    {
        printf("呵呵\n");
    }
    return 0;
}

打印的结果是呵呵,因为num = 5是赋值,num == 5才是判断,想要判断相等时,可以 5 == num,这样可以避免错误。