回 帖 发 新 帖 刷新版面

主题:[活动]C语言最新有奖活动-------积极分享心得

C语言从产生到现在的各个阶段,都是最重要和最流行的编程语言之一。
熟悉和掌握C语言程序设计,已经成为程序员的一门必修课。
所以论坛组织这次活动,让C语言程序员们,赶快行动起来,积极参加啦!

[color=FF0000]活动简介:[/color][/size]
编程论坛邀请你参与体验分享你学习C语言的看法。你认为C程序员应该是怎样去学习的?可以从工作、学习的趣事去谈一谈你的看法。希望这次积极分享心得活动,能够给您在工作和学习上带来帮助!
[color=FF0000]参与方式:[/color]
在本帖中跟帖即可参加活动。
[color=FF0000]活动时间:[/color]
2011年5月17日-----2011年6月20日
[color=FF0000]活动奖品:[/color]
主办方会从大家分享心得中,选择最有价值,最典型的,选出获奖者前三名。然后对分享心得的参与者赠送《C语言开发手册》图书一本!
注:积极参与,内容原创,对主题讨论有积极意义的讨论为佳。
[color=FF0000]图书简介:[/color]
C语言开发手册(典藏版)
[img]http://img35.ddimg.cn/94/29/21050365-1_e.jpg[/img]
作 者    薛园园
出 版 社    电子工业出版社
图书定价    ¥99.00
[color=FF0000]内容简介:[/color]
本书分4篇,共29章,分别介绍了c语言基础、c语言进阶、c语言的接口技术和现代c语言的扩展。首先,介绍了c语言及其开发环境,并全面介绍了c语言的基本语法知识;接着,详细讲解了c语言的?些高级程序应用;然后,介绍了c语言与其他主流编程语言的接口;最后,讲解了现代c语言的一些扩展应用和高级技术。
本书结构安排紧凑、讲解详细、实例丰富。c语言程序设计的初学者通过本书可以快速掌握c语言程序设计方法。同时,本书对现代c语言程序的接口和高级技术进行了全面讲解,对具有一定开发经验的设计人员也有非常好的参考价值。
[color=FF0000]奖品派送方式:[/color]
选出获奖者后,论坛管理员首先在本帖一楼中公布获奖人论坛ID。然后,管理员采用站内短消息方式通知获奖人,确定收取奖品事宜。如果公布后10日,获奖会员没有联系我们,将视为弃权。采用快递方式给获奖者快递奖品。
欢迎喜爱C语言程序的会员积极参与! [em11]

回复列表 (共19个回复)

11 楼


感谢啊  我需要 呵呵!

12 楼

我感觉C语言的运算功能十分丰富,运算种类远多于其它程序设计语言。更适用于初学者理解,而像汇编语言之类的不适于初学者理解! 
C语言是国内外广泛使用的一种计算机语言。C语言功能丰富、表达能力强、使用灵活方便、应用面广、目标程序小效率高、可以移植性好,既具有高级语言的优点,又具有低级语言的许多特点,因此特别适合于编写系统软件。C语言诞生后,许多原来用汇编语言编写的软件,现在可以用C语言编写了(例如,著名的UNIX操作系统就是用C语言编写的),而学习和使用C语言比学习和使用汇编语言容易得多。
C语言是我在大学学习中接触的第一种计算机语言,将其作为我们学生学习程序设计技术的入门课程,我想这与C语言的特点是分不开的。C语言不但可以编写系统软件,而且可以根据用户的需要编写出满足用户要求的应用软件,尤其是C语言具有很好的对计算机的硬件编程能力。同时,C语言具有逻辑性强、处理问题周密、严谨的特点,是集知识和技能于一体,实践性很强的课程。我们通过学习C语言可掌握程序设计的一些基本方法和技巧。然而C语言的数据类型较多、表达式丰富、语法结构较复杂,使它成为一门教师难教、学生难学的课程。C语言的学习过程是从点到面、从单一到繁多、从简单到复杂的过程。除了一些必须要记忆的关键字、语法和库函数外,还需要靠自己的逻辑思维通过这些关键字、语法和库函数来组织或构成一个完整的函数,最后将这些函数以正确的语法结合起来,形成一个完整的C语言程序。在刚开始学习C语言的一段时间里,总觉得C语言难懂和不容易使用。现在总结起来主要是以下三个方面的原因!
(1)只注重写程序,而忽视了读程序,学习计算机语言最好的方法是什么?很多人都认为是掌握程序思路会写程序,其实这个想法不正确,因为你连这门语言的思路都没有懂,怎么会写出真确的程序呢,所以我总结的方法就是先读后写,也就是先学会读程序,再练习写程序。读程序是学习C语言入门最快,也是最好的方法。对于没有学过任何语言的计算机初学者,最好还是先阅读教程,学习完每一章,都要认真体会这一章的所有概念,不放过这一章所提到的所有例题,仔细研读程序,直到每一行都理解了,然后找几个编程题目,最好是和例题相似的或一样的,自己试图写出这段已经读懂的程序。如果写不出来,也不要着急,回过头来再继续研究例题,想想自己为什么写不出来,然后再去写这段程序,反反复复,直到你熟练掌握为止。在学习C语言时应该把精力先放在最基本、最常用的内容上,千万不要钻牛角尖,在一些细节上死抠,有一些细节可以随着学习的深入和实践的丰富,会自然而然的掌握的。
(2)没能将理论学习和上机实践有效结合
我们学习C语言,主要是掌握程序设计的一些基本方法和技巧。因此,在重视理论学习的同时,必须加强上机实验。只有在上机实践中我们才能正真学会如何编写程序和调试程序,体会到“优化”程序;也只有通过上机实践才能更好地掌握程序设计的理论知识;同样只有通过上机实践,我们才能真正体会C程序的运行过程,然而在平时,我们恰恰就忽视了上机实验——没有明确的实验目标,实验兴趣不大。上机时一些学生无所事事或玩游戏,不但害了自己,还影响其他同学。
(3)缺少一定逻辑思维能力
C语言其实是很基础的汇编语言,除了一些必须要记忆的关键字、语法和库函数,其余的都是需要靠自己的逻辑思维通过这些关键字、语法和库函数来组织或构成一个完整的函数,所以C语言大多数的学习时间都是在锻炼我们的抽象逻辑思维能力。只有当你具有了抽象逻辑思维能力和弄清楚了关键字、语法和库函数的相关知识后,编写C语言就不是难事了

