程序没有判断,那么它是十分呆板的,一条条指令执行,但是正因为有了判断,程序才真正意义上"活"了起来,所以判断在程序中是极为重要的
1.if
if(表达式){执行体}
如果表达式成立或者满足条件,则执行执行体内容
2.if else
if(表达式){执行体1}
else {执行体2}
根据表达式的真假,分别选择不同的执行体进行执行,当表达式满足if的条件,则选择执行执行体1的内容,相反不满足则执行执行体2的内容
3.if else if else
if(表达式1){执行体1}
else if(表达式2) {执行体2}
else {执行体3}
根据第一个if条件进行判断,如果满足第一个则就会执行体1的内容,其它的执行体2 3 的内容都不会执行,假如第一个if条件不满足,则会进行 else if的条件判断,如果满足条件,则执行执行体2的内容,最后假如第一个if 和 第二个else if 都不满足,则会执行最后的else 执行体3的内容
注意:if else if else 可以不停的嵌套,例如: if else if else if else if .... else,但是注意一点if只和离它最近的else配对,还有一点是要区分 if if if 和 if else if else 的区别
4.switch
switch(要判读的值)
{
case 值1 : {执行体1 break;}
case 值2 : {执行体2 break;}
case 值3 : {执行体3 break;}
default : {执行体default break;}
}
switch开关的意思,case是情况的意思,根据switch要判断的值,下面有不同的case情况,选择下面不同执行体进行执行,如果这些情况都不满足,则会到default情况,这个是处理其它情况都不满足时使用(这是一个可选项,可有可无),
注意:case 的执行体中一定要有break;否则程序会出现问题,会出现什么样的问题,嘻嘻,你们自己尝试
5.最后一个计算器的案例(这个案例有bug,需要读者自己改正了)
#include<stdio.h>
int main()
{
float num1, num2,result;//定义参与运算的数字1 数字2 结果result 变量
char sign, exit;//sign运算符号 exit退出符号
while (1)
{
printf("你是否要退出? Y / N:");//判断是否退出
scanf("%c", &exit);
if (exit == 'Y')
break;
printf("\n请输入要计算的两个数字:");//接收输入数字
scanf("%f %f",&num1,&num2);
getchar();
printf("\n请选择运算方式( + - * / ):");//选择运算符号
scanf("%c",&sign);
getchar();
switch (sign)//根据不同运算符号进行运算
{
case '+': {
result = num1 + num2;
}break;
case '-': {
result = num1 - num2;
}break;
case '*': {
result = num1 * num2;
}break;
case '/': {
result = num1 / num2;
}break;
default: {
printf("你输入的运算符号不合法!!!\n\n");//如果输入的运算符号非法,提示
continue;
}
}
printf("\n%g %c %g = %g\n\n",num1,sign,num2,result);//结果输出
}
system("pause");
return 0;
}