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是偶数