C语言中,字符常量不是char类型吗《程序员入门必备》这本书中,有一段论述让我思维混乱了,原文如下:

C语言中,字符常量不是char类型吗《程序员入门必备》这本书中,有一段论述让我思维混乱了,原文如下:,第1张

这书别看了……讲得忒乱。C语言入门推荐看《C和指针》或者《Linux C编程一站式学习》。实在不行看谭浩强的《C程序设计》也凑合,经典的K&R版《C语言程序设计》是进阶读本。《C陷阱和缺陷》侧重C语言的使用误区,《C专家编程》部分内容跟UNIX *** 作系统相关。

(1)你在源代码中写a和'a'有什么区别?

你的程序实际上是写在txt文件中(c、cpp啥的都是无格式文本)

如果你直接在源程序中写a,则编译器把它当成是你程序中的一个变量;

例如你在程序代码中写一句"int abc = 100;",abc中的a被编译器理解成一个标识符/名称的组成部分。

如果你在源程序中写'a',则编译器遇到单引号把它理解成一个字符常量,这完全是编译器词法分析过程中的区别。

不管是a还是'a',你写在源程序文件中的内容都可以叫做代码的组成成分(如果不是资源数据)。

(2)'a'并非char类型,事实上它是int类型

这话说得不仅让人难以理解,而且根本就是错的。'A'是char类型常量无疑,注意区分术语integral type(整数类型,包括有符号或无符号的int, short, char)和integer(整型int),看英文书这个区别很明显,比如case子句都要求integral type,不一定是int类型。

(3)啥是ASCII码

0x34、'a'等都是二进制机器码的一种记录方式。程序编译之后,'A'和数值65的二进制码是相同的,所以有时用int类型的数值常量代替char常量能得到同样的结果(很多时候还牵涉到隐式类型转换,初学者先不管),这其实是不太规范的。计算机喜欢用机器码,源码是写给人看的,所以有些程序虽然机器码是正确的,但源码语义不明,也是不好的。

(4)

楼主还是换本书看吧,真心的。入门的话很多问题不必深究,先写程序跑起来,选教材最重要是作者讲述方式与你的理解方式一致。

重点推荐C语言四大圣经:《C语言程序设计》、《C和指针》、《C陷阱与缺陷》、《C作家编程》。其中C语言的发明者K&R的《C程序设计语言》更是重中之重,此书是C语言的第一秘典。所有优秀程序员的必经之路。

四大圣经及其他优秀书籍的信息:

1《C语言程序设计》

K&R

清华大学出版社

2《C和指针》

POINTERS ON C Kenneth AReek、

徐波 人民邮电出版社

3《C陷阱与缺陷》

Andrew Koenig、 高巍

人民邮电出版社

4《C专家编程》

Expert C Programming Deep C Secrets Peter Van

Der Linden 人民邮电出版社 (2008-02出版)

5《清华大学计算机系列教材•数据结构(C语言版)(附光盘1张)》

吴伟民、 严蔚敏

清华大学出版社

6《计算机算法设计与分析(第3版)》

王晓东

电子工业出版社

7《算法艺术与信息学竞赛•算法竞赛入门经典》

刘汝佳

清华大学出版社

8《算法导论(原书第2版)》

科曼(Cormen TH)、等、 潘金贵

机械工业出版社 (2006-09出版)

9《编程之美:微软技术面试心得 》

《编程之美》小组

电子工业出版社

10《编程珠玑(第2版)》

Jon Bentley、黄倩、 钱丽艳

人民邮电出版社

11《算法艺术与信息学竞赛》

刘汝佳

清华大学出版社

12《程序员面试宝典(第3版)》

欧立奇、刘洋、 段韬

电子工业出版社

13《数学之美》

(《浪潮之巅》作者吴军最新力作,李开复作序推荐,Google黑板报百万点击)

《《啊哈C语言:小学生坐在马桶上都可以读懂的C语言编程入门书》zip》百度网盘资源免费下载

pusr

啊哈C语言:小学生坐在马桶上都可以读懂的C语言编程入门书

学习C语言不是一朝一夕的事情,但也不需要花费十年时间才能精通。如何让编程初学者以最小的代价学习并精通C语言是本文的主题。请注意,即使是最小的代价”也绝不是什么捷径,而是以最短的时间取得最多的收获,同时也意味着各位编程初学者需要经历艰苦的过程。

一、要读就读好书,否则不如不读

所有初学者面临的第一个问题便是如何选择教材。好的开始是成功的一半,选择一本优秀的教材是事半功倍的关键因素。

1 《C程序设计语言》

Kernighan和 RitchiTheCProgramLanguag的《C程序设计语言》堪称经典中的经典,不过旧版的很多内容都已过时,和现在标准C语言相去甚远,大家一定要看最新的版本,否则不如不看。

2 《C语言参考手册》

即使是最经典最权威的书,也没有办法面面俱到,所以手边常备一本《C语言参考手册》十分必要的C语言参考手册》就是CReferManualC语言标准的详细描述,包括绝大多数C标准库函数的细节,算得上是最好的标准C语言的工具书。顺便提一句,最新的C程序设计语言》根据C89标准修订的而《C语言参考手册》描述的C99标准,二者可能会有些出入,建议按照C99标准学习。

