除了没有任何返回值的函数和返回无法判断真假的结构函数外,几乎所有的表达式的返回值都可以判断真假!
if语句(建议:使用if语句时都用大括号将执行语句包括在内)
//if语句判断变量
if(iNum){
printf("The ture value\n");
}
//if语句判断表达式
if(iSignal==1){
printf("The Signal Light is: %d\n",iSignal);
printf("Car can run\n");
}
if…else语句(一个else语句必须跟在一个if语句后面)
//if...else语句
if(value)
{
printf("The value is ture\n");
}
else
{
printf("The value is false\n");
}
else if语句
//else...if语句
if(iSelect==1)
{
printf("The select is:%d\n",iSelect);
}
else if(iSelect==2)
{
printf("The select is:%d\n",iSelect);
}
else if(iSelect==3)
{
printf("The select is:%d\n",iSelect);
}
else
{
printf("The select is:%d\n",iSelect);
}
连续使用if语句和使用else…if语句总结:连续使用if语句,则有可能一个变量或者表达式独立的、多次的被判断,而用else…if语句,则可只判断这个变量或者表达式一次,程序参考:
#include<stdio.h>
int main(void)
{
int iSignal;
puts("the red light is 0\nthe green light is 1\nthe yellow light is other number\n请输入:");
scanf("%d",&iSignal);
if(iSignal==1)
{
puts("the light is green,cars can run");
}
if(iSignal==0)
{
puts("the light is red,cars can`t run");
}
else
{
puts("the light is yellow,cars are ready");
}
return 0;
}
在上述程序中如果输入1,则会出现错误的提示信号;如果用else…if语句写,则可以避免;
if的嵌套形式
//if的嵌套形式
if()
{
if()
{
; //执行的语句 或者语句块
}
else
{
; //执行的语句 或者语句块
}
}
else
{
if()
{
; //执行的语句 或者语句块
}
else
{
; //执行的语句 或者语句块
}
}
注意:else总是与其上面最近的为配对的if进行配对!
switch语句
switch语句检验的条件必须是一个整形表达式,这个表达式可以包含运算符和函数调用
//switch语句的一般形式
switch(selection)
{
case 1:
puts("111");
break;
case 2:
puts("222");
break;
case 3:
puts("333");
break;
default:
puts("000");
break;
}
每种情况都有一个break,用于跳出switch结构;
在case语句表示的条件后又一个冒号“:”,编程时勿忘;
多路开关模式的switch语句,参考代码:
#include<stdio.h>
int input(void);
int main(void)
{
int i=1;
while(i)
{
int iDay;
char c;
iDay=input();
switch(iDay)
{
case 1:
puts("开早会");
break;
case 2:
case 3:
case 4:
case 5:
puts("工作"); //输入为2、3、4、5的时候均打印“工作”;
break;
case 6:
puts("打球");
break;
case 7:
puts("休息");
break;
default:
puts("输入错误");
break;
}
puts("是否继续输入:(y/n)");
scanf("%c",&c);
getchar();
if(c=='y'||c=='Y')
{
i=1;
}
else
i=0;
}
}
int input(void)
{
int i;
puts("今天星期几?请输入:");
scanf("%d",&i);
getchar();
return i;
}
if..else和switch语句小结:
当分支在3个或者4个一下,用if…else好,否则用switch语句好