欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

C语言 if语句

程序员文章站 2024-01-05 23:13:47
...

[案例] 输入任意三个整数num1、num2、num3,求三个数中的最大值。

[案例] 输入任意三个整数num1、num2、num3,求三个数中的最大值。
/*功能:说明if 语句的格式。*/
main()
{
    int num1,num2,num3,max;
    printf("Please input three numbers:");
    scanf("%d,%d,%d",&num1,&num2,&num3);
    if (num1>num2) 
        max=num1;
    else 
        max=num2;
    if (num3>max) 
        max=num3;
    printf("The three numbers are:%d,%d,%d\n",num1,num2,num3);
    printf("max=%d\n",max);
}
                        
程序运行情况如下:
Please input three numbers:11,22,18↙
The three numbers are:11,22,18
max=22

本案例中的第1个if语句,可优化为如下不带else子句的形式:
max=num1;
if(num2>max) max=num2;
这种优化形式的基本思想是:
首先取一个数预置为max(最大值),
然后再用max依次与其余的数逐个比较,如果发现有比max大的,就用它给max重新赋值,比较完所有的数后,max中的数就是最大值。这种方法对从3个或3个以上的数中找最大值的处理,非常有效。后面数组编程题也会用到这个方法。详情链接:

1.if语句的一般格式
if(表达式)
{语句组1;}
else
{语句组2;} ]
(1)if语句中的"表达式"必须用"(“和”)"括起来。
(2)else子句(可选)是if语句的一部分,必须与if配对使用,不能单独使用。
(3)当if和else下面的语句组,仅由一条语句构成时,也可不使用复合语句形式(即去掉花括号)。作者建议大家加上花括号。

2.if语句的执行过程
(1)缺省else子句时 当"表达式"的值不等于0(即判定为"逻辑真")时,则执行语句组1,否则直接转向执行下一条。
(2)指定else子句时当"表达式"的值不等于0(即判定为"逻辑真")时,则执行语句组1,然后转向下一条语句;否则,执行语句组2。
重点在下面:
3.if语句的嵌套与嵌套匹配原则:
if语句允许嵌套。所谓if语句的嵌套是指,在"语句组1"或(和)"语句组2"中,又包含有if语句的情况。 if语句嵌套时,else子句与if的匹配原则:与在它上面距它最近且尚未匹配的if配对。
为明确匹配关系,避免匹配错误,强烈建议:将内嵌的if语句,一律用花括号括起来。

相关标签: if语句

上一篇:

下一篇: