最新整理初学者应该怎么学习c语言

最新整理初学者应该怎么学习c语言
最新整理初学者应该怎么学习c语言

初学者应该怎么学习c语言

学习C语言不是一朝一夕的事情,特别是初学者。那么初学者应该怎么学习c语言?为了帮助大家更好的

学习c语言,小编精心整理了初学者学习c语言的方法,一起来看看吧!

初学者学习c语言的方法一、要读就读好书,否则不如不读

所有初学者面临的第一个问题便是:如何选择教材。好的开始是成功的一半,选择一本优秀的教材是事半功倍的关键因素。不幸的是,学校通常会帮你指定一本很差劲的C语言课本;而幸运的是,你还可以再次选择。

大名鼎鼎的谭浩强教授出了一本《C语言程序设计》,据说发行量有超过400万,据我所知,很多学校都会推荐这本书作为C语言课本。虽然本人的名字(谭浩宇)跟教授仅仅一字之差,但我是无比坚定地黑他这本书的。这本书不是写给计算机专业的学生的,而是给那些需要考计算机等级考试的其它专业学生看的。这本书的主要缺点是:例子程序非常不专业,不能教给你程序设计应该掌握的思考方式;程序风格相当地不好,会让你养成

乱写代码的恶习;错误太多,曾经有人指出过这本书的

上百个错误,其中不乏关键的概念性错误。好了,这本书我也不想说太多了,有兴趣大家可以百度一下:)

K e r n i g h a n和R i t c h i e的《T h e C P r o g r a m m i n g

L a n g u a g e》(中译名《C程序设计语言》)堪称经典中的经典,不过旧版的很多内容都已过时,和现在的标准C 语言相去甚远,大家一定要看最新的版本,否则不如不看。另外,即使是最经典最权威的书,也没有办法面面俱到,所以手边常备一本《C语言参考手册》是十分必要的。《C语言参考手册》就是《C R e f e r e n c e M a n u a l》,是C语言标准的详细描述,包括绝大多数C标准库函数的细节,算得上是最好的标准C语言的工具书。顺便提一句,最新的《C程序设计语言》是根据C89标准修订的,而《C语言参考手册》描述的是C99标准,二者可能会有些出入,建议按照C99标准学习。还有一本《C 和指针》,写得也是相当地不错,英文名是《P o i n t e r s o n C》,特别地强调指针的重要性,算是本书的一个特点吧。不过这本书并不十分适合初学者,如果你曾经学过C语言,有那么一些C语言的基础但又不是很扎实,那么你可以尝试一下这本书。我相信,只要你理解了指针,C

语言便不再神秘。

如果你已经啃完了一本C语言教材,想要更进一步,那么有两本书你一定要看。首先是《C T r a p s a n d

P i t f a l l s》(中译名《C陷井与缺陷》),很薄的一本小册子,内容非常非常地有趣。要注意一点,这本书是二十多年前写成的,里面提到的很多C语言的缺陷都已被改进,不过能够了解一些历史也不是什么坏事。然后你可以挑战一下《E x p e r t C P r o g r a m m i n g》(中译名《C专家编程》),书如其名,这本书颇具难度,一旦你仔细

读完并能透彻理解,你便可以放心大胆地在简历上写精通C语言了。

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

二、U n i x/L i n u x还是W i n d o w s,这是个很大的问题

不同的编程环境会造就出不同思维的程序员。

W i n d o w s的程序员大多依赖集成开发环境,比如V i s u a l S t u d i o,而U n i x程序员更加钟爱M a k e f i l e与控制台。

显而易见,集成开发环境更容易上手,在W i n d o w s上学习C语言,只需要会按几个基本的V i s u t a l C++工具栏按钮就可以开始写H e l l o, W o r l d!了,而在U n i x下,你需要一些控制台操作的基本知识。有人也许认为U n i x 的环境更简洁,但习惯的力量是很大的,大家都很熟悉W i n d o w s的基本操作,而为了学习C语言去专门装一个U n i x系统,似乎有点不划算。

对于一个只懂得W i n d o w s基本操作、连D O S是什么都不知道的新手而言,尽快做一些有趣而有意义的事情才是最重要的。用C语言写一个小程序远比学习l s、c a t 等命令有趣,况且我们要专注于C语言本身,就不得不暂时忽略一些东西,比如编译链接的过程、M a k e f i l e的写法等等等等。

所以我建议初学者应该以V i s u a l C++ 6.0(不是

V i s u a l C++ .N E T)或者D e v C++作为主要的学习环境,而且千万不要在I D E的使用技巧上过多纠缠,因为今后你一定要转向U n i x环境的。V i s u a l C++ 6.0使用很方便,调试也很直观,但其默认的编译器对C标准的支持并不好,而D e v C++使用g c c编译器,对C99的标准都支持良好。使用顺带提一下,很多大学的C语言课程还在使

用T u r b o C 2.0作为实验环境,这是相当不可取的,原因其一是T C 2.0对C标准几乎没有支持,其二是T C 2.0编译得到的程序是16位的,这对今后理解32位的程序会造成极大的困扰(当然,用d j g p p之类的东西可以使

T C 2.0编译出32位程序,不过那过于复杂了)。

等你学完一本C语言的教材,你一定要转向U n i x平台继续学习,几乎所有的C语言高级教程都是基于U n i x 平台的(比如《C专家编程》)。转变的过程是痛苦的,你需要面对的是各种纷繁复杂的命令,完全不同于

