判断选择

2020-04-10  本文已影响0人  晓晓桑

if

if(1),if(0)

int main(void) {
    int a = 1;
    if (a == 1) {
        printf("qw");
    }
    return 0;
}
//结果是qw
int main(void) {
    int a = 1;
//逗号的优先级低
    if (a == 1, 0) {
        printf("qw");
    } else {
        printf("er");
    }
    return 0;
}
//结果
er
int main(void) {
    int a = 1;

    if (a == 2) {
        printf("a==2\n");
    } else {
        printf("qqqqq\n");
    }
    if (a = 2) {

        printf("a=2\n");
    } else {
        printf("wwwww\n");
    }
    return 0;
}

答案

qqqqq
a=2

注意:java里只用一个=就可以,而c的=和==来区别赋值和判断

t条件运算符 :?

条件运算符是c语言中ifelse的简写形式,C中唯一一个三元运算符
形式:条件?真:假

int main(void) {

    int a = 65;
    a > 60 ? printf("及格") : printf("不及格");
    return 0;
}

多个条件运算符嵌套

int main(void) {

    int a = 59;//59结果是哈哈, 61结果是及格
    a > 60 ? printf("及格") :a > 20 ? printf("哈哈") : printf("嘿嘿");
    return 0;
}

重复录入学生的成绩,打出成绩评级,输入-1退出系统,输入非法数据提示重新输入,并重新输入,提示欢迎使用。

int main(void) {
    printf("欢迎,请输入成绩\n");
    while (1) {
        int score;
        scanf("%d", &score);
        if (score == -1) {
            break;
        }
        if (score > 100 || score < 0) {
            printf("请重新输入\n");
            continue;
        }
        if (score < 60) {
            printf("不及格\n");

        } else {
            printf("及格\n");
        }
    }
    printf("感谢使用\n");
    return 0;
}

系统保证能连续通的话,就用while(1)死循环,就像android 的thread mian函数里面就是while()死循。

switch

switch按顺序扫描标签,发现标签中有匹配的,执行语句,break跳出语句,如果都没有匹配的,就进入default,执行语句,break跳出。
switch 标签值不能一样


image.png
int main(void) {
    int a;
    scanf("%d", &a);
    switch (a) {
        case 1: //case的值不能重复
            printf("%D", a);
            break;
        case 2:
            printf("%D", a);
            break;
        case 3:
            printf("%D", a);
            break;
        case 4:
            printf("%D", a);
            break;
        case 5:
            printf("%D", a);
            break;
        default: 
            printf("hhhhh");
            break;
    }
    printf("感谢使用\n");
    return 0;
}
注意事项
image.png

goto

找到goto标签的地方,从那里开始顺序执行语句。

int main(void) {
    adcd:
    printf("哈哈哈\n"); //循环打印哈哈哈哈
    goto adcd;// 
    return 0;
}
int main(void) {

    goto adcd;//
    printf("哈哈哈\n"); //不执行哈哈哈了
    adcd:
    printf("呵呵\n"); // 执行一遍呵呵
    return 0;
}
上一篇下一篇

猜你喜欢

热点阅读