3 《C和指针》

这本《C和指针》写得也是相当地不错,英文名是PointeronC特别地强调指针的重要性,算是本书的一个特点吧。不过这本书并不十分适合初学者,如果你曾经学过C语言,有那么一些C语言的基础但又不是很扎实,那么你可以尝试一下这本书。相信,只要你理解了指针,C语言便不再神秘。

4如果你已经看完一本C语言教材,并想要继续深入学习,那么我有两本书推荐给你

《C陷井与缺陷》

首先这本CTrapandPitfal的《C陷井与缺陷》,很薄的一本书,内容非常非常地有趣。不过注意的是,这本书是二十多年前写的,里面提到很多C语言的缺陷现在都已被改进,不过能够了解一些历史也不是什么坏事。

《C专家编程》

还有就是可以尝试挑战一下ExpertCProgram的《C专家编程》,书如其名,这本书颇具难度,不过一旦你仔细读完并能透彻理解,便可以放心大胆地在简历上写“精通C语言”

切记一个原则,不要读自己目前还看不懂的书,那是浪费生命。如果你看不懂,那你一定是缺失了某些必需基础知识。此时,要仔细分析自己需要补充哪些内容,然后再去书店寻找讲述的这些内容的书籍。把基础知识补充完毕再回头来学习,才会真正的事半功倍。

二、Unix/Linux还是Window这是个很大的问题

不同的编程环境会造就出不同思维的程序员。Window程序员大多依赖集成开发环境,比如VisualStudio而Unix程序员更加钟爱Makefil与控制台。显而易见,集成开发环境更容易上手,Window上学习C语言,只需要会按几个基本的VisutC++工具栏按钮就可以开始写Hello,World!而在Unix下,需要一些控制台 *** 作的基本知识。有人也许认为Unix环境更简洁,但习惯的力量是很大的大家都很熟悉 Window基本 *** 作,而为了学习C语言去专门装一个Unix系统,似乎有点不划算。

对于一个只懂得Window基本 *** 作、连 DOS什么都不知道的新手而言,尽快做一些有趣而有意义的事情才是最重要的用C语言写一个小程序远比学习lscat等命令有趣,况且我要专注于C语言本身,就不得不暂时忽略一些东西,比如编译链接的过程、Makefil写法等等等等。

所以我建议初学者应该以VisualC++60不是VisualC++NET或者DevC++作为主要的学习环境,而且千万不要在IDE使用技巧上过多纠缠,因为今后你一定要转向Unix环境的VisualC++60使用很方便,调试也很直观,但其默认的编译器对C标准的支持并不好,而DevC++使用gcc编译器,对C99标准都支持良好。使用顺带提一下,很多大学的C语言课程还在使用TurboC20作为实验环境,这是相当不可取的原因其一是TC20对C标准几乎没有支持,其二是TC20编译得到程序是16位的这对今后理解32位的程序会造成极大的困扰(当然,用djgpp之类的东西可以使TC20编译出32位程序,不过那过于复杂了

等你学完一本C语言的教材,一定要转向Unix平台继续学习,几乎所有的C语言高级教程都是基于Unix平台的比如《C专家编程》转变的过程是痛苦的需要面对的各种纷繁复杂的命令,完全不同于Window平台的思考方式,但是这种痛苦是值得的Unix与C共生的Unix思考方式和习惯更加符合C语言的思考方式和习惯。Unix下,可以找到无数优秀的源代码供你尽情阅读,可以方便地查看某个库函数的联机手册,还可以看到最优秀的代码风格(说到代码风格,会专门写一篇文章详细叙述)

归结起来就是一句话:编程初学者初学C语言,建议使用Window系统和集成开发环境,准备向“高手”方向努力时,请先转向Unix平台。

第一本C语言书籍,《C语言程序设计:现代方法》,网上对其评价非常的高,被誉为“近10年来最好的一部C语言著作”,书籍封面如下:

    书中包含了C语言的方方面面,对主要函数讲述的非常透彻,习题也非常丰富,对想通过编程习题来增强编程能力的朋友们,非常有帮助,对函数声明、指针等比较难的部分讲述的十分详细,推荐初学者可以看看这本书。

    第二本C语言书《C专家编程》。封面如下:

    国内已经有中文版了,该书具有一定的难度,对C语言的主要方面进行了非常深的研究,对于想提高C语言编程能力的朋友们,可以看一看,但是速度要慢,习题也非常经典,完成书的习题,会对C语言有更深入的了解。

    第三本:《C陷阱与缺陷》,封面如下:

    该书讲述了C程序员常常容易犯的错误,内容十分经典,从基本的数据类型到移植,都有涉及,朋友们也可以看看,肯定会有帮助的。

以上就是关于C语言中,字符常量不是char类型吗《程序员入门必备》这本书中,有一段论述让我思维混乱了,原文如下:全部的内容,包括:C语言中,字符常量不是char类型吗《程序员入门必备》这本书中,有一段论述让我思维混乱了,原文如下:、C语言高级编程看什么书好、自学c语言 零基础 看什么书 该怎么学等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10132474.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存