W i n d o w s平台的思考方式,但是这种痛苦是值得的。U n i x 与C是共生的,U n i x的思考方式和习惯更加符合C语言的思考方式和习惯。在U n i x下,你可以找到无数优秀

的源代码供你尽情阅读,你可以方便地查看某个库函数的联机手册,还可以看到最优秀的代码风格

归结起来就是一句话:初学C语言,建议使用

W i n d o w s系统和集成开发环境,在准备向高手方向努力时,请先转向U n i x平台。

初学者学习c语言的注意事项 1.学习基本的语法例如:数据类型i n t、d o u b l e的含义、使用和背景;逻辑判断i f的使用;流程控制的循环w h i l e\f o r的使用;

函数的调用;

2.编写基本语法的代码

学完基本的语法,熟悉了之后,针对这些基本语法,写一些基本的代码来练习,巩固。在写代码的过程中熟悉基本语法。第1步只是学习理论,这一步就是巩固基本语法,是通过实践来巩固,实践就是写代码,能够运行通过,才表示正确。这一步是最基本的一步写代码。

3.混合使用语法实现复杂的功能

各个基本的语法点都掌握了,要开始找一些实用小程序来综合练习,就好像是物理考试的最后几个大题一样。综合练习就是加深各个基本语法的理解和混合使用。这也就是项目经验的基础。这里会遇到各种混合使用中因为自己不熟而碰见的各种错误,也就是积累经验的过程。

4.写多了,遇到的坑多了,然后就理解了语法,记住了用法。无法使用英语学习的强行记忆,是行不通的。

5.自己写一个完整的可以供他人实际使用的程序

比如可以写一个完整的计算器、一个完整的通讯录、一个成绩统计分析程序、图书管理系统。这里会涉及到各种语法知识,也是真正大量积累项目经验的时候了。

这些完整的程序就是小项目了。这些都能够做好后,就可以开始写大项目了。这些完整程序都要以实际的需要来做,不能绕过,要直面需求。可以直接解决,可以换个思路解决,这是锻炼自己的过程。

做完了这5步,C语言也就学好了。学习C语言,绝对不是简单学习一下语法而已。5步做完,才真正的学完了C语言基础。

C P r i m e r P l u s是非常适合完全自学C语言的书籍了。根据这个5步的前3步,这本书里有对应的联系,后面两步需要自己来找程序开发。

C语言的优点 1.简洁紧凑、灵活方便

C语言一共只有32个关键字,9种控制语句,程序书写自由,主要用小写字母表示。它把高级语言的基本结构和语句与低级语言的实用性结合起来。C语言可以象汇编语言一样对位、字节和地址进行操作,而这三者

是计算机最基本的工作单元。

2.运算符丰富

C的运算符包含的范围很广泛,共有34种运算符。C 语言把括号、赋值、强制类型转换等都作为运算符处理。

从而使C的运算类型极其丰富,表达式类型多样化,灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。

3.数据结构丰富

C的数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等,能用来实现各种复杂的数据类型的运算,并引入了指针概念,使程序

效率更高。另外C语言具有强大的图形功能,支持多种

显示器和驱动器,且计算功能、逻辑判断功能强大。

4.C是结构式语言

结构式语言的显著特点是代码及数据的分隔化,即

程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。

5.C语法限制不太严格,程序设计自由度大

虽然C语言也是强类型语言,但它的语法比较灵活,允许程序编写者有较大的自由度。

6.C语言允许直接访问物理地址,可以直接对硬件

进行操作

因此既具有高级语言的功能,又具有低级语言的许多功能,能够像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元,可以用来写

系统软件。

7.C语言程序生成代码质量高,程序执行效率高

一般只比汇编程序生成的目标代码效率低10へ

20**时间就可以编写出一些软件。

但是有一点可以肯定,几个月从小白成长为大神是绝对不可能的。要想出类拔萃,没有几年功夫是不行的。学习编程不是看几本书就能搞定的,需要你不断的练习,编写代码,积累零散的知识点,代码量跟你的编程水平直接相关,没有几万行代码,没有拿得出手的作品,怎能称得上大神。

每个人程序员都是这样过来的,开始都是一头雾水,连输出九九乘法表都很吃力,只有通过不断练习才能熟悉,这是一个强化思维方式的过程。

知识点可以在短时间内了解,但是思维方式和编程经验需要不断实践才能强化,这就是为什么很多初学者已经了解了C语言的基本概念,但是仍然不会编写代码

的原因。

程序员被戏称为码农,意思是写代码的农民,要想成为一个合格的农民,必须要脚踏实地辛苦耕耘。

也不要压力太大,一切编程语言都是纸老虎,一层窗户纸,只要开窍了,就容易了。

2)学编程难吗?

编程是一门技术,我也不知道它难不难,我只知道,只要你想学,肯定能学会。技术就是一层窗户纸,是有道理可以遵循的,在我看来,比搞抽象的艺术要容易。

在技术领域,编程的入门门槛很低,互联网的资料很多,只要你有一台计算机,一根网线,具备初中学历,就可以学习,投资在5K左右。

不管是技术还是非技术,要想有所造诣,都必须潜心钻研,没有几年功夫不会鹤立鸡群。所以请先问问你自己,你想学编程吗,你喜欢吗,如果你觉得自己对编程很感兴趣,想了解软件或网站是怎么做的,那么就不要再问这个问题了,尽管去学就好了。

3)英语和数学基础不行,可以学会吗?初中毕业可以学会吗?

首先说英语。编程需要你有英语基础,初中水平完

