重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
c语言提供了三种形式的if语句:
专注于为中小企业提供网站建设、成都网站设计服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业灵山免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千多家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
1、if(表达式)语句。
例如:if(xy)printf("%d",x);
此时,如果表达式为真,则执行printf语句。
2、if(表达式)语句1 else 语句2
例如:
if(xy)printf("%d",x);
else printf("%d",y);
此时,如果xy成立为真,则执行语句printf("%d",x),然后直接跳过else,同时也跳过语句printf("%d",y),去执行之后的语句。
如果xy不成立为假,则不执行语句printf("%d",x),执行语句printf("%d",x)。
3、if(表达式1)语句1
else if(表达式2)语句2
else if(表达式3)语句3
else if(表达式m)语句m
else 语句 n
此时,哪个表达式为真,则运行哪个if后面的语句。如表达式3成立为真,执行语句3。
在每个语句中,可以有多个语句,但需要加上大括号
例:if(xy){printf("%d",x);break;}
IF函数的参数:
(1)Logical_test 表示计算结果为 TRUE 或 FALSE 的任意值或表达式。
例如,A10=100 就是一个逻辑表达式,如果单元格 A10 中的值等于 100,表达式即为 TRUE,否则为 FALSE。本参数可使用任何比较运算符(=(等于)、(大于)、=(大于等于)、=(小于等于等运算符))。
(2)Value_if_true表示 logical_test 为 TRUE 时返回的值。
例如,如果本参数为文本字符串“预算内”而且
logical_test 参数值为 TRUE,则 IF 函数将显示文本“预算内”。如果 logical_test 为 TRUE 而
value_if_true 为空,则本参数返回 0。
(3)Value_if_false表示 logical_test 为 FALSE 时返回的值。
例如,如果本参数为文本字符串“超出预算”而且
logical_test 参数值为 FALSE,则 IF 函数将显示文本“超出预算”。如果 logical_test 为 FALSE 且忽略了
value_if_false(即 value_if_true 后没有逗号)。
main() {
int a=1,b=2,c=5,d=4,x=0; if(ab) { if(cd) x=1;
else if(ac) { if(bd) x=2;
else x=3; }
else x=6; }
else x=7;
printf("%d",x);
getch();
}
以上代码已经整理好了。因为第一if已经不满足,直接执行最后一个else,所以,结果是7. 针对这种问题,最好的方法是先用大括号把各个子句分好。
if连用的理解:两个if连用有两种方式,第一种是if……if连用,第二种是if语句的嵌套。
if……if连用:每一个if语句都是独立的,为了编码的规范,很少使用if……if这样的格式,一般使用if……else或者使用switch……case语句代替。
if语句的嵌套:所谓if语句嵌套即第1个if的if子句依然是if语句,第2个if的if子句依然是if语句 ,依次类推。
解答:
因为a=2,b=3,所以ab。
因为第一个if为假,故第二个if无法执行,else无法执行。
故执行printf("over!\n")。
然后编译运行,结果为:over!换行。
扩展资料:
c语言三种if语句的形式:
if(表达式)语句。例如:if(xy)printf("%d",x)
if(表达式)语句1 else 语句2。例如:if(xy)printf("%d",x);else printf("%d",y);
if(表达式1)语句1,else if(表达式2)语句2,else if(表达式m)语句m,else 语句 n。
在每个语句中,可以有多个语句,但需要加上大括号,例如:if(xy){printf("%d",x);break;}
参考资料:百度百科-if语句
int main(void)
{
int a=2,b=-1,c=2;
if (ab) //第1个if
if (b0) //第2个if
c = 0;
else
c++;
printf("%d\n",c); //输出结果为: 2
return 0;
}
/**分析如下:
你的理解是不对的,你可能还没有弄明白else与if的匹配规则:else总是与其最近的没有被else匹配的if相匹配,有点绕,以你的程序为例分析:
else的上面有两个if,与其最近的是第2个if,这个if还没有else与其匹配,那么else就与该if匹配,如果我们把上面的语句修改如下:
if (ab) //第1个if
if (b0) //第2个if
c = 0;
else c=1; //这里增加了一个else语句
else
c++;
如果改成了上面这样的话,由于第2个if已经有else与其匹配了,那里else c++;这条语句就是与第1个if匹配了。
*/
希望对你理解if...else语句有所帮助吧。