放下过去,拥抱将来

       我拾起心中曾经的梦想,重新开始了我的编程之路。vczl,vc之路不再是一句空话,我最终还是走上这条路,我会为之努力,因为这次机会来之不易,我一定倍加珍惜,可能途中艰难险阻,我绝不会轻易放弃。我听到了内心的声音,我跟随内心的声音。

       我想把每天的感悟和收获记录下来,算是给多年以后的自己的一份礼物。

       老张,算是我的启蒙导师,他讲的很有趣,经常举例子。在学校的温泉里学到的东西,还不及他两天扯的蛋。首先,学会了分解的思想,把复杂的任务分解成子任务,一层一层剥开,最后解决那个核心的问题。这两天碰到那些以前见过很多次面的老题目,什么水仙花数啊,什么一百以内的质数啊,依旧是懵逼的,但是运用分解的方法,这些问题变得小儿科,用老张的话说,我们这些人顶多算是学了一些计算机编程基础,根本挨不着C语言的边,接下来我们将真正走进C语言。(我就喜欢他吹牛的样子,哈哈)

       作为热身,先写了几个关于迭代的函数,我的水平确实低,之前我一直执着于循环里一定要有计数器,可能是用while用的太少的缘故吧,归根结底是底子薄。迭代的循环条件要保持一致,这个地方有时需要逆向思维,顺着来可能循环条件就是不一样的。

       函数要做单元测试(用例),这样能少走弯路,函数调用能避免多重循环,时间复杂度。要思维严谨,考虑周全,这是程序的容错能力。

       写程序最终要克服的是逻辑错误,也是设计问题,写的代码要具有可读性,便于维护。

       分解的具体内容:输入,输出,基本运算,测试和分支,循环。

       还有个很有意思的词,机制与策略。函数代表机制,调用者代表策略。这样看起来解决问题更简单了吧。策略上设计好解决大的问题,机制里实现小的问题。

       错误:编译时错误,链接时错误,运行时错误(run time),逻辑、语义错误(很多不可思议的错误可能就是语义错误造成的,比如2i 与2*i,哈哈哈)。警告不可忽略,那是隐藏的风险(可怕)。

       接下来,学习了数据类型。32位,64位主要是寄存器的字节长度,每行代码都要机器做些什么,数据类型就是占据不同数量的字节(一个字节8位),int 型占几个字节与机器有关,32位系统4个字节,64位系统8个字节。sizeof这个运算符可以作为测试。short型不超过int型,long型不低于int 型。char 型有无符号(不解释),不要随便用float型尽量用double型。“==”用来判断整型或者指针,不能用来判断浮点型。

       常量与变量,直接常量 100 (magic number),符号常量宏定义 #define MAX 100变量:每一个变量开辟一个存储单元。const修饰的变量也是变量,只不过是在编译时保护这个变量不被更改,但是运行时出错的话可以被更改。运行时三大错误(目前我只知道一个):内存越界(大忌)【没有警告提示】。全局变量没初始化的话,默认是0。定义要初始化,声明不初始化,只可以定义一次,但是可以声明多次。局部变量会把全局变量隐藏(出现相同的变量名字的时候),全局变量 g_a(尽量少用,或者不用),代码块作用域还没展开说,稍微提了一下。还有一些血和泪的教训:代码规范,哈哈哈。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值