Simple Description for C Language

 ==www.cciss.cn.==
==bbs.cciss.cn.==
                             
               Simple Description for C Language

|=---------------=[ C语言概述 ]=-----------------------------------=|
|=-----------------------------------------------------------------=|
|=---------------=[ 7all (7all7_at_163.com) ]=---------------------=|
|=-----------------------------------------------------------------=|
|=---------------=[ 版权所有:www.cciss.cn ]=-----------------------=|

--[ 概述
  C语言从为了玩game的B语言而来,到现在C语言已经占据了90%以上的底层开发技术,
不知道这样来比喻是否恰当:) 不过从我接触到的一些项目而言,都不可能是100%汇编
完成的项目,虽然有些模块需要使用汇编进行更底层的操作,但再配合C语言来一起实
现的话,效果就会好很多.从前年开始有种技术倒退的感觉,依稀记得去年学WIN32汇编
的人骤多,不知道是否是因为WIN32汇编书籍的增多,还是更多的人在朝系统底层的技术
迈进.当然,以一个程序员的良心而言,我希望是后者.
  本人写东西有些很随意,并不会按照顺序来写,前段时间写了CIS小组规划内的3篇文档
,按照顺序也好常理也好,这篇对C语言概述的文章怎么来说都应该是第一篇,但那个时候
懒得写,于是今天写来凑数.这篇文档在1个月前写好,今天又重写修改了一下,写的不好,
出错的地方还请大家指正.

--[ 什么是C语言
  C语言就是一门编程语言,记住C语言使用的是英文字母和阿拉伯数字,以及一些特殊字符
组合而成.ok,stop!前面是开玩笑的话,下面开始我们的正文:)在开始正文前我可能还要唠
叨几句大家喜欢不喜欢听的话语.
  讲述C语言历史,C语言技术概论的书很多很多.你手上的任何一本C教程可能都是这些罗嗦
的话语.我自己感觉这些都是罗嗦的话,没有发现一本C教程上面针对C语言的初学者的一些
比较好的建议,我想针对我自己学习的一些经验,给初学者一些可能会有帮助的建议:)
因为很多C的书籍上面始终没有很好的方法来从根本上告诉初学者到底啥是C语言,以及C语
言可以做什么.下面的内容我们一起来探讨下什么是C语言,与大家分享下我对C语言的理解,
并一起感受下如何快速学习C语言的方法.当然很多方法都是个人观点,不当的地方还请大家
指正.

  很多在校计算机系的学生都学过C语言,也都写过C的程序,可是即使等课程完毕,很多同学
也很难明白C到底可以做什么.就好像老师曾经在讲台上说"语言是很有用的语言,C语言可以
做很多事情,而且可以开发硬件驱动等..."可是往往即使你学到期末考试,C的语法你背的滚
瓜烂熟,你都还在迷惑C到底能够做什么? 在下面的章节我们一层层的把C的神秘面纱揭开:)
要我们来看看C到底是美女,还是披着美女衣服的恐龙.
  C语言的主要部分:
  A: 理解变量/常理的定义
  B: 理解数据类型
  C: 理解数组
  D: 理解指针
  E: 理解结构
  F: 理解各种判断语句
  G: 理解函数及库函数的灵活使用
  按照一个智商为70的人来算起,每天记一点C的这些基础知识,大概半年时间就可灵活运用.但
是灵活运用了这些算是会用C写应用程序嘛?答案是No!学会这些与会用C语言写程序当然是两码事.
这个也正是使很多初学者迷惑的地方,因为很多初学者学完传统C后会感觉迷惑,自己也学完
C语言了,可为何反而感觉自己除了可以写个Console Application外,其他的还是不会.还有些
初学者学完C就会犯迷糊,甚至一直都处于只会写hello world的程序中.下面来看看如何更深入
的利用我们掌握的C语言的基础知识来扩充我们的C语言编程能力.
  对于编写C的应用程序而言,编写C程序的关键在于C库函数的灵活运用以及系统API函数的使用