全可以胜任。编程起源于美国,代码中会出现很多单词,有英语基础记忆起来会非常容易,如果你不认识也没关系,我推荐你安装有道词典,它的划词功能非常棒,选中什么就及时翻译什么,不管是句子还是单词。这样,相信你开发出常用的软件不成问题。

当然,如果你希望达到很高的造诣,希望被人称为大神,那么肯定要阅读英文的技术资料(不是所有资料

都被翻译成了中文),初中水平就有点吃力了。不过,

长期阅读英文会提高你的英文水平,只要你坚持一段时间,即使只有初中水平,我相信借助有道词典也会提高很快。

如果你没有学过英语,不知道 a m、i s、a r e,那我该怎么说呢,有志者事竟成,只要你想学,相信英语的障碍你也能克服。

至于数学,只要你不打算搞算法、机器学习/人工智能、大数据/数据分析,会加减乘除法,知道次方、开方、科学计数法等最基本的概念,就不要把数学当做学习的障碍了。

4)需要什么配置的电脑

如果你囊中羞涩,3K以上的台式机,4K以上的笔记

本也可以胜任,当然有时候会卡顿。

经济条件允许的话,最好5K以上的台式机,6K以上的笔记本。

如果想从事编程行业,你早晚要有一台高配的机器。它不但会让你工作更加流畅有效率,还会让你觉得工作是一种享受,所以很多程序员配备了M a c B o o k。

5)学习编程要用L i n u x吗

很多大神都轻视地说,我不用W i n d o w s,一直在用

L i n u x,只有L i n u x才能让你看到C的本质,C就是为

L i n u x而生的。

话虽没错,但是你想想当初你学习W i n d o w s花了多长时间,是不是一开始连切换输入法也不会,编辑W o r d 文档也不会;如果你切换到L i n u x,你也会遇到同样的问题,你需要一段时间来熟悉L i n u x,加大了你的学习成本,会慢慢消磨掉你对编程的兴趣。

所以我建议,你可以在W i n d o w s下学习C语言,完全没问题,如果有一天W i n d o w s不能满足你的学习需求了,那你再切换到L i n u x,这个时候你对编程已经很了解了,切换的成本也低了。

猜你喜欢:

1.c语言学习心得6篇

2.怎么开始学习j a v a才正确有效

3.怎么学好数控编程与学习方法

4.大一的计算机基础怎么学好

5.怎么才能快速学好计算机编程

小甲鱼零基础入门学习C语言全套教程打包下载及在线观看

《零基础入门学习C语言》全套教程打 包下载及在线观看 至今小甲鱼仍然莫名其妙会受到这样的攻击,喜欢鱼C的朋友帮忙转载下吧,所有视频完全免费!不需要任何版权!尽量转,让那些狼心狗肺的家伙不能得逞! 您也可以通过以下链接捐助鱼C,一元捐助鱼C重建家园: https://www.360docs.net/doc/bd10958341.html,/item.htm?id=12584158611 第八章_指针01 在线观看:https://www.360docs.net/doc/bd10958341.html,/v/bbk4575 下载地址:https://www.360docs.net/doc/bd10958341.html,/file/f62aa17e74# 第八章_指针02 在线观看:https://www.360docs.net/doc/bd10958341.html,/v/bbk4576 下载地址:https://www.360docs.net/doc/bd10958341.html,/file/f65998ba66# 第八章_指针03 在线观看:https://www.360docs.net/doc/bd10958341.html,/v/bbk4577 下载地址:https://www.360docs.net/doc/bd10958341.html,/file/f6eefe22e0# 第八章_指针04 在线观看:https://www.360docs.net/doc/bd10958341.html,/v/bbk4578 下载地址:https://www.360docs.net/doc/bd10958341.html,/file/f6c1e2753e# 第八章_指针05 在线观看:https://www.360docs.net/doc/bd10958341.html,/v/bbk4579 下载地址:https://www.360docs.net/doc/bd10958341.html,/file/f6deacb2cd# 第八章_指针06 在线观看:https://www.360docs.net/doc/bd10958341.html,/v/bbk4587 下载地址:https://www.360docs.net/doc/bd10958341.html,/file/f63b6e3427# 第八章_指针07 在线观看:https://www.360docs.net/doc/bd10958341.html,/v/bbk4588 下载地址:https://www.360docs.net/doc/bd10958341.html,/file/f6408885a4# 第八章_指针08

C语言从入门到精通所需的7本书

C语言从入门到精通所需的7本书 作者:王霸羔子 1.C primer plus C primer plus作为一本被人推崇备至的c入门经典,C primer plus绝非浪得虚名。应该算得上C教材里最好的入门书了。 在知识广度上,很少有书能匹及。它能为你系统学习c提供一个良好的平台。作者对c 的见解精辟。在娓娓叙述的同时,作者辅以大量程序以分析。它让我对C有了更加系统的全新认识。决非国人所写的那些公理化的教条说教,我觉得作者把自己的心血全部吐露。书很厚,近700页,却不没有让我觉得任何的烦琐。甚至是兴趣盎然。我把上面所有的课后题目都做了。 最为重要的是,看完这本书后,我再也不觉得c很高深枯燥无味了。如果你问我,你最大收获是什么。我会告诉你,兴趣! 2.The C programming language

