if 和else 基本知识

本文介绍了C语言中if和else的基本用法,包括单一判断、多重条件判断、悬空else现象以及大括号对代码结构的影响。
摘要由CSDN通过智能技术生成

if else 在c语言中0为假⾮0表⽰真,也就是表达式的结果如果是0,则语句不执⾏,表达式的结果如果是不是0,则语句执⾏。

下面展示一些 内联代码片

一、认识if 和 else 基本操作

int main()
{
    int age = 0;
    scanf("%d", &age);
    if (age >= 18)       //判断:如果的意思为真就执行if大括号里面,if后面只能有一条判断语句语句
    {
        printf("已经成年");
    }
    else      //判断:为假后的运行,else后面不能跟判断语句
    {
        printf("未成年");
    }
    return 0;
}

二、使用if else 进行多重判断

在if else 中 else 可以与另一个if 语句连用,构成多重判断
如下代码: 判断输出的是正数,还是负数

#include <stdio.h>
int main()
{
int num = 0;
scanf("%d", &num);
if(num == 0)
printf("输⼊的数字是0\n");//默认if  else  后面只能跟一条语句  如果需要多条语句需要加入大括号
else if(num > 0) //这⾥的if 相当于嵌套在els语句中,形成了嵌套结构
printf("输⼊的数字是正数\n");
else
printf("输⼊的数字是负数\n");

return 0;
}

三、悬空 else 问题

int main()
{
    int a = 0;    // if else  中 else会和最近的if 匹配  所以最后这段代码什么都不输出
    int b = 2;
    if (a == 1)   //a=0,所以这句if 为假,他并没有配套的else语句所以什么都不输出
        if (b == 2)       
            printf("hehe\n");
       else
            printf("haha\n");
    return 0;
}

四、有无大括号的差别

if else  有大括号的情况:代码会比较整洁,更加容易让自己看懂。
#include <stdio.h>
int main()
{
    int age = 0;
    scanf("%d", &age);
    if (age < 18)
    {
        printf("少年\n");
        printf("还很年轻\n");
    }
    else
    {
        if (age <= 44)
        {
            printf("青年\n");
            printf("还很强壮\n");
        }
        else
        {
            if (age <= 59)
            {
                printf("中老年\n");
                printf("上了年纪\n");
            }
            else
            {
                if (age <= 90) {
                    printf("老年\n");
                    printf("年纪较大\n");
                }
                else {
                    printf("老寿星\n");
                    printf("寿比南山\n");
                }
            }
        }
    }
    return 0;
}

无大括号:容易让自己混淆if else的匹配

int main()
{
	int num = 0;
	scanf("%d", &num);
	if (num == 0)
		printf("输⼊的数字是0\n");
	else if (num > 0)
		printf("输⼊的数字是正数\n");
	else
		printf("输⼊的数字是负数\n");      

	return 0;
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值