在你确认自己会写C程序前,你是否确认你熟悉所有的C库函数的使用?strcat,strncpy,strcmp,
strncmp...等等,是否可以灵活使用这些库函数来构造自己的C程序?如果还没有熟悉C语言本身
的库函数,那么我建议你先学会C本身函数的灵活运用,只有对C本身的库函数能够灵活使用,才
会在以后C程序的编写中可以得到如鱼得水的境界:)在你想写一个WIN32程序或者UNIX程序前,
你是否确认自己已经熟悉了WIN32或UNIX系统的API函数?如果没有熟悉的话,首先熟悉下你需要
的API函数再开始你的编程之旅吧.下面我们以学习WIN32编程为例来大体的阐述下相关的概念.
  在讲解下面的内容前,我试图找到一些比较精确的词语来说明我的本意,不幸的是本人最近
犯迷糊,更被某些同志呼为错别字大王,故此如若下面的内容大家不清楚或者不理解我的意思,
可以在帖子下面进行相关的讨论.
  有很多初学者对于学习WIN32编程感觉很模糊,更有甚者对于为何Windows的SDK编程使用的C
而感觉迷糊,他们认为SDK程序设计和C没有任何的关系,因为WIN32程序设计给人的感觉很不象
C程序设计.
  这里也是我想说的一个方面,WIN32 SDK编程的确是C语言编程,只是使用的不是大家练习C时
的那些库函数,而是使用Windows本身提供的API函数.因为WIN32编程写的是能够运行
在Windows下面的程序,写windows下面的程序,当然需要调用到很多windows系统下面的API函数
来完成某个你想在windows下面实现的功能.所有WIN32程序设计当然会与你平时调用C库函数写
的Console Application不尽相同.或许有朋友会问,既然不同为何还要在这里浪费笔墨呢?直接
讲下WIN32编程不就可以了嘛?
  我个人感觉,讲解某个技术永远不如告诉大家原理,自己去琢磨来的好.自己去琢磨会提高自己
的编程经验和编程能力.而且原理理解了,相对来说学习其他编程技术也会轻松很多.WIN32编程
的确与拿C写Console Application不同,不同点就在其调用的函数不同,你拿C写Console App需要
调用C本身的很多库函数来完成你的程序功能,你写WIN32程序则需要拿API函数来完成自己的程序
功能.而库函数和API函数都是函数而已,只是你需要熟悉WIN32编程时需要的API函数而已.用句
简单点的话来说,学习WIN32编程你需要的就是一个使用API函数,学习API函数的过程.当然WIN32
编程没有我说的这么简单,还需要注意的是其程序结构等问题,例如:WIN32编程由main函数转到
了WinMain函数等.而且学习MFC编程的时候还需要掌握一些MFC API函数的调用和使用方式.不过
归根到底WIN32编程学习的关键就是熟悉API函数,使用API函数,精通API函数的一个过程.
  我们继续延伸到其他的编程领域,以JAVA和C#为例来说明,JAVA的语法与C++很类似,而C#就是
JAVA的另一个翻版.大家都知道JAVA和C#都是以类为基础的,以类来搭建程序框架;而JAVA的API
类库与.NET FrameWork提供的类库,其原理与C的库函数是类似的.而且我相信熟悉逆向工程的
朋友应该都知道类的底层表现和函数的底层表现是相同的,因为汇编就认识过程,汇编没有类这样
的概念.所有大家也可以理解为在熟悉了JAVA和C#的简单语法以后,你需要熟悉的就是其类的
调用和各个类模块的功能作用,这样或许可以帮助大家快速的学会一门编程语言.
  ok,stop!不理解的可以在下面跟贴讨论.

--[ 如何学习C语言
  学习C语言的最好途径无非是多写程序,去熟悉C本身的常用库函数,多写多练.大概有3个月时间,
我相信基本C程序设计的学习应该会有很不错的成绩.学习WIN32编程的环节无非也是多写多练.还
有对WIN32 API函数的熟悉,多使用WIN32的常用API函数来写程序,有半年时间也会在WIN32编程上
有所成绩:)

--[ 结束
  对于C语言的概述,N多的C语言教程上有N多.写这篇文档的目的主要是给初学者一个如何开始入门
学C的帮助.当然文档内容中我对于编程的这种理解并非正道,只是个人的见解而已,希望大家提出更
好的方法.
  之前想过阐述C编程的基本知识,但是想来想去,还不如把自己这几年编程的经验告诉给大家来得好,
希望对一些初学者有帮助,记住:Nothing,So Easy!:)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值