拿到这本薄薄的书,很多人开始怀疑,C语言是这么几百页能讲清楚的么。看完这本书,我想答案已经很明了,却真的让人感到震憾。什么是好书?无法删减的书才是真正的好书。 K&R的书一如C语言的设计理念:简单而高效里面的习题建议都认真做一遍,而且是在linux下用vi来做,用makefile来编译,用shell脚本来进行测试,本来第八章的题就是和linux 相关的计算机的大学生们不应只会在WINDOWS下用VC来编程,而都应该在linux环境下进行程序设计,因为linux本身就是为开发者准备的操作系统。 3. C和指针 这本书最大的特点就是和指针结合在一起进行讲解,通过一些经典的C例题对所学的知识进行巩固,对指针的基础和深入的探讨,有助于初学者更好的理解C语言,还有明白C 的存储机制。我之前买了《C语言详解》和《C Primer Plus》结合这本书一起学习,可以说是完美的,希望每个热爱C语言的人能够拥有这本书。 我在这里推荐给所有想学好C语言的朋友! 4.C专家编程

C语言入门必做习题100例(四)

1. (N阶梵塔) 有K根棒,第一根上放N片大小不等的圆盘,并保持上小下大的 顺序。现将N片圆盘从第1根移至第K根,移动中均保持上小下大的顺序,问最少移几次方得结果,求出移动方案。 2. 某一印刷厂有六项加工任务,对印刷车间和装订车间所需时间见下表(时间单位:天) 任务│J1 J2 J3 J4 J5 J6 ─────┼─────────────── 印刷车间│31252911 装订车间│8109631 如何安排加工顺序,使加工时间最少。 3. 将7万元投资到A,B,C三项目上,其利润见下表: 投资额(万元)│1234567 ──────┼──────────────────── 项A│0.11 0.13 0.15 0.24 0.24 0.30 0.35 B│0.12 0.16 0.21 0.25 0.25 0.29 0.34 目C│0.08 0.12 0.20 0.26 0.26 0.30 0.35 如何分配投资额,使获得的利润最大。 4. 无根树与通常所说的树(有根树)很相似,它包含有节点和枝,但不含有根。无根树节点之间只有相邻关系。如图一所示,是一棵有七个节点的无根树,以图一的A为根节点得到图二所示的有根树,以B为根节点得到图三所示的有根树,但从无根树的角度看,图一、二、三是结构相同的无根树,同时无根树的结构与节点的名称无关。 有根树可以用字符串的形式表示,其递归表示方法是: 根节点(子树1子树2子树3...) 图一,图二的有根树可表示为 A(B(CF(EGD))) 和 B(ACF(EGD))。由于子树的表示顺序可以不同,所以一棵有根树可以有多种表示方法,如图三又可表示成 B(F(EGD)CA) 或 B(ACF(DE(G)) 等。表示无根树时,可以以它任一节点为根节点,将其看作有根树,从而可以利用有根树的字符串表示形式来表示无根树。 任务一:由键盘读入一个字符串表示的无根树,无根树的各节点的名称用互不相同的大写英文字母表示。由用户输入一个节点的名称,程序应能够输出一种以该 节点为根节点的字符串形式。程序输出无根树的字符串形式时,各个节点的名称无 关紧要,所有节点都以P表示,以后的各种输出也采用这种形式。例如:输入无根 树的字符串形式:A(B(CD(EF))),指定根节点为D,程序应能输出 P(P(PP)PP),P(PP(PP)P),P(PPP(PP))中的任意 一种即可。 任务二:输入两个串表示的无根树,判断其结构是否一样。注意它与节点名称 无关,只考虑结构。

c语言入门经典必背个程序

c语言入门经典必背个程序 c语言入门经典必背18个程序 1 、/* 输出9*9 口诀。共9 行9 列,i 控制行,j 控制列。*/ #include "stdio.h" main() {int i,j,result; for (i=1;i<10;i++) { for(j=1;j<10;j++) { result=i*j; printf("%d*%d=%-3d",i,j,result);/*-3d 表示左对齐,占3 位*/ } printf("\n");/* 每一行后换行*/ } } 2 、/* 古典问题:有一对兔子,从出生后第 3 个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔 子都不死,问每个月的兔子总数为多少? 兔子的规律为数列1,1,2,3,5,8,13,21....*/ main() { long f1,f2; int i; f1=f2=1; for(i=1;i<=20;i++) { printf("%12ld %12ld",f1,f2); if(i%2==0) printf("\n");/* 控制输出,每行四个*/ f1=f1+f2; /* 前两个月加起来赋值给第三个月*/ f2=f1+f2; /* 前两个月加起来赋值给第三个月*/ } } 3 、/* 判断101-200 之间有多少个素数,并输出所有素数及素数的个数。 程序分析:判断素数的方法:用一个数分别去除 2 到sqrt( 这个数) ,如果能被整除, 则表明此数不是素数,反之是素数。*/ #include "math.h" main()

简单易懂的C语言源代码(供初学者使用)

#include main() {float pi=3.14159265,r; printf("enter radius:\n"); scanf("%f",&r); printf("r=%.2f,c=%.2f,area=%.2f\n",r,2*pi*r,pi*r*r); system("pause"); } #include main() {int m,n,x,y; printf("inputm,n:\n"); scanf("%d%d",&m,&n); if (n%2==1) {printf("error!! n bu shi ji shu!\n",n); return;} /*n在这里不能是奇数*/ x=(4*m-n)/2; y=(n-2*m)/2; if((x>=0)&&(y>=0)) printf("x=%d,y=%d\n",x,y); else printf("shu ru cuo wu!\n");

getch(); } #include #include #include main() {float a,b,C; printf("enter 3number(a,b,C):\n"); scanf("%.2f %.2f %.2f",&a,&b,&C); s=0.5*a*b*sinC; printf("s=%.2f\n",s); system("pause"); } #include main() {int ds,nl,yf; char c; printf("shu ru ds;\n"); scanf("%d",&ds); if (ds<14||ds>1184)

