C 语言学习第五天 判断

C语言中的判断规则

  • 1.判断结构要求程序员指定一个或多个要评估或测试的条件,以及条件为真时要执行的语句(必需的)和条件为假时要执行的语句(可选的)。
  • C 语言把任何非零和非空的值假定为 true,把零或 null 假定为 false。

1. 三元运算符

语法 : Exp1 ? Exp2 : Exp3;

//
// Created by dell on 2019.12.30.
//

#include <stdio.h>

int main() {
    //定义一个变量
    int num = 0;
    //for循环遍历 20 次
    for (int i = 0; i < 20; i++) {
        //每次遍历 num + 1
        num++;
        //使用 三元进行判断
        //如果 num 等于 10  则让 a等于1000 否则   a等于 i
        int a = num == 10 ? 1000 : i;
        printf("%d\n", a);
    }
    return 0;
}

2. if() … else if ()… else …

语法格式:
		if(条件语句) {
			要执行的操作
		} else if (条件语句) {
 			要执行的操作
 		} else {
			要执行的操作 
		}
示例 :
//
// Created by dell on 2019.12.30.
//

#include <stdio.h>

int main() {
    int a = 0;
    for (int i = 0; i < 20; i++) {
        a++;
        if (a % 5 == 0) {
            printf("20以内除以3能除的尽的数 %d\n", a);
        } else if ((a % 3 != 0) && (a % 2 == 0)) {
            printf("20以内 除以3不能除尽 并且 除以2能除的尽的数有 :  %d\n", a);
        } else {
            printf("其他情况 : %d\n", a);
        }
    }
}

3. switch case break

语法格式 :
switch(表达式)
{
    case 常量表达式1:语句1;
    case 常量表达式2:语句2;
    ...
    default:语句n+1;
}

先计算表达式的值,再逐个和 case 后的常量表达式比较,若不等则继续往下比较,若一直不等,则执行 default 后的语句;
若等于某一个常量表达式,则从这个表达式后的语句开始执行,并执行后面所有 case 后的语句。

与 if 语句的不同:

1.if 语句中若判断为真则只执行这个判断后的语句,执行完就跳出 if 语句,不会执行其他 if 语句
2. switch 语句不会在执行判断为真后的语句之后跳出循环,而是继续执行后面所有 case 语句。

3.在每一 case 语句之后增加break语句,使每一次执行之后均可跳出 switch 语句,从而避免输出不应有的结果

代码示例
#include <stdio.h>
int main() {
	int b = 0;
    for (int j = 0; j < 10; ++j) {
        b++;
        switch (b) {
            case 1:
                printf("第 %d 次循环 b 等于 1 \n", j + 1);
                break;
            case 2:
                printf("第 %d 次循环 b 等于 2 \n", j + 1);
                break;
            case 3:
                printf("第 %d 次循环 b 等于 3 \n", j + 1);
                break;
            case 4:
                printf("第 %d 次循环 b 等于 4 \n", j + 1);
                break;
            case 5:
                printf("第 %d 次循环 b 等于 5 \n", j + 1);
                break;
            case 6:
                printf("第 %d 次循环 b 等于 6 \n", j + 1);
                break;
            case 7:
                printf("第 %d 次循环 b 等于 7 \n", j + 1);
                break;
            default:
                printf("第 %d 次循环没有匹配项 b = %d\n" , j ,b);
        }
    }
}
    
发布了88 篇原创文章 · 获赞 114 · 访问量 3015

猜你喜欢

转载自blog.csdn.net/hongchenshijie/article/details/103769992