美文网首页程序员
小朋友学C语言(15):“变量==常量”与“常量==变量”的区别

小朋友学C语言(15):“变量==常量”与“常量==变量”的区别

作者: 海天一树X | 来源:发表于2017-10-03 22:37 被阅读0次

(一)编写程序

#include <stdio.h>

int main()
{
    int x = 10;
    if(x == 10)
    {
        printf("x equals 10\n");
    }
    
    return 0;
}

运行结果:

x equals 10

(二)将x == 10改为10 == x

#include <stdio.h>

int main()
{
    int x = 10;
    if(10 == x)
    {
        printf("x equals 10\n");
    }
    
    return 0;
}

运行结果:

x equals 10

结论:
C语言中,x == 10与10 == x的结果是一样的,都是判断x和10是不是相等。相等为真,不相等为假。

(三)假如在编写第一个程序的时候,if中的等号少写了一个,程序变成:

#include <stdio.h>

int main()
{
    int x = 10;
    if(x = 10)
    {
        printf("x equals 10\n");
    }
    
    return 0;
}

运行结果:

x equals 10

虽然运行结果是对的,但是逻辑上已经不一样了。这里是两次把10赋值给x,然后再判断x是否为真。

(四)如果第2个程序中漏打了一个等号,程序变为

#include <stdio.h>

int main()
{
    int x = 10;
    if(10 = x)
    {
        printf("x equals 10");
    }
    
    return 0;
}

编译出错 ,这是因为,C语言中,只允许把常量赋值给变量,不允许把变量赋值给常量。常量不能被赋值。

结论:建议写成10 == x,不要写成x == 10。这样一旦漏打了一个等号,编译器报错,程序员可以立马修改。

(五)看看x = 0的情景

#include <stdio.h>

int main()
{
    int x = 0;
    if(x == 0)
    {
        printf("x equals 0\n");
    }
    else
    {   
        printf("x not equals 0\n");
    }
    
    return 0;
}

运行结果:

x equals 0

(六)假如第5个程序中,程序员因粗心漏打了一个等号,程序变为

#include <stdio.h>

int main()
{
    int x = 0;
    if(x = 0)
    {
        printf("x equals 0");
    }
    else
    {
        printf("x not equals 0");
    }
    
    return 0;
}

运行结果

x not equals 0

分析:原本x与0是相等的,但是因为这里少打了一个等号,导致两次都是赋值操作,x为0,if里的判断条件为假,得出了x不等于0的错误结论。

结论:
当少打一个等号的时候,写成“常量 == 变量”编译不成功,这样程序员可以立马发现少打了一个等号。;
尤其是在变量为0的情况下,可以避免写成if(变量 = 0)而得到相反的结论。

建议:
写程序时一律写成if(“常量 == 变量”),比如if(10 == x)
不要写成if(“变量 == 常量”),比如if(x == 10)

(七)作业
默写上面程序中的任何一个。

想了解小朋友学编程可加QQ 307591841 或微信 307591841

关注微信公众号请扫二维码 qrcode_for_kidscode_258.jpg

相关文章

  • 小朋友学C语言(15):“变量==常量”与“常量==变量”的区别

    (一)编写程序 运行结果: (二)将x == 10改为10 == x 运行结果: 结论:C语言中,x == 10与...

  • 2.JavaScript常量和变量

    JavaScript常量和变量 JavaScript中常量、变量的概念和C语言一样* 常量: 固定不能改变的数...

  • C语言从零开始(五)-常量&变量

    今天我们来仔细说说常量和变量。 一,常量 记得博主当年学C语言的时候总是搞不懂什么是常量。统统当做是变量,当时并不...

  • 02-JavaScript常量和变量

    JavaScript常量和变量 JavaScript中常量、变量的概念和C语言一样 常量: 固定不能改变的数据整型...

  • 「C 基础」变量类型

    C 语言内存分配 常量区:存放 常量字符串 堆:存放 对象 栈:存放 局部变量 变量的属性 一、变量的作用域 C ...

  • 初探php

    常量与变量 变量:$; 常量:const;可以使用define定义常量;

  • C语言中的数据表现形式

    常量和变量 在C语言中,常量和变量都是可以用来存储和表示数据的,常量值在程序执行的过程中是不可变的,而变量是可变的...

  • 快速上手Dart语言

    1. 变量与常量 变量声明: 常量声明: 区别:const必须赋值常量值,编译期间必须给一个确定值(编译时)fin...

  • [Swift]-基本语法

    变量与常量 声明常量与变量 声明常量或变量时进行类型标注 开发中尽量使用常量,因为常量运行效率跟高。 命名规则 区...

  • Kotlin“盛装”数据的小容器——变量

    无论什么编程语言,总是要处理数据的,处理数据就需要使用变量来保存数据。 常量与变量的区别是: 常量一旦保存某个数据...

网友评论

    本文标题:小朋友学C语言(15):“变量==常量”与“常量==变量”的区别

    本文链接:https://www.haomeiwen.com/subject/gzxqyxtx.html