Date: Thurs, May 10 2007 7:55 am
From: Richard Heathfield
weidongtom@gmail.com said:
> Hi,
>
> I have just finished reading some tutorials on C, I am wondering how I
> could improve my skill. Is there any advice? Is reading others' codes
> the best way?
Crank up the warning level of your compiler as high as it will go, and
write lots and lots of programs. Remember that much of what your
tutorials taught you is likely to be wrong. Most C tutorials are
written by people who don't know C. Come to think of it, so is most C
code. So, whilst "reading others' code" can be helpful, get into the
habit of thinking "why is this code bad? What don't I like about it?
What diagnostic messages does it cause my compiler to emit? Do I
understand those messages? What don't I understand about the code
itself? *WHY* is the author doing such-and-such?"
> I have been reading quite a few
> books on the programming language C, but when I tried to start a
> project of my own, I find myself to be incompetent.
Honesty will get you everywhere! :-) Seriously, true competence (in
*any* field worth pursuing) takes about ten years of diligent study and
*practice*. Ten years to be a competent doctor, lawyer, programmer,
whatever.
Devise a project of your very own - e.g. a simple text processor - and define N things you'd like it to do (where N is initially at least 4). Implement those features, one at a time, learning all about diagnostic messages as you go! When you've implemented all N features, think up another N/4 features (rounded down), and notice how awkward it is to fit them in. Re-factor the code to make adding the new features much more pleasant, and now you're starting to learn about programming. Once all 5N/4 features are implemented, let N = 5N/4 and go round again, until you start to hit practical limits. This is feature creep with a vengeance! But it will introduce you gently to large programs.
> What should I do?
Write C programs.
分享到:
相关推荐
《C程序设计》(谭浩强,清华大学出版社)是一本入门的经典教材,而《C语言程序设计教程》(谭浩强,高等教育出版社)和《C高级实用程序设计》(王士元,清华大学出版社)则是深入学习的优秀参考资料。在学习C语言时...
### 学习C、C++的经验之谈 #### 概述 本文主要分享了作者在学习C语言及其后续深入到C++过程中的一些心得体会与感悟。文章提到的学习资源包括《C++ Primer》、《C++标准程序库》、《Effective C++》、《C程序设计...
《一站式学习c编程》有两条线索,一条线索是以linux平台为载体全面深入地介绍c语言的语法和程序的工作原理,另一条线索是介绍程序设计的基本思想和开发调试方法。本书分为两部分:第一部分讲解编程语言和程序设计的...
C语言的学习可分为两大方向:C语系和BASIC语系。C语系包括JavaScript和Java等,它们的语法和编程思想相似;而BASIC语系如FOXPRO和VBSCRIPT则有其独特的风格。因此,从BASIC转向C语言学习时,需转变思维,避免混淆两...
标题与描述均提到了“小甲鱼零基础学习C语言,打包下载”,这明确指出了一个面向初学者的C语言学习资源。C语言是一种结构化的编程语言,由Dennis Ritchie于1972年在贝尔实验室开发。它在计算机科学领域具有举足轻重...
介绍一些学习C语言以及C++语言的书和网站!
小甲鱼零基础入门学习C语言课件+源代码
"通过GDB学习C语言的讲解" 通过GDB学习C语言的讲解可以带来很多的好处,例如可以帮助学习C语言的基础知识,如变量、数据类型、运算符、控制结构、函数、数组、指针等。同时,GDB也可以帮助学习C语言的高级知识,如...
dbus经典库rain开源作品中人气最旺c语言实现,是学习c语言的最好代码,强烈推荐品中人气最旺c语言实现,是学习c语言的最好代码,强烈推荐品中人气最旺c语言实现,是学习c语言的最好代码,强烈推荐rain开源作品中人气...
学习c语言的一些代码,为学习JNI做准备!学习c语言的一些代码,为学习JNI做准备!学习c语言的一些代码,为学习JNI做准备!学习c语言的一些代码,为学习JNI做准备!学习c语言的一些代码,为学习JNI做准备!学习c语言...
尽管现在有更多现代的IDE,如Code::Blocks、Visual Studio Code或CLion,但Turbo C因其简洁和直接的操作方式,仍然被很多初学者用来学习C语言的基础知识。 Turbo C包含了以下核心组件: 1. **编译器**:这是将人类...
“c-chap7 指针.ppt”是C语言学习的难点,但也是其强大之处。指针允许我们直接操作内存地址,提供了对数据的直接访问。通过学习指针,我们可以理解动态内存分配、结构体与指针的关系,以及指针在函数调用中的应用。...
用户可以在该系统中学习C和C++的基本概念、语法,以及通过实验来加深理解,进行实际操作。这样的系统通常会包括以下几个关键部分: 1. **基础知识讲解**:涵盖C语言和C++的基础语法,如变量、数据类型、运算符、...
"如何学习C语言.pdf" 本资源是关于学习C语言的指南,主要面向初学者,旨在解决学生在学习C语言课程时遇到的困难和抽象问题。作者根据自己的教学和学习经验,分享了自己的看法和感受,旨在帮助初学者更好地学习C语言...
TurboC是一款经典的C语言编译器,由Borland公司于1980年代末推出,它是许多初学者学习C语言的首选工具。这个压缩包包含的文件很可能是TurboC的安装程序以及相关的学习资源,对于想要深入理解C语言的人来说是极其宝贵...
学习C语言需要一个合适的集成开发环境(IDE)或简单的文本编辑器,以及一个C编译器。 描述中的“一个小的标准的c语言工具”可能是指轻量级的C语言开发工具,这类工具通常包含了编辑、编译、链接和调试等功能,对于...
通过这份“学习C语言超全资料”,新手可以逐步了解和掌握C语言的各个方面,从基础语法到高级特性,一步步成长为熟练的C程序员。无论是为了学术研究、软件开发还是嵌入式系统设计,掌握C语言都将为你的IT职业生涯打下...
【标题】中的“c 发声游戏”指的是一个利用C语言编程实现的游戏,它可能包含音频播放功能,让玩家通过声音参与互动。这类游戏通常涉及计算机编程基础,特别是C语言的基础语法和控制结构。 【描述】的信息与【标题】...
关于学习C语言,首先要了解C语言的产生和发展历史。C语言起源于1960年代末期,由贝尔实验室的丹尼斯·里奇和肯·汤普逊共同开发,它是为编写UNIX操作系统而创造的。C语言结合了高级语言和汇编语言的特点,既有高级...