谈谈C语言中的那些判断语句

C/C++
229
0
0
2022-11-14

在C语言中,我们要判断一个事件是否成立,常常会用到一些判断语句,而这些判断语句还需要一个判断条件,以及条件为真时要执行的语句(必要的)和条件为假时要执行的语句(非必要的)。C语言把任何非零和非空的值假定为 true,把零或null假定为false。

C语言支持的所有判断语句,如下表格所示:

您可以在一个 switch 语句内使用另一个 switch 语句。

if语句实例:判断某年是否为闰年

源代码如下:

#include <stdio.h>
int main()
{
    int year,result = 0;
    printf("请输入年份:");
    scanf("%d",&year);
    if(year%4==0)
    {
        if (year%100!=0)
        {
            result = 1;
        }
        else if (year%400==0)
        {
            result = 1;
        }
        else
        {
            result = 0;
        }
    } else
    {
        result = 0;
    }
    if (result==1)
    {
        printf("%d是闰年",year);
    } else
    {
        printf("%d不是闰年",year);
    }
    return 0;
}

运行编译上面的源代码,输入2024将会输出以下结果:

2024是闰年

switch语句实例:简单的计算器

源代码如下:

#include<stdio.h>
int main()
{
    float a,b;
    char c;
    printf("请按照顺序输入 一位整数、运算符号、一位整数:\n");
    printf("例如:计算3+2,可依次输入3+2 \n");
    scanf("%f%c%f",&a,&c,&b);
    switch(c)
    {
        case '+' :
            printf("%f %c %f = %f \n",a,c,b,a+b);
            break;
        case '-' :
            printf("%f %c %f = %f \n",a,c,b,a-b);
            break;
        case '*' :
            printf("%f %c %f = %f \n",a,c,b,a*b);
            break;
        case '/' :
            printf("%f %c %f = %f \n",a,c,b,a/b);
            break;
    }
    return 0;
}

运行编译上面的源代码,输入3+5将会输出以下结果:

3.000000 + 5.000000 = 8.00000

? : 运算符(三元运算符)

条件运算符 ? :,可以用来替代 if...else 语句。条件运算符形式如下:

表达式1 ? 表达式2 : 表达式3

使用三元运算符需要注意问号、冒号的位置。

?表达式的值是由 表达式1 决定的。如果 表达式1 为真,则计算 表达式2 的值,结果即为整个表达式的值。如果 表达式1 为假,则计算 表达式3 的值,结果即为整个表达式的值。

实例:判断一个数的奇偶性

源代码如下:

#include<stdio.h>
int main()
{
    int number;
    printf("输入一个数字 : ");
    scanf("%d",&number);
    (number%2==0) ? printf("%d是偶数",number) : printf("%d是奇数",number);
    return 0;
}

运行编译上面的源代码,输入12将会输出以下结果:

12是偶数

运行编译上面的源代码,输入13将会输出以下结果:

13是奇数

三元表达式可以改写成if...else语句,将上述实例改写后的源代码如下:

#include<stdio.h>
int main()
{
    int number;
    printf("输入一个数字 : ");
    scanf("%d",&number);
    if (number%2==0)
    {
        printf("%d是偶数",number);
    }else
    {
        printf("%d是奇数",number);
    }
    return 0;
}