2008.9—2011.1的大学三年

    记得刚上大学时,并不知道这个软件工程是干嘛的。大一下学期学C语言时感觉是学编程语言的。刚学C时,老师叫我们把谭浩强那本书中的绪论的例题抄一遍,看自己能不能运行。我班有好几个人都正确的运行了,我也运行出来的,对于一个我这样的电脑盲来说能把一个程序运行出来,很有自豪感,成就感 。这时只是对C有了点好感,还不是喜欢,而这时我们寝室都买了电脑,哈哈,刚买电脑来时男孩子都是玩游戏了,那时我们寝室多疯狂啊,一边玩听着林俊杰的歌《不朝不用花钱》一起玩魔兽RPG《荆州之战》很开心 ,杨超也天天跑到我们寝室来玩几把,每天晚上都玩的停电。到现在我还经常玩,但是我还是玩的很烂,就这样开心的过了一个月,什么C语言啊,只是上课听了下,下课一下都没有看书。发现自己很多都不懂,每天晚上我就去自习补回来,还去图书馆找了本练习来做。现在我才真正的喜欢上C语言,我看绪论时问题最多,看的很烦什么都不懂,如源程序经过编译成目标程序文件,目标文件与系统提供的库函数等连接,得到可执行的目标文件。最后把.exe文件调入内存并使之运行,还有就是那个main()方法,我觉得好怪,在写“Hello !Word”时有很多的疑问和问题,最后我也不愿想了,老师说这是写程序,运行程序的步骤,只要把结果弄出来就可以了,我就这样照着写了。讲第三章时,基本数据类型,在数据分配内存时我看了很久才迷迷糊糊的看懂了点,我被那个整形和长整形,还有无符号整形和有符号的整形他们之间的互相赋值搞晕了,因为C语言不像其他的语言因类型不同(强制类型除外)会提示错误不能运行,而C他们之间的赋值是可以的但是结果不是你要的。 C语言中的数据存储都是二进制代码01,所以他们之间的赋值就是根据他们类型所占的字节数相互赋值,这也是我喜欢C的原因之一,数据类型都很灵活。后面的语句,控制结构等没有什么的疑问,但是书上常常提起的机器指令让我很好奇,好了,现在我的问题和疑问就没有断过了,一系列的困惑来了,可以这样说书看的越多就感觉你不懂的越不多。像我们写的源程序,在编译器中是怎样的被电脑执行的,以前老师说是编译,连接,就这么简单吗,就这几个字,不是的,觉的没有这么简单,解决这个困惑成了我学习的主要目的。

大二上学期,开始学习c++,数据结构等,在学C++时被那个构造函数,拷贝构造函数,析构函数,类的抽象搞晕了。开始时很不理解类,明明很简单的一个程序,如一个Clock时钟类我觉得好怪啊,为什么要这么麻烦,不就是定义几个带参数,返回值的函数吗?再定义一个数据结构存储这些数据类型吗?偏要弄的这样麻烦来个什么的class,很不理解,等看到后面的继承,多态等,就可以感觉到写成类是有必要。这是一种面向对象思想,因为这种思想:与人类习惯的思维方法一致,数据与函数放在一个类中(抽象 封装),时钟clock类,它有自己的数据,时分秒,也有自己的操作,可以被设置时间(通过一个带参数的接口);稳定性好,传统的软件开发(如C)以算法为核心,开发过程基于功能分析和分解,面向对象基于构造问题领域的对象模型,以对象为中心构造软件系统,所以当对系统的功能需求变化时并不会引起软件结构的整体变化,往往仅需要作一些局部性的修改(继承);可重用性好,这一点就不说了,用过的人都知道;轻易开发大型的软件产品,这一点是书上说的,没有做过大型的软件所以我不知道但可以感受到;可维护性好,类是理想的模块机制,修改一个类通常很少会牵扯到其他类。好了类的好处知道了,但是为什么又要来个构造函数,拷贝构造函数,析构函数了我很不懂,就继续在图书馆找相关的书看,原来每一个变量在程序运行时都要占据一定的内存空间,在声明一个变量时对变量进行初始化,就意味着在为变量分配内存单元的同时,在其中写入了变量的初始值,如果没有初始化而被使用会在编译时产生错误,所以构造函数就是为初始化而提出的,问题又来了怎样定义,和使用这个构造函数了这又是一个麻烦,定义构造函数如果没有继承,只是一个类自己的构造函数写起来很简单,但是有继承和类对象数据成员时就要繁琐点了,要经常敲代码才可以达到熟练,光说没用,要多巧,好了定义好了,现在可以用了,构造函数是在对象被声明时自动调用的,所以千万要注意,是自己自动调用的,当时我是就范了这样的错误,如:我定义了一个类的构造函数clock(Int ,int,int),但是我在声明时这样定义Clock c;这肯定是错了,所以在定义时不能像其他基本数据类型一样那么随便的定义一个对象,那个系统自己定义的构造函数,拷贝,析构等大多数都是满足不了自己的功能的,所以必须自己写。构造函数懂了其他的也就自然的可以看懂了。数据结构很喜欢那里面的算法,倒没有什么的疑问,主要是自己用一种欣赏加模仿的去学数据结构。数据结构里的算法确实很好,也很难。

大二下学期,汇编,计算机组成,数据库哎这几门可把我搞晕了,不过计算机组成,汇编帮我解决了上面说的编译,连接还有cpu怎样运行指令的等很多的疑惑。汇编中的第一章基础知识就给了我很多的难题很困惑,80x86和pentium微处理的功能结构看了好久都没有看懂,我一直都想知道我们的程序是怎样被CPU执行的,我觉得这幅图8086CPU结构示意图可以帮我解决我的问题,但是问老师时,老师总说这个不是我的课程任务,还说到时候你会知道的。我已经习惯了,如果老师能给我答案,我就不会有那么多的疑问留到今天了,我想这就是三本吧,我也认命了,谁叫自己没有考到好的大学,只有自己多看点书了,多走点弯路。学计算机组成和汇编时我有一段时间很想去看逻辑电路书。这个学期结束后,关于编译,连接还有指令涉及到硬件的东西我都很感兴趣,也很迷惑,我想这些问题在这个学校根本不可能帮我解决的。

大三了,我一直都在想我学到了什么,我觉得自己什么都不会,大一时的那种好奇,迷惑现在都放在心里了。我可以说我的大学一直都是带着疑问看书,学习,所以我什么都不会,我会的或许别人早就会了,我会的都是自己不懂的,或许还有很多人懂的我还不懂,或许我还根本没有意识到。我背课文很烂,但我总喜欢写自己的看法,但又往往答的不全,或很片面,也因为这个觉得自己的理解力很差。

我还有个看书的习惯,每本书我看的最仔细,最认真的就是第一章 ,绪论等一般问题都是在这里产生的,我就是带着这些问题去看后面,所以我觉得自己一本书看进去了没有,就看你第一章有没有问题,有没有疑惑。

这里没有我要的答案。为了寻找自己的答案和困惑而努力。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值