您的位置:

详解c语言判断

一、if语句

if(condition){
    statement1;
}
else{
    statement2;
}

if语句是c语言中最基本的条件判断语句,若条件为真,则执行statement1,否则执行statement2。

在判断条件中,可以使用比较运算符(>,<,>=,<=,==,!=)或逻辑运算符(&&,||,!)。

if语句可以进行嵌套,多个条件判断,形成复杂的逻辑判断结构。

二、switch语句

switch(expression){
    case constant1:
        statement1;
        break;
    case constant2:
        statement2;
        break;
    default:
        statement3;
}

switch语句可以根据expression的值,执行相应的case分支,每个case分支中的statement可以是一条或多条语句,分别用";"隔开,最后用break语句结束。

default分支是可选的,当expression的值与所有case分支都不匹配时,执行default分支中的语句。

三、三目运算符

expression1 ? expression2 : expression3;

三目运算符是一种简洁的条件判断语句,当expression1的值为真时,执行expression2,否则执行expression3。

三目运算符可以在一行代码中完成简单的条件判断,降低程序的复杂度和代码量。

四、assert语句

#include
...
int x = 5;
assert(x == 6);
...

  

assert语句是一种断言,用于在程序开发和调试中验证程序的正确性。

当assert语句中的条件为假时,程序会直接停止运行,并输出报错信息,帮助开发人员快速定位问题。

五、其他判断语句

除了上述常见的判断语句外,c语言还有其他几种判断语句:

1. goto语句:用于无条件跳转到代码的指定位置。

2. continue语句:中断本次循环,进入下一次循环。

3. break语句:中断循环体,跳出循环。

这些语句一般不常用,但是在某些特殊场景中,也可以起到一定的作用。

完整代码示例

#include
#include
   
#include
    

int main(){
    int x = 5, y = 6;
    if(x > y){
        printf("x is greater than y\n");
    }
    else if(x < y){
        printf("x is less than y\n");
    }
    else{
        printf("x is equal to y\n");
    }
    
    int a = 1, b = 2;
    switch(a){
        case 1:
            printf("a is 1\n");
            break;
        case 2:
            printf("a is 2\n");
            break;
        default:
            printf("a is not 1 or 2\n");
    }
    
    int res = (x > y) ? x : y;
    printf("res is %d\n", res);
    
    assert(x == 6);
    
    int i;
    for(i = 0; i < 10; i++){
        if(i % 2 == 0){
            continue;
        }
        printf("%d ", i);
        if(i == 5){
            break;
        }
    }
    
    printf("\n");
    int j = 0;
    label: printf("%d ", j);
    j++;
    if(j < 10){
        goto label;
    }
    
    return 0;
}