--C语言开讲啦系列大致介绍
很多同学到了大学迷茫、厌学,很大的原因就是不知道学这些东西有啥用,又这么难又学不会。或者还有很多同学为了考试成绩而苦读,失了学习基本的兴趣,专心服侍考试。下边是我很喜欢的一句话,每次读都能让内心一颤。 平时则放荡冶游,考试则熟读讲义,不问学问之有无,惟争分数之多寡;试验既终,书籍束之高阁,毫不过问,敷衍三四年,潦草塞责,文凭到手,即可借此活动于社会,岂非与求学初衷大相背驰乎?光阴虚度,学问毫无,是自误也!---蔡元培《就任北京大学校长演示》 1917年蔡元培就说出了这样的话,现在2014年了,每次读这段话都不得不说人家真不愧是大教育家。这话说了这么久依旧是一针见血、直抵真相!想想他老人家的话如今竟然成了“普遍现象”,真是让人倒抽凉气。 分享给大家,警钟长鸣。所以大家要明确目标--我们的目标是学以致用!不能不学 浪费光阴,也不能盲目学习充当被添的鸭子。 接下来麦粒er准备开始一个讲解C语言基础的系列文章,毕竟工科的知识还是有点难懂的,单靠这点篇幅远远不够。预计连着用六篇小文章来讲C语言入门基础知识,大致包括(C介绍、书籍推荐、关键字、运算符、控制语句、函数、还会介绍下指针和数组以便大家接着学习)抛砖引玉、各洒潘江,哈哈。 学习嵌入式需要很多科目(C语言、模电、数电、自控、信号等等)的知识结合在一起,综合能力的提升很重要的。要不然难免遇到木桶效应的尴尬。学习的乐趣是学以致用。知识就是力量吗?学会使用知识才能创造生产力,那才是力量!理论指导实践,实践践行理论,才是学习的乐趣所在。 其实大部分同学都应该学过了C语言基础了,大一的同学们正在学,大二大三的估计都忘光光了吧。其实正常,学完了用不到慢慢自然会忘。还可能当时学的不好,其实真心不用自责真心没关系,谁说必须要一次就学懂呢,不懂就不懂,以后碰到需要用的情况就接着学接着研究,几次之后总会懂的。
--说说C语言吧

上图中的老爷爷很慈祥吧。Dennis Ritchie 丹尼斯·里奇,C语言之父和UNIX之父。这个UNIX大家不熟悉,Linux操作系统可能大家都听说过,这没听过那Androi安卓大家一定一定听说过吧,安卓就是一种基于Linux的自由及开放源代码的操作系统。 1969年,通用电气、麻省理工、贝尔实验室联合研制一种叫Multics的操作系统,但研制完了发现系统太大太复杂,几乎彻底失败。 从失败项目撤出后,贝尔实验室的工程师们Dennis Ritchie和Ken Thompson设计了一个比Multics更简单更轻量级的操作系统UNIX,1970年将UNIX移植到PDP-11小型机上,但当时的高级语言BCPL(Basic Combined Programming Language,由伦敦大学和剑桥大学合作研发的早期高级语言)简称“B语言”不适合作为UNIX系统的编程语言。所以Dennis Ritchie创立了“New B”语言。很快就被人称为C语言。 C语言能干啥呢?大部分同学都能知道--编程呗,那给什么东西编程呢?又有点说不清了吧--不太清楚,但我最起码知道嵌入式系统用,C语言现在在嵌入式软件开发中的比例仍占60%左右。所以要学嵌入式,一定要学好C语言。自然随着深入还会学到更高级的语言如C++、java,但先学好C会给你的编程语言进阶提供基础。
--书籍推荐
大家学C语言的教程是谭浩强版的吧,很多人说那是国内C方面最经典之作,教材就不用我推荐了吧。
基础推荐:C Primer Plus(第五版)中文版 
作者[美]Stephen Prata著 出版社:人民邮电出版社 提高推荐:C 和指针 中文版 
作者[美] Kenneth A.Reek 出版社:人民邮电出版社 这书也不是我推荐,大家都说好,确实讲的比较仔细,语言也比较通俗好懂。价格都是40多元,我都买了,因为我平时比较有闲着没事就买书的习惯,大家可以去图书馆借借,也有同样习惯的同学也可以买。但买书不代表就看书,买得来书买不来知识,买书如山倒,读书如抽丝啊! 还有更高级的,我也没过,网上大家评价还不错的有《C陷阱和缺陷》、《C专家编程》等等。
--小试牛刀
给大家看两段简单的小程序,检验一下自己的C语言水平:
这段程序有问题吗? char i; unsigned int a[300]; for(i=0;i<300;i++) a[300]=i; 有,因为char是无符号数(ARM编辑器的编译环境中),它的范围是0至255。所以i会永远小于300,所以这个循环永远不会退出。程序也就卡死在这了。
还有 if(x[i]>MAX);
MAX=x[i]; 和
if(x[i]>MAX)
MAX=x[i]; 有什么区别?[这个给大家思考思考 周三把答案发给大家]
给大家看看这两段小程序就是让大家回忆回忆C语言的知识。这周的小文章就这样吧,下周就要介绍关键字、运算符这样的真材实料的知识啦。 大一正在学C的孩子们,拿出书来翻翻查查,大二大三C结课了的孩子们,快去把收起来的C语言书找出来吧!
以下是本系列教程文章列表:欢迎大家踊跃讨论,有问题可在51黑论坛回帖提出.
C语言基础教程(1):http://www.51hei.com/bbs/dpj-41177-1.html C语言教程(2)-关键字 变量:http://www.51hei.com/bbs/dpj-41178-1.html C语言教程(3)-控制语句:http://www.51hei.com/bbs/dpj-41179-1.html C语言教程(4)-运算符:http://www.51hei.com/bbs/dpj-41180-1.html C语言教程(5)-函数:http://www.51hei.com/bbs/dpj-41181-1.html C语言教程(6)-数组与函数指针:http://www.51hei.com/bbs/dpj-41182-1.html
51单片机教程:http://www.51hei.com/bbs/mcu-xuexi-1.html STM32教程:http://www.51hei.com/bbs/dpj-41167-1.html
|