零基础如何学习编程心得笔记

零基础如何学习编程心得笔记 自学编程2年来,加过n多群,泡过n多论坛,接触过心怀激情的编程新人,遇到过沉着冷静的技术大牛……编程,吸引了一批又一批的热血青年,或许是为了理想,或许是心中的爱好,不断有新人的加入,也不断有人从编程中退出。编程的入场入口只有一个,出场的出口却很多。自学编程的新人,有很大一部分卡在了入门上,对此,我想写下对编程入门的一些拙见,权当抛砖引玉,或对或错,还望同学们自己鉴定。 1.零基础,打算自学编程,应具备哪些的知识? 答: 对于入门阶段,对知识水平的要求并不算高,或者说很低,大家都应该听说过xxx小学生编程如何如何这般这般怎么样之类的话题,这里,我们不谈长期发展,只谈如何入门。首先,我觉得你应该具备计算机的基本操作能力,如果说你连新建一个文件夹或者说从网上下载资料都不会,那么你应该先买本《windows xx从入门到提高》看,然后再考虑编程这件事,如果你觉得对计算机的基本操作已经熟练后,请继续向下看。 2.学编程应具备哪些条件? 答: 第一:硬件保证,首先你应该具备一台电脑,不管是笔记本还是台式,也不管性能高低,性能对前期学习编程几乎无任何影响,就入门来看,操作系统还是首选windwos。 第二:有xx语言的入门本书,纸做的,具体xx语言是哪种语言,后面我们再讨论这个问题。虽说现在铺天盖地的都是电子书了(保留这句话的确定性),到处是扫描版,还高清呢,但我还是推荐看纸做的书,好处有两点,其一是便于携带,可以随时翻阅;其二是避免眼疲劳,我不信你一直晚盯着显示器看电子书眼睛不会酸;还有一点,尊重图书作者的版权。 第三:时间保证,如果你每天都有一大堆事等着你去处理,先去处理那些事吧,处理完后把剩余时间划出一整块的给编程,进行随时可能被打断的学习,在编程这块,我不认为这是在用功学习,零碎时间去背单词?应该是个不错的选择。 3.你确定要学编程? 答: 这个问题看起来有点多余,但为什么要提出这个问题?要知道,编程不是一朝一夕的事,如果你只是一时的冲动,或者仅仅是要完成心目

写给初学者──如何学习C语言

写给初学者──如何学习C语言(For computer related professional and programming of scholars........) 学习C语言不是一朝一夕的事情,但也不需要花费十年时间才能精通。如何以最小的代价学习并精通C语言是本文的主题。请注意,即使是“最小的代价”,也绝不是什么捷径,而是以最短的时间取得最多的收获,同时也意味着你需要经历艰苦的过程。 一、要读就读好书,否则不如不读 所有初学者面临的第一个问题便是:如何选择教材。好的开始是成功的一半,选择一本优秀的教材是事半功倍的关键因素。不幸的是,学校通常会帮你指定一本很差劲的C语言课本;而幸运的是,你还可以再次选择。 大名鼎鼎的谭浩强教授出了一本《C语言程序设计》,据说发行量有超过400万,据我所知,很多学校都会推荐这本书作为C语言课本。但我是无比坚定地黑他这本书的。这本书不是写给计算机专业的学生的,而是给那些需要考计算机等级考试的其它专业学生看的(PS:这句话不假,的确够浅显的,不过入门也够了,看过後在读别的书就不会太难了)。这本书的主要缺点是:例子程序非常不专业,不能教给你程序设计应该掌握的思考方式;程序风格相当地不好,会让你养成乱写代码的恶习;错误太多,曾经有人指出过这本书的上百个错误,其中不乏关键的概念性错误(PS:的确有错误,看的时候多注意下)。好了,这本书我也不想说太多了,有兴趣大家可以百度一下:) Kernighan和Ritchie的《The C Programming Language》(中译名《C程序设计语言》)堪称经典中的经典,不过旧版的很多内容都已过时,和现在的标准C语言相去甚远,大家一定要看最新的版本,否则不如不看。另外,即使是最经典最权威的书,也没有办法面面俱到,所以手边常备一本《C语言参考手册》是十分必要的。《C语言参考手册》就是《C Reference Manual》,是C语言标准的详细描述,包括绝大多数C标准库函数的细节,算得上是最好的标准C语言的工具书。顺便提一句,最新的《C程序设计语言》是根据C89标准修订的,而《C语言参考手册》描述的是C99标准,二者可能会有些出入,建议按照C99标准学习。还有一本《C和指针》,写得也是相当地不错,英文名是《Pointers on C》,特别地强调指针的重要性,算是本书的一个特点吧。不过这本书并不十分适合初学者,如果你曾经学过C语言,有那么一些C语言的基础但又不是很扎实,那么你可以尝试一下这本书。我相信,只要你理解了指针,C语言便不再神秘。 如果你已经啃完了一本C语言教材,想要更进一步,那么有两本书你一定要看。首先是《C Traps and Pitfalls》(中译名《C陷井与缺陷》),很薄的一本小册子,内容非常非常地有趣。要注意一点,这本书是二十多年前写成的,里面提到的很多C语言的缺陷都已被改进,不过能够了解一些历史也不是什么坏事。然后你可以挑战一下《Expert C Programming》(中译名《C专家编程》),书如其名,这本书颇具难度,一旦

