C 判断
判断结构要求程序员指定一个或多个要评估或测试的条件,以及条件为真时要执行的语句(必需的)和条件为假时要执行的语句(可选的)。
C 语言把任何非零和非空的值假定为 true,把零或 null 假定为 false。
下面是大多数编程语言中典型的判断结构的一般形式:
C 中的判断语句
判断语句
C 语言提供了以下类型的判断语句。点击链接查看每个语句的细节。
语句 描述
if 语句
一个 if 语句 由一个布尔表达式后跟一个或多个语句组成。
if…else 语句
一个 if 语句 后可跟一个可选的 else 语句,else 语句在布尔表达式为假时执行。
嵌套 if 语句
您可以在一个 if 或 else if 语句内使用另一个 if 或 else if 语句。
switch 语句
一个 switch 语句允许测试一个变量等于多个值时的情况。
嵌套 switch 语句
您可以在一个 switch 语句内使用另一个 switch 语句。
? : 运算符(三元运算符)
我们已经在前面的章节中讲解了 条件运算符 ? :,可以用来替代 if…else 语句。它的一般形式如下:
Exp1 ? Exp2 : Exp3;
其中,Exp1、Exp2 和 Exp3 是表达式。请注意,冒号的使用和位置。
? 表达式的值是由 Exp1 决定的。如果 Exp1 为真,则计算 Exp2 的值,结果即为整个表达式的值。如果 Exp1 为假,则计算 Exp3 的值,结果即为整个表达式的值。
实例
以下实例通过输入一个数字来判断它是否为奇数或偶数
实例
#include<stdio.h>int main()
{int num;printf("输入一个数字 : ");scanf("%d",&num);(num%2==0)?printf("偶数"):printf("奇数");
}
#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
#include<stdio.h>
int main()
{int number;printf("输入一个数字 : ");scanf("%d",&number);(number%2==0) ? printf("%d是偶数",number) : printf("%d是奇数",number);return 0;
}
运行编译上面的源代码,输入12将会输出以下结果:12是偶数