作者在 2011-08-09 16:54:15 发布以下内容
/*
时间:2011年8月9日16:27:16
目的:测试if的用法及注意事项
*/
# include <stdio.h>
int main(void)
{
/*
if的用法
格式:
if (表达式)
语句
功能:如果表达式为真执行语句;如果表达式为假,语句不执行
*/
if (3 > 2) //如果括号里的表达式为真,执行下边的语句
printf("AAAA\n"); //这里3>2为真,所以执行printf,最后输出AAAA
if (3 < 2)
printf("BBBB\n"); //这里3<2为假,所以printf不执行,不输出BBBB
if (3 < 2) //这里3<2为假,那么下面的两个语句是否都不执行呢?
printf("CCCC\n"); //最后没有输出CCCC,说明这句没执行
printf("DDDD\n"); //DDDD输出了,说明这句执行了,并不受表达式为假的影响。所以if控制的范围仅是紧跟它的一个语句
if (3 < 2)
{ //如果想用if控制多个语句,必须用花括号括起来
printf("EEEE\n");
printf("FFFF\n"); //这里两个语句都受if控制,由于表达式3<2为假,所以都不执行,EEEE和FFFF都不输出
}
/*
if...else...的用法
格式:
if (表达式)
语句A
else
语句B
功能:如果表达式为真,执行语句A;否则,执行语句B
*/
if (3 > 2)
printf("GGGG\n"); //表达式为真,所以这个语句执行,输出GGGG
else
printf("HHHH\n");
if (3 < 2)
printf("IIII\n"); //表达式为假,所以这个语句不执行
else
printf("JJJJ\n"); //而这个语句执行,输出JJJJ
if (3 > 2)
printf("KKKK\n"); //这个语句执行,输出KKKK
else
printf("LLLL\n"); //而这个语句执行
printf("MMMM\n"); //关键是这个语句,仍然执行,输出MMMM,所以else和if一样,也是只能控制紧跟它的一个语句
/*
if...else if...else的用法
格式:
if (表达式A)
语句A
else if(表达式B)
语句B
else
语句C
功能:如果表达式A为真,执行语句A;
*/
int i = 2;
if (i > 2)
printf("NNNN\n");
// printf("OOOO\n"); //这一句不能加,因为if只能控制一个语句,加在这里会破坏整个的结构,造成后面的else找不到匹配的if。错误:illegal else without matching if
else if (i < 2)
printf("OOOO\n");
else
printf("PPPP\n"); //i>2和i<2两个表达式都为假,执行最后这条语句,输出PPPP
return 0;
}
/*
在VC++6.0中的输出结果为:
————————————
AAAA
DDDD
GGGG
JJJJ
KKKK
MMMM
PPPP
Press any key to continue
————————————
*/
时间:2011年8月9日16:27:16
目的:测试if的用法及注意事项
*/
# include <stdio.h>
int main(void)
{
/*
if的用法
格式:
if (表达式)
语句
功能:如果表达式为真执行语句;如果表达式为假,语句不执行
*/
if (3 > 2) //如果括号里的表达式为真,执行下边的语句
printf("AAAA\n"); //这里3>2为真,所以执行printf,最后输出AAAA
if (3 < 2)
printf("BBBB\n"); //这里3<2为假,所以printf不执行,不输出BBBB
if (3 < 2) //这里3<2为假,那么下面的两个语句是否都不执行呢?
printf("CCCC\n"); //最后没有输出CCCC,说明这句没执行
printf("DDDD\n"); //DDDD输出了,说明这句执行了,并不受表达式为假的影响。所以if控制的范围仅是紧跟它的一个语句
if (3 < 2)
{ //如果想用if控制多个语句,必须用花括号括起来
printf("EEEE\n");
printf("FFFF\n"); //这里两个语句都受if控制,由于表达式3<2为假,所以都不执行,EEEE和FFFF都不输出
}
/*
if...else...的用法
格式:
if (表达式)
语句A
else
语句B
功能:如果表达式为真,执行语句A;否则,执行语句B
*/
if (3 > 2)
printf("GGGG\n"); //表达式为真,所以这个语句执行,输出GGGG
else
printf("HHHH\n");
if (3 < 2)
printf("IIII\n"); //表达式为假,所以这个语句不执行
else
printf("JJJJ\n"); //而这个语句执行,输出JJJJ
if (3 > 2)
printf("KKKK\n"); //这个语句执行,输出KKKK
else
printf("LLLL\n"); //而这个语句执行
printf("MMMM\n"); //关键是这个语句,仍然执行,输出MMMM,所以else和if一样,也是只能控制紧跟它的一个语句
/*
if...else if...else的用法
格式:
if (表达式A)
语句A
else if(表达式B)
语句B
else
语句C
功能:如果表达式A为真,执行语句A;
*/
int i = 2;
if (i > 2)
printf("NNNN\n");
// printf("OOOO\n"); //这一句不能加,因为if只能控制一个语句,加在这里会破坏整个的结构,造成后面的else找不到匹配的if。错误:illegal else without matching if
else if (i < 2)
printf("OOOO\n");
else
printf("PPPP\n"); //i>2和i<2两个表达式都为假,执行最后这条语句,输出PPPP
return 0;
}
/*
在VC++6.0中的输出结果为:
————————————
AAAA
DDDD
GGGG
JJJJ
KKKK
MMMM
PPPP
Press any key to continue
————————————
*/