c语言 快速判断两个数是否相等_C语言入门——第二周笔记

80b42e7b8541b55ee2846a825a13bc3d.png
木叶医院,一名婴儿在几名医疗忍者的努力下,缓缓睁开了眼睛。
”这,这孩子的眼睛?“
——《火影之雪殇》

做判断

还记得上周的内容当中,我们有这样一段。

ceb1f7c2679cb267bd687ce0fbdcb1de.png

如果

  • 就用分别减的方案,然后判断有没有出现错位行不行?
  • 错位的表现是,分钟减的结果小于0

int im = minute2-minute1;

if ( im <0 ){

}

虽然2点10分减1点40分(分钟减分钟,时钟减时钟)得到的1小时负30分,然我们都知道,其实这负30分钟应该加上1小时,也就是30分钟。

所以这里,我们需要做一个调整(当出现负数时),就是把那个小时数减一;然后分钟数做一个调整,比如10分钟减40分钟,减下来得到的是负30分,其实我们知道,那应该是60减30,正确的是过了30分钟,而不是负30分钟。所以,如果语言,有这么一种机制,它能够帮我们做这样的一种判断,根据某种条件决定做这件事情,还是不做这件事情,那,我们就有可能写出这样的一种代码来。

#include <stdio.h>

int main()
{
      
    int hour1, minute1;
    int hour2, minute2;

    scanf("%d %d", &hour1, &minute1);
    scanf("%d %d", &hour2, &minute2);

    int ih = hour2 - hour1;
    int im = minute2-minute1;
    if ( im <0 ){
    
        im=60+im;
        ih --;
    }
    printf("时间差是%d小时%d分。n", ih, im);
    
    return 0;
}

我们在这个当中,用了C语言的一种手段,叫做条件判断。我们用的是这个叫做“if”的东西。如果im<0,我们要做的就是让60加上im,把那个复数给补回去,然后,我们还要让ih(小时)减一。如果im不小于0,我们就不需要做这样的一个调整了。所以,这是我们在C语言中的一种机制,叫做if语句,叫做判断机制。我们可以给定一个条件,判断一件事是做还是不做。

我们来试一下这几行代码是怎样运行的。

56e8a4e3892cfacef4300ba67abd0797.png

我们输入了,2个数,得到的是0小时40分。那么,在这个语句中,if是怎么起作用的呢?

如果条件满足,则做所有大括号里的语句,如果不满足,计算机则直接跳过这一大段语句。(具体 步骤可用“调试”功能查看)。

判断的条件

在上面的程序中有这么一段if( im <0){ im=60+im; ih --;},在这个圆括号里面出现了“<”,“<”是用来做比较的,除了“<”,我们当然还会有“>”,和判断他们是否相等的“=”。在if语句的圆括号里的东西,我们把他称为运算。这个运算,计算两个值之间的关系所以叫关系运算。

99b3fc5f2ce9ba3ff90abcd1015c8a93.png

注意!这张图里,第一行是两个“=”号,而不是一个“=”。如果是一个“=”,我们就会用掉了,因为它代表赋值,只有当“==”,才表示相等;第二行的“!=”中的“!”在C语言中表示“否”、“非”,“不是”。

关系运算的结果

  • 当两个值的关系符合关系运算符的预期时,关系运算的结果为整数1,否则为整数0
  • printf(“%dn”,5==3);
  • printf(“%dn”,5>3);
  • printf(“%dn”,5<=3);

我们来看一下运行结果。

653b181367dfbc6894bb0d596cb53117.png

所以,比较运算的结果值,只有“0”和“1”这两种值,不会有其他值。

既然,它们都是运算符,那它们肯定有优先级。

优先级

  • 所有的关系运算符的优先级比算术运算的低,但是比赋值运算的高。
  • 7>=3+4
  • Int r = a>0;
  • 判断是否相等的==和!=的优先级比其他的低,而连续的关系运算是从左到右进行的
  • 5>3==6>4
  • 6>5>4
  • a==b==6
  • a==b>0

7>=3+4中,这里,我们按照运算法则,先算加法,再判断大小。我们用计算机看一下,是不是这样算的。

06799f85293879056222eda393d2cabb.png

没错是这样计算的,结果为1,所以关系运算符的优先级比算术运算的低。

再看看6>5>4;

080cf83f1fa305bf873cc7cb9c5ea24a.png

找零计算器

  • 找零计算器需要用户做两个操作:输入购买的金额,输入支付的票面,而找零计算器则根据⽤用户的输入做出相应的动作:计算并打印找零,或告知用户余额不足以购买。
  • 从计算机程序的角度看,这就是意味着程序需要读用户的两个输入,然后进行一些 计算和判断最后输出结果。
#include <stdio.h>
int main()
{
    
    //  初始化
    int price=0;
    int bill=0;
    //  读入金额和票面
    printf("请输入金额:");
    scanf("%d",&price);
    printf("请输入票面:");
    scanf("%d",&bill);
    // 计算找零
    printf("应该找您:%d",bill-price);

    return 0;
}

这个找零程序,比以往多了一个注释。那么,什么是注释,注释有什么用,怎么用?

注释

  • 以两个斜杠“//”开头的语句把程序分成了 三个部分:

1. 初始化 2. 读入金额和票面 3. 计算并打印找零

注释(comment)插⼊入在程序代码中, 用来向读者提供解释信息。它们对于程序的功能没有任何影响,但是往往能使 得程序更容易被人类读者理解。

/* */注释

  • 延续数行的注释,要用多行注释的格式来写。多行注释由⼀一对字符序列“/*”开始, 而以“*/”结束。
  • 也可以用于一行内的注释
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值