文章目录
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);
}
}
}