此博客中的文章,是我为高中兴趣班编写的讲义,主要参考就是谭浩强的《C程序设计》,在10多年教学实践后,经多次整理而成的C图文教程,视频教程也将在不久后发布。公布出来的目的,就是希望C语言这个“阳春白雪”, 能变成“下里巴人”, 成为真正民族的、大众的科学,最终普及到义务教育阶段去。 《C程序设计》历年已久, 且经久不衰, 大量的本专科初学者被引导入门,那么象中小学生,他们能不能学习《C程序设计》呢?中小学生, 由于一些基础知识和学习能力的不足,使得C语言的教学或自学,均有些困难。但实践已经证实,他们完全可以学会C语言! 如果你到百度的C语言吧去,你就会发现许多好手是中学生,甚至是小学生!当然,一般来说,学习C时,课时要稍多一点,教材或视频中应降低数学、英语、计算 机等基础知识的使用量,同时程序设计的引导部分,诸如:基本类型、3大结构、数组、函数等内容的讲解和练习时间要充足。 回答几个初学者常见的问题: 一、有些人学习《c程序设计》很容易入门,但有些认为太难,为什么?可能与以下几个公共基础知识及其自身的某些能力的具备程度有关: 1、 数学基础:数列(自然数列)及其递推公式、变量函数、方程、科学计数、归纳法和穷举法、指数和对数、应用题求解,这些是高一及以下的数学知识。那么数学差怎么办啊,是不是要从高中的重新读起啊,那些有没有用?
不过在标准C的入门阶段,再高的数学知识就用不着了, 但是注意:说高中数学就够用了,是指标准C入门时。当你在进一步学习诸如数据结构、离散数学等课程以及将来设计大型计算程序、游戏程序或专用程序时,就必然会遇到或用到高深的数学知识。因此,想成为一个软件设计高手,一定要学习数学呀! 2、 英语水平: 初学编程一定要英语非常好吗? 要有一定的英语知识。 在编译器的界面和错误提示方面,即使界面再进行汉化,一些诸如错误提示、帮助,仍然是英文的。 而且英语和计算机知识是相辅相成的。计算机水平越高,越需要英语的支持,就越需要学习英语,急用现学最快,英语水平自然会提高;英语学的越好,当今先进的英文原版计算机技术资料,能读了,计算机水平就会越来越高。 在初学编程时, 如果英语不是很好,也没有关系。一方面可以用网络在线字典,比如:百度词典;另一方面遇到计算机方面的英语难题,可以向高手请教嘛。这样,一边学编程,一边学英语,很快,英语这个非常恐怖的东西就不可怕了。 总之,要重视英语的学习,绝对不能放弃。 3、 计算机操作使用水平,尤其是windows的command/cmd命令行操作: 可以更好的理解接受C语言中关于字符模式的输入、输出的内容。 4、 少许硬件基础知识:微机原理的知识(如CPU、内存的工作原理)和各种进制的计算。诸如基本类型、指针、位运算等等都会或多或少的用到这方面的知识。 5、 数字化抽象思维能力:善于将现实世界数字化。 6、学习能力强:自学能力和方法。 7、 好领路人:高师指点。
二、程序是什么?干什么的?什么是面向过程????
指挥人工作,要讲人话,你不能象狗一样叫,如果你非要那样,一般人不会理解你的意思哦;同样,指挥计算机工作,要讲计算机能懂的话;这样,你就需要学计算机的语言; 用计算机的语言写出的话,就是程序。C语言是计算机语言的一种。对于程序是什么?再给你做一个比喻: 你如何才能让骨牌按照你的设想倒下并呈现出预定的图案呢? 你知道吗?计算机其实到今天为止,仍然和骨牌一样,是没有多少智能的。那么,你如何让计算机解决问题呢?
三、c语言是一种古老的语言,现在流行的是面向对象的C++、JAVA等,为何还有那样多的人学C,有什么用呢?
先引用一段话: 而且至少以下基本知识应该在c中获得并得到充分练习:
无论basic Fortran cobol Java vb vc,都要从“基本数据类型、常量变量、程序设计的3大结构(顺序分支和循环)、数组、函数”开始学习,无一例外。此外,数据结构、操作系统(UNIX)等后续计算机课程往往用C语言作为背景语言。 值得注意的是,神7的火箭助推系统设备驱动,也使用了标准C作为开发语言,因此标准C的学习是有现实意义的! 另外,我将陆续刊登谭浩强C的后续章节的重点分析,主要针对中专、中小学生中的不入门者。由于是利用业余时间, 所以整理一章大概要一、两周 或 更长时间 ,但我会力图更快更好,同时,也希望自己能坚持到底;只是水平有限,望多多品评指正. |