C语言从入门到精通(吐血分享)4

成功! 结构体、链表、文件 数组、字符串 函数、指针 三种结构化程序设计 三种数据类型、六大表达式 一、简单的程序 #include数学函数命令行 main()/*主函数*/ {/*左花括号,函数体的开始*/ int a,b,c;/*定义语句*/ a=3;/*执行语句*/ b=4; c=a+b; printf("a=%d,b=%d,c=%d\n",a,b,c); }/*右花括号函数体结束*/ 二、vc++6.0使用 1.新建 2.编译 3.组建 4.运行 三、标识符、常量和变量 1.标识符:

1)用途:命名 2)命名规则:a.字母、数字和下划线组成 b.第一个必须是字母或下划线 3)区分大小写 4)分类: a.关键字:代表固定含义,不能另作它用 b.预定义标识符:预先定义并具有特定含义的标识符 库函数的名字(printf)和预编译处理命令(define) 建议不另作它用 c.用户标识符 “见名知意” 2.常量 1)定义:程序运行过程中,其值不能被改变的量。 2)分类:整型常量、实型常量、字符型常量和字符串常量 3)符号常量 #define M5 #define PI 3.14159 s=PI*r*r; 3.变量 1)定义:程序运行过程中,其值可以改变的量 2)实质:一个变量实质上是代表了内存中的某个存储单元 3)原则:变量先定义后使用 四、三种基本数据类型

1.整型数据 1)整型常量 二进制八进制十进制十六进制 十进制--->二、八、十六进制:除n求余 二、八、十六进制--->十进制:按权展开 八进制、十六进制=》二进制 八进制转化二进制 1:0012:0103:0114:1005:1016:110 7:111 十六进制转化为二进制 1:00012:00103:00114:01005:0101 6:01107:01118:10009:1001a:1010 b:1011c:1100d:1101e:1110f:1111 2)整型变量 定义语句的格式 类型名变量名; 整型分类(有符号、无符号) signed unsigned 表2.1 <3>整型数据在内存中的存储 1>最小存储单位:位 2>1字节(B)=8个二进制位 3>在内存中,存储空间右端代表低端,左端代表高端 4>最高位是符号位

C语言入门的基本学习方法

一、C语言入门的基本学习方法 《C语言》的内容很丰富,有的部分涉及到的细节很多,如硬件知识和数据结构知识等,自学时不可能面面俱到,否则必然会顾此失彼,反而抓不住主要矛盾。笔者认为对初学C 语言的考生,开始不必在每一个细节上过于死抠,而应当把主要精力放在最基本、最常用的那些部份,待有一定的基础后再深入到一些非主要的细节,有一些细节需要通过较长期的实践才能熟练掌握。初学C语言时,可能会遇到有些问题理解不透,请不要气馁,鼓足勇气向后面的内容学习,待学完后面的章节知识,前面的问题也就迎刃而解了。学习C语言始终要记住“曙光在前头”和“千金难买回头看”,“千金难买回头看”是学习知识的重要方法,就是说,学习后面的知识,不要忘了回头弄清遗留下的问题和加深理解前面的知识,这是学习的人最不易做到的,然而却又是最重要的。比如:在C语言中最典型的是关于结构化程序设计构思,不管是那种教材,一开始就强调这种方法,这时也许你不能充分体会,但是学到函数时,再回头来仔细体会,温故知新,理解它就没有那么难了。学习C语言就是要经过几个反复,才能前后贯穿,积累应该掌握的C知识。 下面我们就围绕《C语言》的特点、以98年全国等级考试大

纲为基础,把里面的重点和难点,从宏观和微观两个角度,就如何学好这门课程提供一些建议和方法,供大家学习时参考。 首先从宏观上谈一谈自学C语言的方法。 我认为要学好C语言首先必须了解等级考试C语言的大纲和内容,以及各种辅助材料的用途,这是学好C的基础。从以前的经验以及考网上的一些信息可知,要自学C语言必须准备以下资料: 1、教材:大家现在都公认是清华大学谭浩强主编的那本,当然有其他的也可以,如高校出版社的。 2、习题集:我认为清华大学的《C语言样题汇编》不错。书后面附有答案。 3、上机练习:我认为南开大学的那个可以,最好是在考前从头到尾做一遍。答案可以去考网下载区下载。 4、大纲:这个肯定要的,可以在考网二级版那里去下,然后打印出来。

新手学C语言之入门

