从入门到放弃C语言-入门篇(1)

 

想弄一份C语言的东西是因为被好几次问及怎样学C语言。

      

想说庆幸我刚学习的时候第一门语言不是C语言,如果那时候开头就学C语言我现在已经转去学习我最初的志愿数学或者经济学了。

 

       这几篇作为C语言的入门,主要说一些学习C语言的准备工作。

 

这一篇说一些经典书籍。也就是提供一个看什么书的解决方案。

 

       文章中有太多自己的观点,仅供参考。

 

       应该读什么书?

 

       对我影响最大的C语言的书,我会说是《C语言的科学与艺术》。

这本书讨论的内容是C语言的库,也就是stdlib这些,比如作者讨论了C语言的库是怎样实现的。

看似是很难的书,不过实质内容很简单。

前部分讲的是C语言的基础知识,很多都是看到了就可以直接用。相比较两个很厉害的好友推荐的黑皮书《C程序设计语言》(The C programming language),我觉得这本才是真正让我知道编程是怎么回事的书。

书中提出了很多计算机领域很重要的概念,比如递归,接口,自上而下设计原则等等。因为是两年前看的书,很多内容不记得了,但是现在在学习新的语言过程中,经常会莫名得想起书中的一些内容。

后半部分书中还重复讨论了几个需要注意的东西,比如字符串,指针,数组,递归等等。这些问题在前半部分都有讲解,同时后面也有,由浅入深,实在详细认真。(超级赞)

 

 

       接下来几本书也是看了的C语言的书,因为相比较前一本对本人的影响,这几本的形影响会小一些,但是的确都是不折不扣的好书。

 

       《C语言程序设计》(The C programming language):

C语言领域的不二经典,作者是C语言的创始人。从创造者说出来的话,真的很能体现C语言的设计原则。个人觉得零基础的人看得会累,如果学习了一段时间编程再看这本书,这本书绝对值得看十几遍。书中的buffer,快速排序等实例的实现写的太太漂亮。叹为观止的一本好书。

 

       《C陷阱与缺陷》《学习使用C指针》(Understandingand using C pointers):这两本是C语言的进阶书。

前一本能够让你很快注意C编程中容易出现的错误,另外还讨论了一些C语言中很让人感动(哭)的细节(缺陷)。

第二本则着重介绍指针的细节,书其实很新,不能算是经典,但是讨论的很深入。有的和操作系统联系起来,有的和现实生活中IDE联系起来,是一本很实用同时理论很有深度的书。

因为本篇是入门篇,不多介绍。

      

       最后一本,《数据解结构与算法分析-C语言描述》

这并不是一本C语言的书。学了以后会发现数据结构还是半懂不懂(微笑)(另外翻译也很让人感动)。

推荐这本书的原因在于,通过写算法,你会逐渐的把思维和语言结合起来。

时间长了,编程过程开始慢慢基于思维,而不被语言桎梏。

这样的好处,不言而喻,不用解释了。

 

 

有几本书我不推荐看,谭先生的C语言书籍,还有一些名字类似21天精通**的书籍。

原因嘛,我不喜欢讲,因为这是别人的工作成果,随意评价是对他人的不尊重。

 

另外还有一些是好友推荐的,都是好书,只是没有看过,没法说出个道道,仅仅列个表吧。

《C primer plus》《C专家编程》《C和指针》

 

头像是我的公众号,扫码加我把!!!

 

  • 33
    点赞
  • 108
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
1. 概述.............................................................................................................................................1 1.1. 自然语言&计算机语言................................................................................................1 1.2. 计算机语言 & C/C++语言..........................................................................................2 1.3. 简单的C/C++程序及其运行方法(环境的使用)................................................2 1.3.1. C/C++程序开发运行环境....................................................................................2 1.3.2. 格式输出函数printf()和格式输入函数scanf()....................................................3 1.4. 习题..............................................................................................................................5 2. 基本的C语言................................................................................................................................6 2.1. C语言中的名词——类型、量值(常量和变量)....................................................6 2.1.1. 整型和整型量值...................................................................................................6 2.1.2. 浮点型和浮点量(常量和变量).......................................................................8 2.1.3. 字符型和字符量(常量和变量).......................................................................9 2.1.4. 字符串常量.........................................................................................................10 2.2. C语言中的动词—运算符,短语-表达式 和和特殊动词性关键字....................11 2.2.1. 赋值运算符和赋值表达式.................................................................................11 2.2.2. 算术运算符和算术表达式.................................................................................12 2.2.3. 逻辑运算符和逻辑表达式.................................................................................13 2.2.4. 关系运算符和关系表达式.................................................................................14 2.2.5. 其它运算符和表达式.........................................................................................15 2.2.6. 不同类型量值的不同运算的混合.....................................................................17 2.3. C语言中的连词及句子——分支、循环和顺序语句..............................................19 2.3.1. if-else:如果-那么...........................................................................................19 2.3.2. switch-case语句..................................................................................................21 2.3.3. ?-:语句................................................................................................................23 2.3.4. for........................................................................................................................23 2.3.5. while....................................................................................................................24 2.3.6. do-while..............................................................................................................25 2.3.7. goto-label-if.........................................................................................................26 2.3.8. break....................................................................................................................27 2.3.9. continue...............................................................................................................28 2.4. C语言中的句子小结..................................................................................................28 2.5. 用C语言写一段话——程序段..................................................................................29 2.6. 用C语言写复杂段落——语句嵌套..........................................................................29 2.6.1. 复杂段落——语句嵌套的含义.........................................................................29 2.6.2. 嵌套语句的示例.................................................................................................30 2.6.3. 复杂段落——语句嵌套的小结.........................................................................33 2.7. 总结............................................................................................................................33 习题...........................................................................................................................................34 3. C语言的横向名词性扩充..........................................................................................................34 3.1. C语言的横向名词性扩充(1):同类变量的集合——数组..................................34

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值