《C程序设计语言》读书笔记及课后答案.doc

《C程序设计语言》读书笔记及课后答案.doc

ID:53423

大小:393.50 KB

页数:61页

时间:2017-04-29

《C程序设计语言》读书笔记及课后答案.doc_第1页
《C程序设计语言》读书笔记及课后答案.doc_第2页
《C程序设计语言》读书笔记及课后答案.doc_第3页
《C程序设计语言》读书笔记及课后答案.doc_第4页
《C程序设计语言》读书笔记及课后答案.doc_第5页
资源描述:

《《C程序设计语言》读书笔记及课后答案.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、通过一周多的学习,大体看完了《C程序设计语言》这本书,这是我的笔记。(一)读这本书的目标是什么?(1)、读完后必须深入了解C的语法以及内涵,并且达到熟练应用。(2)、通过练习习惯一种编程风格,深入理解指针,数组,结构体以及内存分配。(3)、通过练习锻炼逻辑思维能力(4)、学完后编程要上一个层次,自己能够编写出有用的C代码。(二)这本书哪个部分是我要重点看的?(1)、指针、数组、结构体(2)、内存分配(3)、输入输出及接口问题(三)读这本书我有什么收获?3、1对于本书的感受这是一本经典的C语言书籍,与其他语法书不同

2、的是所有语法都是用例题来讲的,通过例子理解并练习语法,另外这本书的习题比较难做,不是简单的考语法,而是一些有意义的习题。通过做练习发现还是有所收获的。本书中与Linux联系密切,用C重写了许多简化版的Shell命令如:grep,ls,cat,sort,tail,cp等等。3、2收获:因为本来就有C语言的基础知识,所以对于语法问题基本没有多学新的知识,但是仍然对以下几点有了新的了解:1)、位字段,不管是通过直接设置位字段还是用以前的位计算,都有新的了解与认识。2)、指针。建立了“指针为大”的思想,对于应用指针进行类

3、型转换以及运算都有了新的认识。比如:inta=5,char*p,p=(char)&a,*p=‘c’;建立这样的过程对于更加复杂的指针转换就理解了。3)、结构体。通过第六章对于二叉树以及哈希表的应用深入了解结构体,并且通过调试程序观察递归过程,同时对递归有了一定的理解。4)、内存分配malloc函数,通过第八章的学习对malloc函数的内部进行分析,理解了动态内存管理机制。3.3学习的程度以及那些地方存在不足:对于C的基本语法已经差不多了,但是否达到了当初的目标即在编程方面上一个层次,这我并不敢确定,因为到现在为止

4、这本书上的习题有些我都没有搞定,又看了一下以前的有关C的东西是觉得已经好了许多了,最起码对于很麻烦的程序不再感到畏惧了。另外觉得自己对于某些问题还是没有理解透彻,比如说输入输出时的缓冲机制,比如说指针与结构体的灵活运用,比如说如何能够运用模块化的思想把一个大的问题逐步细分,通过一个一个的小模块(函数)逐步解决,这些有的是与逻辑思维有关,有些是与某方面的专业知识有关,有些是单纯与C有关,比如说有关缓冲与内存的知识要了解操作系统,另外编译原理也要知道,这些我以前都没有学过,以后会找机会补一补。当然随着进一步的学习与应

5、用,会逐渐的熟练或理解某一些知识点。另外因为时间的原因,对于许多练习没有真正的从各个方面去思考,只是做出来就完了,也没有返回去再仔细考虑每一道习题的意义以及对于我的收获。所以还有待以后有时间在对某些知识点进行学习。习题是本书的重点,也用了不少时间,其中有些是通过对章节内容的学习后自己做出来的(S),有些是参考别人的,参考的原因主要有:(A)对题目不理解,不明白具体要做到什么程度。(B)自己写了但是不知道对不对参考后发现自己的程序有问题或是不如别人的好又修改的。(C)虽知道题意但自己没有思路或是思路不清晰。在每一道

6、习题的前面都用(S)(A)(B)(C)来表明是属于那一种。另外因为时间问题程序大都没有注释,只是在开始的时候稍加说明并插入了日期。这里整理一下这几天做的练习,这些代码除了少数几个标注的外都是在Linux上调试成功的,当然虽然调试成功了但是有些程序并不完美,许多情况没有考虑,简化了代码但都能达到习题的要求。另外,有几个没有整理出来,原因如下:(1)代码段太小(2)到现在为止没有能够解决。属于后种情况的我在每一章最后都加以说明。第八章:Test8-1.c(S)(cat程序)用read,write,open,close

7、系统调用代替标准库中功能等价的函数,重写第七章的cat程序,并比较相对执行速度。1./*thecatfunction2.WedAug1118:34:43CST2010*/3.#include"stdio.h"4.#include"stdlib.h"5.#include"fcntl.h"6.voidmain(intargc,char*argv[])7.{8.intfd;9.voidfilecopy(int,int);10.char*prog=argv[0];11.if(argc==1)12.filecopy(0,1

8、);13.else14.while(--argc>0)15.{16.if((fd=open(*++argv,O_RDONLY,"r"))==-1)17.{18.fprintf(stderr,"%scan'topen%s",prog,*argv);19.exit(1);20.}21.else22.{23.filecopy(fd,1);24.close(fd);25.}2

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。