牛蛙资源网 - 只为资源而生,分享永无止境
牛蛙资源网-只为资源而生,分享永无止境,牛蛙网

简单好玩的编程代码有哪些?创意告白的编程代码大全

牛蛙小编 经验分享

资源介绍

编程的快乐在于它不仅满足了我们内心深处进行创造的欲望,而且还唤醒了每个人内心的情感,写下一行代码,立即就能知道它的对错;你写完一个程序,一运行就能知道成功与否,创作出一个又一个有趣的画面是那么的令人心动,那么简单好玩的编程代码有哪些呢?

简单好玩的编程代码有哪些?创意告白的编程代码大全

简单好玩的编程代码有哪些?

换两个变量的值

比如交换a,b两个变量的值。(默认它们都是int类型)。经典而又安全的解法是这样的:

简单好玩的编程代码有哪些?创意告白的编程代码大全

借助第三变量完美的解决了问题,安全又易懂。然而我看到有些人不需要借助第三变量的,他们的解法是这样的:

简单好玩的编程代码有哪些?创意告白的编程代码大全

这种方法虽然也成功交换了两个变量的值,但出错的情况也不容小看。以int类型为例,int类型的变量占四个字节,一个字节8位,总共是32位。一个int类型的变量能最大表示的二进制数是

11111111-11111111-11111111-11111111对应的十进制数是4294967295。

而如果我们交换的两个变量的和超过了这个数就会出错。

出错在这一步:a+=b。从理论上是约有一半的可能出错,但从实际上看可能不会,因为我们不会交换这么大数量的值。其实我做过的程序案例那么多,我还没遇到过要交换两个变量的。

第二种方法除了可以省一个变量的内存外,我还没看到有别的优点。如果你觉得这种方法逼格高一点,那么请看下面的第三种方法:

简单好玩的编程代码有哪些?创意告白的编程代码大全

这种方法用到了异或运算浮:^。异或运算的意思是两个变量对应的二进制数相应位值是否相异,相异的为1,相同的为0也就是 0^0=0; 1^1=0; 0^1=1; 1^0=1; 比如2^6=4;

因为十进制的2对应的二进制为010;十进制的6对应的二进制为110,对应位相异或后得100也就是4。学过逻辑电路的孩子们应该更加清楚异或运算。

这种方法逼格更高不过缺陷也更大,因为异或运算属于位运算,而位运算只能作用于整数类型,也就是说用这种方法不能交换两个有小数的变量了。

神奇的死循环

有时候下面这段代码会出现死循环:

简单好玩的编程代码有哪些?创意告白的编程代码大全

原本只是想通过for循环让数组的每一个元素为零,没想到却出现了死循环。很多人觉得问题出在i<=10这里,没错这是直接原因,但死循环的根本原因却是在第一行。

编译器有可能将i的存储地址紧接在数组之后,当数组越界访问到a[10]时正好是i的位置将i置0了,也就永远循环下去了。这就是为什么每本书都说数组越界会产生意想不到的效果。

当然也有可能编译器不把i的地址放在数组之后,你得看它心情。避免上述错误的方法就是养成良好的编程习惯。能用局部变量就不用全局变量,能用作用域小的变量就不用大的,比如上面的i明明就可以放在for循环里面定义。


    收藏永久发布页,不迷路
    关键词不能为空

免责声明:

本站提供的资源,都来自网络,版权争议与本站无关,所有内容及软件的文章仅限用于学习和研究目的。不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负,我们不保证内容的长久可用性,通过使用本站内容随之而来的风险与本站无关,您必须在下载后的24个小时之内,从您的电脑/手机中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。侵删请致信E-mail: 1470282@qq.com

我来说两句
签到
经验分享 简单好玩的编程代码有哪些?创意告白的编程代码大全
资源介绍 编程的快乐在于它不仅满足了我们内心深处进行创造的欲望,而且还唤醒了每个人内心的情感,写下一行代码,立即就能知道它的...
扫描二维码阅读原文 扫描二维码阅读原文
牛蛙资源网 January, 01
生成社交图 ×