C语言 if语句

[案例] 输入任意三个整数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语句,一律用花括号括起来。

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 我行我“速” 设计师:Amelia_0503 返回首页
实付 19.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值