学习C语言(新手入门) 年轻的小荣子 阿尔法和李世石的围棋对弈让我们感受到了计算机的强大,事实上计算不仅要靠硬件设备的支持,还需要在里面运行代码(很多种,包括c),这些代码就是它的灵魂(譬如我们的思想)。 介绍几部通过在计算机里头运行代码从而创造无限可能的电影,个人觉得不错的:黑客帝国,超验骇客,创战纪,人工智能等。 正题,能编辑C语言的软件非常多,比如visual c++ ,turbo c等。理论总是离不开实践,在要学习C语言理论之前先要找到属于自己的能实现代码结果的软件。 这样说,计算机语言和人的语言的区别在于,人通过各种发音实现交流,但是计算机主要是通过电流来传达信息,所以只能用0/1来表示电流拥有的两种状态,这样最底层的计算运作就是通过一段长长的0/1代码,通过0和1的不同组合来表示文字或者信息。C语言当然不是最底层的0/1代码,他是一个沟通的中介,比如等于号在c语言里就是两个等号“==”,这样使得我们更容易和计算机交流了,只要学会了C语言,它就能把我们的语言翻译成计算机的语言。 以下内容从简单到困难,先来学会如何运行c语言代码(用vc 中文版): 1.按以下步骤打开界面(以后都可以这样打开): 2.一些常用的功能键: (1是compile编译的意思,就是把这些我们能看懂的符号转换成计算机代码,同时按这个键可以检查错误和验证是否能运行。2是build,建立一个可以运行的EXE类文件,就是把这些代码弄成一个能运行的东西。3就是run运行,只有经过查错和建立才可以按运行。是不是很简单,自己动手一遍就会) 3.输入代码并运行(里面的代码如下: —————————————— #include<> main() { int a,b,c; a=1,b=2; c=a+b; printf("%d",c); } ——————————————— Include的英文意思是包含、包括,顾名思义,#include<>就是把这个东西包含进去,其实#include< >是c语言里的一种格式,就是把什么包含进来的意思(这里是口语表达)。叫做头文件,什么是头文件呢?打个比方,在C语言里我们要用到很多的比如开根号、乘方、阶乘n!等等数学公式函数,那么就可以把这些常用的同类型的函数放到一起形成一个函数库,然后给它取个名字比如叫,这样当要用到这些函数的时候就不用自己的写了,直接用#include<>把整个库包含进来,里面的函数就可以直接调用。同样的,也是这样一个库,里面有输入输出函数(就是支持键盘输入和屏幕输出)可以调用。类似的还有图形函数库,字符串函数库等等,调用格式一样的。

(1小时学会C语言51单片机)C语言入门教程

相信很多爱好电子的朋友,对单片机这个词应该都不会陌生了吧。不过有些朋友可能只听说他叫单片机,他的全称是什么也许并不太清楚, 更不用说他的英文全称和简称了。单片机是一块在集成电路芯片上集成了一台有一定规模的微型计算机。简称为:单片微型计算机或单片机 (Single Chip Computer)。单片机的应用到处可见,应用领域广泛,主要应用在智能仪表、实时控制、通信、家电等方面。不过这一切都没 什么关系,因为我(当然也包括任何人)都是从不知道转变成知道的,再转变成精通的。现在我只想把我学习单片机的经历,详细地讲叙给大 家听听,可能有些大虾会笑话我,想:那么简单的东西还在这里卖弄。但是你错了,我只是把我个人学习的经历讲述一遍而已,仅仅对那些想 学习单片机,但又找不到好方法或者途径的朋友,提供一个帮助,使他们在学习过程中,尽量少走些弯路而已! 首先,你必须有学习单片机的热情,不是说今天去图书馆看了一个下午关于单片机的书,而明天玩上半天,后天就不知道那个本书在讲什 么东西了。还是先说说我吧,我从大二的第一个学期期末的时候才开始接触单片机,但在这之前,正如上面所说的:我知道有种芯片叫单片机, 但是具体长成什么样子,却一点也不知道!看到这里很多朋友一定会忍不住发笑。嘿嘿,你可千万别笑,有些大四毕业的人也同样不知道单片 机长成什么样子呢!而我对单片机的痴迷更是常人所不能想象的地步,大二的期末考试,我全放弃了复习,每当室友拿着书在埋头复习的时候, 我却捧着自己从图书馆借的单片机书在那看,虽然有很多不懂,但是我还是坚持了下来,当时我就想过,为了单片机值不值得我这样去付出, 或许这也是在一些三流学校的好处吧,考试挂科后,明年开学交上几十元一门的补考费,应该大部分都能过了。于是,我横下一条心,坚持看 我的单片机书和资料。 当你明白了单片机是这么一回事的时候,显而易见的问题出来了:我要选择那种语言为单片机编写程序呢?这个问题,困扰了我好久。具 体选择C51还是A51呢?汇编在我们大二之前并没有开过课,虽然看着人家的讲解,很容易明白单片机的每一时刻的具体工作情况,但是一合上 书或者资料,自己却什么也不知道了,根本不用说自己写程序了。于是,我最终还是决定学C51,毕竟C51和我们课上讲的C语言,有些类似, 编程的思想可以说是相通的。而且C51还有更大的优点就是编写大程序时的优越性更不言而喻,当然在那时,我并没有想的那么深远,C51的特 点,还是在后来的实践过程中,渐渐体会到的!朋友如果你选择了C51,那么请继续往下看,如果你选择了A51,那么你可以不要看了!因为下面讲 的全是C方面的,完全在浪费你的时间! 呵呵^_^ 第二,既然你想学好单片机,你必须得舍得花钱,如果不买些芯片回来自己动手焊焊拆拆的(但是在后期会介绍给大家一个很好用的硬件 仿真软件,并不需要你用实验板和仿真器了,直接在你的PC上完成,但是软件毕竟是软件,从某个特定的意义上来说是并不能代替硬件的),即使 你每天捧着本书,把那本书翻烂,也永远学不会单片机的!刚接触单片机的朋友,看了资料,一定会对以下几个词见的比较多,但是具体的概 念还是比较模糊,现作如下说明: (1)编程器编程器是用来烧单片机芯片的,是把HEX或者BIN文件烧到单片机ROM里

初学C语言程序设计的基本方法和技巧(强烈推荐)

无论哪所大学的计算机专科和本科都需要学习C语言《,C语言程序设计》是计算机专业的一门必修课程,也是学习如何编程的入门课。初学C语言的人都会觉得C语言不好学,感到无从下手。其实,按照我们现在的教学大纲和教学要求,只要同学们掌握一些方法,多读,多写,克服心理上畏难情绪,C语言是完全可以学好的 并且灵活应用的。我总结了多年的《C语言程序设计》课程的教学经验和学生在学习过程中常见的一些问题,在些介绍一些C语言的学习和编程技巧,希望给初学C语言的同学有一定帮助。 C语言是一门应用最广泛的基础高级编程语言,有很多语言都是由它发展而来的,所以学习好C语言之后再学习任何一种编程语言都会轻松上手。 1熟记基本知识点 学习C语言和学习任何一种语言的方法基本一样。我们婴儿期间咿呀学语时,从一个字开始学,然后两个,接着更多,最后我们能成句,成段,到出口成章。学习C语言的时候也一样,有些最基本的内容必须要记下来。 1.1关键字 关键字是由C语言规定的具有特定意义的字符串。它们是写C语言的基础,如果关键字不记下来,那编程是寸步难行。 1.2运算符 C语言中的运算符和表达式与我们数学上的运算符和表达式有相同的,也有不同的。我们在学习的时候就注意记住并弄清楚那些不同的地方。基本的语法表达式及执行过程。选择结构中的if语句和switch语句。循环语句中的for语句、while语句和do-while语句。这部分就好比是你会了许多词,然后得把这些词组成一些句子,语法的作用就是告诉你怎样说好一句话,表达清楚的意思。 1.3常用库函数 在这里最重要有两个函数:输入函数scanf()和输出函数printf()。一个程序如果没有输入,那无论运行多少次结果都一样,那也就失去了写程序的目的了。同样一个程序如果没有输出,那运行程序有什么意义呢?当然输出的形式比较多。在初学C语言的时候主要是从屏幕上输出结果。所以这两个函数的使用方法也必须要掌握。这两个函数已经定义在stdio.h这个头文件中,不用我们自己写,它们不是C语言中的语句,所以在使用这两个函数时在源程序顶部一定要加上#i n c l u d e。这是为了让我们在执行程序的时候,让计算机知道scanf()和printf()这两个函数怎么用。 掌握上面的必须要记下来的内容,相当于我们开始学说话时先听别人说,我们自己跟着学一些最基本的日常语言。这时我们就可以从一些简单的程序开始读,能把每一个程序的运行结果能自己读程序准确地执行出来,那样我们就可以开始来编写程序了。 2掌握程序的基本结构 编写程序一定要注意程序的结构性。学习写程序,不能开始就写代码。许多人在动手写程序的时候感到无从下笔。原因主要是:看到一个题目不知道如何去分析,它怎么才能变成一个程序呢?这是初学者在编写程序的主要问题。我在教学中采用了一种分步式的方法。 2.1看到一个题目的时候先别想着编程序,用一个具体的实例想想不用程序你是如何解决这个问题的

最新整理初学者应该怎么学习c语言

初学者应该怎么学习c语言 学习C语言不是一朝一夕的事情,特别是初学者。那么初学者应该怎么学习c语言?为了帮助大家更好的 学习c语言,小编精心整理了初学者学习c语言的方法,一起来看看吧! 初学者学习c语言的方法一、要读就读好书,否则不如不读 所有初学者面临的第一个问题便是:如何选择教材。好的开始是成功的一半,选择一本优秀的教材是事半功倍的关键因素。不幸的是,学校通常会帮你指定一本很差劲的C语言课本;而幸运的是,你还可以再次选择。 大名鼎鼎的谭浩强教授出了一本《C语言程序设计》,据说发行量有超过400万,据我所知,很多学校都会推荐这本书作为C语言课本。虽然本人的名字(谭浩宇)跟教授仅仅一字之差,但我是无比坚定地黑他这本书的。这本书不是写给计算机专业的学生的,而是给那些需要考计算机等级考试的其它专业学生看的。这本书的主要缺点是:例子程序非常不专业,不能教给你程序设计应该掌握的思考方式;程序风格相当地不好,会让你养成

乱写代码的恶习;错误太多,曾经有人指出过这本书的 上百个错误,其中不乏关键的概念性错误。好了,这本书我也不想说太多了,有兴趣大家可以百度一下:) K e r n i g h a n和R i t c h i e的《T h e C P r o g r a m m i n g L a n g u a g e》(中译名《C程序设计语言》)堪称经典中的经典,不过旧版的很多内容都已过时,和现在的标准C 语言相去甚远,大家一定要看最新的版本,否则不如不看。另外,即使是最经典最权威的书,也没有办法面面俱到,所以手边常备一本《C语言参考手册》是十分必要的。《C语言参考手册》就是《C R e f e r e n c e M a n u a l》,是C语言标准的详细描述,包括绝大多数C标准库函数的细节,算得上是最好的标准C语言的工具书。顺便提一句,最新的《C程序设计语言》是根据C89标准修订的,而《C语言参考手册》描述的是C99标准,二者可能会有些出入,建议按照C99标准学习。还有一本《C 和指针》,写得也是相当地不错,英文名是《P o i n t e r s o n C》,特别地强调指针的重要性,算是本书的一个特点吧。不过这本书并不十分适合初学者,如果你曾经学过C语言,有那么一些C语言的基础但又不是很扎实,那么你可以尝试一下这本书。我相信,只要你理解了指针,C

相关文档
最新文档