2. 编程语言用以表达你对计算机的理解,表达你的想法,所以解决问题的思路及方法更为重要。
3. 进入计算机的大门,你会发现天地很广。现在多多了解,拓展视野,也很重要。
4. 推荐使用Linux,可以从Ubuntu开始。一定要熬过一开始的痛苦时期。
5. 千里之行,始于足下。1w小时定律等。
@Joker Qyou的答案很受推荐,但我觉得不大适合初学者,那张图片的"根"是:What programming language should I learn (next)?我觉得它更适合 "next"。
如果让我重来,我会选择C和(或者)Python。
Python语法和库更丰富,上手更容易,使用更方便。
C简单直接,学习成本不高,贴近底层,能帮助了解底层细节.
学习语言是简单的,语言是工具,使用好工具是一方面,其他各种领域知识也是很重要的另一些方面。高中毕业后没事刷OJ应该是蛮适合的吧,正好把算法和编程语言练好。到了大学后,如果是我重来,我会:
1. 不放过学校的基础课程。
2. 做ACM算法题,混各种OJ。
3. 使用Linux。
4. 参加各种编程方面的活动。
这书别看了……讲得忒乱。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)
楼主还是换本书看吧,真心的。入门的话很多问题不必深究,先写程序跑起来,选教材最重要是作者讲述方式与你的理解方式一致。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)