13 楼

这里内容真的非常丰富,是一个不错的学习环境

14 楼


个人感觉C语言最重要就是指针和内存管理,这是它和其他语言最主要的区别,而且在数据结构和算法实现上无疑是最好的选择,因为没有指针很多东西解释不通,另外系统开发和嵌入式方面等低层开发上基本上也是用C语言,操作系统内核是用C语言写的,java虚拟机也是用C语言,这样经历不衰的语言是IT人都必须学的......

15 楼

不错

16 楼

不错

17 楼

有段日子没摸过C语言了,而且当年学和用的时候也才两三个月而已,随口几句,献丑了。
先贴个代码吧,以前在群里发表观点时写的:
void* (Y(void* f()))(){
    void* t(void* k()){
        return f(k(k));
    }
    return t(t);
}
很久以前看到过一位大哲的一句名言:不能改变自己思考方式的语言,不值得学习。
C确切的说并不是"面向过程"就可以概括特性的。C系列充分相信程序员,C系列主题是自由,而且C系列还是多泛型的。于是,程序员敲代码的时候可以用命令式接触底层,并更高效。可以用过程式,对命令式的代码进行完善、封装。还可以用面向对象式构造软件宏观结构。甚至,如果是追求刺激的BrainFuck式程序员,还可以用泛函式写些精巧的代码。一段C代码,放到不同的上下文里,语义与功能可以完全不同。很多人说这是坏处。团队开发,就需要依赖很多注释,还不一定能读懂。于是很多教科书对于如下代码会说这是错的:
int a=10;
printf("%d",*a);
我倒不这么想(没用过微软的CL编译器),之所以读不懂是因为我们站的角度不一样,抽象还不够高。例如面向对象里,大家(至少我身边的人)通常思维是把实物抽象为对象。可谁都没有规定过,不能把动作、事件、片面抽象为对象。例如JavaScript将函数都作成对象了,多新颖的思维!
金庸武侠里有句名言:无招胜有招。于是我看着Java那已经指定好的、完善的、死板的面向对象格式,我笑了。希腊古哲学有个很有趣的问题,他们将世间所有事物分为四个基本水、火、气、土。于是古代大哲们开始追求最根本的事物究竟是何物。水?万物都是水中所生,可如果是水,它该如何描述与己相反的物质?火?无形、可变。可如果是火,该如何描述水?最后的结论是,任何实际存在的物质都不足以描述世间万物。于是给出命题,万物根本不是水、不是火、不是任何实际存在的物质。有形、有界则必有界外存在,Java有界,于是失去开发团队支持,Java必备淘汰。C语言不可以说无界,但至少界定很少,故而可以走得更远。Java从JVM到语言语法,几经变革,始终不能停下,有人说Java在不断发展,是好事。可C语言从制定至今,编译器、语法有过多少大的变革?却仍旧能同Java一争天下。所以我并不推荐大家通常读的那些入门书。学C还是从根本下手吧,学学汇编,从汇编的角度理解C语言是最好的了。就如学习C++,我比较赞成从C的角度去理解C++。(多余一句:C++对于C的界定更狠了,但C++的美不在这个界上,而在编译器上。C只是简单的替换宏语句,C++却非常完美得可以处理宏语句,于是我们有了模板,有了STL。C与C++美在两个完全不同的地方,勿将其简单认作升级版。)
长篇大论了这么久,无非是希望初学者不要死板地认为C就应该这么写代码,甚至认为C只能这么写代码。清华的入门书一向被封为大神引路。入了门就多找找刺激吧。例如开篇的那段代码。其实我喜欢C就在于此,同样一段C代码,可以有至少两种认识,并且理解的都没有错误。例如:
void * p;
可以这么认为“(void *) p”,也可以这么认为“void (* p)”,看出语义的异同了?看出了,就离真正的入门不远了。
最后说说开篇的那段代码吧,其实就是个简单的函数指针,理解方式就可以用如上例的两种理解来看,结果没有区别的。这就是邱奇、图铃等诸位大神的杰作,Y算子。

18 楼

纯粹支持一下呗。。。。。

19 楼


[em6]  个人感觉C比较难学的是指针。

我来回复

您尚未登录,请登录后再回复。点此登录或注册