c语言实验常量与变量的作用,小朋友学C语言(15):“变量==常量”与“常量==变量”的区别...

(一)编写程序

#include

int main()

{

int x = 10;

if(x == 10)

{

printf("x equals 10\n");

}

return 0;

}

运行结果:

x equals 10

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

#include

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

int main()

{

int x = 10;

if(x = 10)

{

printf("x equals 10\n");

}

return 0;

}

运行结果:

x equals 10

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

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

#include

int main()

{

int x = 10;

if(10 = x)

{

printf("x equals 10");

}

return 0;

}

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

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

(五)看看x = 0的情景

#include

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

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)

(七)作业

默写上面程序中的任何一个。

更多内容请关注微信公众号

0818b9ca8b590ca3270a3433284dd417.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值