c语言分支之if语句及相关操作符

本文详细介绍了C语言中的if语句结构,包括单分支、双分支(else)、多分支(elseif)以及嵌套使用时的注意事项。此外,还涵盖了关系操作符、逻辑操作符(&&,||)和条件操作符(?:)的运用实例。
摘要由CSDN通过智能技术生成

if语句:

1 if(表达式)

2        语句

表达式成立则执行语句。若表达式为一个数或可被计算为一个数,则结果不为0时执行语句(c语言中0为假,非0为真)。

双分支用else,多分支加上else if(数量由分支个数决定)

注意:语句超过一行时,若不用{}打包,会被计算机解释为和其他分支共用。甚至使分支结果混乱(例如嵌套if语句中注意事项)。

嵌套if语句(分支中再分支)注意:else与最接近的if配对。例:

#include <stdio.h>
int main()
{
    int a = 0;
    int b = 2;
    if(a == 1)
        if(b == 2)
            printf("hehe\n");
    else
         printf("haha\n");
    return 0;  
}

运行结果:无输出。该程序相当于:

#include <stdio.h>
int main()
{
    int a = 0;
    int b = 2;
    if(a == 1)
    {
        if(b == 2)
            printf("hehe\n");
        else
         printf("haha\n");
    }
    return 0;  
}

要想打印“haha”,应将第二个if语句用{}包起来。


1.关系操作符         >    <    =    <=小于等于    >=大于等于

!=不等于

==等于(表判断)

关系表达式返回0或1,表示真假

用于if语句:

if(a == b)

        语句

若a = b,则执行语句。

注意:

  • ==不可写为=(赋值符号),例如a = 10,将10赋值给a
  • 关系操作符连用不能达到预期效果,例如a<b<c,不是让b的值在a和c之间,会被计算机解释为(a<b)<c,a<b返回0或1,再判断0或1和c的大小关系,最终返回0或1。要达到预期效果,应:a < b && b < c(&&下文解释)

2.逻辑操作符: &&与      ||或       !非

&& :两个表达式均成立为真(返回1,否则0)。

||:任意一个表达式成立为真。

&&,||的判断均为从左往右。&&和||同时用时,&&比||优先,但最好用括号表示优先运算。

例:

1 if (a < b && (b > c || b > d))

先判断b > c || b > d,返回值(0或1),在判断&&两边

!:

a

!a
非00
0非0

3.条件操作符:exp1 ? exp2 : exp3

exp1为真,则结果为exp2的计算结果;exp2为假,则结果为exp3的计算结果。例;

#include <stdio.h>

int main()
{
	int a = 0;
	int b = 0;
	scanf("%d %d", &a, &b);
	int m = a > b ? a : b;
	printf("最大值是%d", m);
	return 0;
}

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值