《匠人手记》推荐网上购书渠道:
EDN网(ednchina)购书入口   >>>
互动出版网(china-pub)购书入口   >>>
当当网(dangdang)购书入口   >>>
淘宝网(taobao)购书入口   >>>
更多购书渠道……   >>> 

设为首页加入收藏联系匠人管理入口21IC首页21IC博客21IC社区侃单片机回复的贴参与的贴

天气预报
百宝日历

百宝专栏

  • 首页 相册 标签
  • 电脑应用(65)
  • 供需信息(22)
  • 写书近况(82)
  • 匠人文集(115)
  • 硬件技术(171)
  • 匠人公告(86)
  • 与非门专栏(545)
  • 匠人笔记(115)
  • 团队撰写(96)
  • 汽车电子(52)
  • 编程技巧(465)
  • 程序宝典(476)
  • 网络酷文(472)
  • 开发工具(19)
  • 资料宝藏(274)
  • 项目管理(11)
  • 藏经宝阁(42)
  • 趣味设计(5)
  • 社区热贴(2)
  • 比尔盖茨熊专栏(0) 
  • 百宝信息

    载入中...

    百宝流量

    (2006-07-01开始)



    匠人手记

    强大的语言——C入门
    程序匠人 发表于 2005-10-20 20:29:00  阅读全文 | 回复(0) | 引用通告 | 编辑

    强大的语言——C入门

      一、C语言的特点

      C 语言是美国的Dennis Ritchie在1972年设计发明的。它由早期的编程语言BCPL( Basic Combined Programming Language) 发展演变而来。C 语言之所以发展迅速,成为最受欢迎的语言之一,主要因为它具有强大的功能。归纳起来,C 语言具有下列特点:

      1.C语言是“中级语言”

      它把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。

      2.C语言是结构式语言

      所谓结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C 语言是以函数形式提供给用户的,这些函数可方便地调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。

      3.C语言功能齐全

      C 语言具有各种各样的数据类型,并引入了指针概念,可使程序效率更高。另外C 语言也具有强大的图形功能,支持多种显示器和驱动器,而且计算功能、逻辑判断功能也比较强大,可以实现决策目的。

      4.C语言适用范围广

      C 语言还有一个突出的优点就是适合多种操作系统,如DOS、Windows、UNIX,也适用于多种机型。

      二、C语言基础介绍

      随着微型计算机的日益普及,出现了许多C 语言版本。由于没有统一的标准,使得这些C 语言之间出现了一些不一致的地方。为了改变这种情况,美国国家标准研究所(ANSI)为C 语言制定了一套ANSI标准,成为现行的C语言标准。而在这里我们将主要以美国Borland 公司的产品Turbo C2.0作为介绍对象,简要介绍一下C语言的基本知识。

      1.数据类型

      在C语言中,每个变量在使用之前必须定义其数据类型。Turbo C有以下几种类型:整型(int)、浮点型(float)、字符型(char)、指针型(*)、无值型(void)以及结构(struct)和联合(union)。其中前五种是C语言的基本数据类型、后两种数据类型(结构和联合)则是C语言的扩展数据类型。

      2.关键字和标识符、运算符

      所谓关键字就是已被C语言本身使用、不能作其它用途的字。例如关键字else,就再不能用作变量名、函数名等。所谓标识符是指常量、变量、语句标号以及用户自定义函数的名称。C标识符的定义十分灵活。

      C的运算符非常丰富,主要分为三大类:算术运算符、关系与逻辑运算符、按位运算符。

      3.变量

      C规定所有变量在使用前都必须加以说明。一条变量说明语句由数据类型和其后的一个或多个变量名组成,例如“int x”。变量可以在程序中三个地方说明:函数内部、函数的参数定义中或所有的函数外部。根据所定义位置的不同,变量可分为局部变量、形式参数和全程变量。C像其它高级语言一样也使用数组变量。所谓数组就是指具有相同数据类型的变量集,并拥有共同的名字。数组中的每个特定元素都使用下标来访问。

      4.控制流程语句

      C提供了丰富、灵活的控制流程语句,主要有:条件语句、循环语句和开关语句。条件语句的一般形式为if-else。C提供三种基本的循环语句:for语句、while语句和do-while语句。而在编写程序时,经常会碰到按不同情况分转的多路问题, 这时可用嵌套if-else-if语句来实现,但if-else-if语句使用不方便,并且容易出错。对这种情况,C提供了一个switch开关语句。

     

      5.指针(point)

      学习C语言,指针是较难理解的一个概念。我们知道变量在计算机内占有一块存贮区域(也就是有一个“地址”),变量的值就存放在这块区域之中,在计算机内部,通过访问或修改这块区域的内容来访问或修改相应的变量。C语言中,对于变量的访问形式之一,就是先求出变量的地址,然后再通过地址对它进行访问,这就是指针及指针变量。指针变量的一般定义为“类型标识符 *标识符”,其中标识符是指针变量的名字,标识符前加了“*”号, 表示该变量是指针变量,而最前面的“类型标识符”表示该指针变量所指向的变量的类型。一个指针变量只能指向同一种类型的变量,也就是说,我们不能定义一个指针变量,既能指向一整型变量又能指向双精度变量。

      三、C程序设计初步

      C语言是一种中级语言,用户用C语言编写的程序称为源程序,源程序文件的后缀一般必须为“.c”。计算机硬件不能直接执行源程序,必须将源程序翻译成二进制目标程序。翻译工作是由编译程序完成的,翻译的过程称为编译,编译的结果称为目标程序,目标程序文件后缀一般为“.OBJ”。程序翻译成目标程序后,便可进行连接。“连接”的目的是使程序变成在计算机上可以执行的最终形式。在这一阶段,系统程序库中的程序要与目标程序连接,连接的结果称为执行程序,执行程序文件名字一般以“.EXE”结尾。   正如所有利用计算机语言所编写的的第一个程序一样,下面,我们也试着建立一个名为“HELLO.C”的源程序,这个程序将在屏幕上面打印出“你好,《电脑报》软件世界!”这个短语。

      通过键盘输入程序:

        include

        main()

        {

        printf(″你好,《电脑报》软件世界!\n″);

        }

      这个最简单的程序,也包括了C语言的一些基本的内容,它有一个主函数main(),使用到了标准的输出函数printf(),同时为了能够让程序运行时包含这个标准函数,我们首先要在程序的最开始写上include ,“stdio.h”是C语言提供的标准输入输出函数库头文件,我们可以直接引用里面的一些函数,来完成我们所要实现的功能。

      现在,让我们来编译、连接并运行一下这个最简单的程序,我们将看到,在屏幕上打印出了“你好,《电脑报》软件世界!”

      四、参考资料

      首先是一些C语言相关的书籍:

      《C语言》谭浩强,《C语言编程宝典》王大刚,《数据结构与算法——面向对象的C++设计模式》Bruno R. Preiss,《C/C++语言与研究开发实践》伍晓宇、辛勇,《Borland C++ Builder 3.0/4.0类参考详解》张济、袁野、王秀娟,《Borland C++Builder 3.0/4.0高级类参考详解》王秀娟、孙悦、黎华,《C++语言命令详解(第二版)》Brian Overland,《C++程序设计实验指导》钱能。

     
     

    看《匠人手记》,与匠人同行!北航出版,正在热卖!

    发表评论:
    载入中...

    芯片专题

    器件专题

    软件专题

    硬件专题

    综合专题

    项目专题

    原创专题

    器件检测
    LCD LED
    按键 触摸键
    E2PROM
    电池 电机
    电阻 电容 电感

    指令系统
    软件算法
    编程规范
    滤波算法
    串行通讯

    PCB设计
    I2C PWM
    红外遥控
    充电技术
    中断 ADC 

    匠人手记
    匠人夜话
    网络心路
    一周热点串烧
    从零开始玩PIC
    DIY旋转时钟

    广告5号位 [投放]


    学习板、开发板、编程器、下载器、仿真器(查看详情……)

    站内搜索


    站外搜索


    百度  google
    mp3  歌词 
    图片  FLASH 
    知道  文档
    新闻  词典 
    地图  mp3 
    软件  天网 
    雅虎  爱问 
    搜狗  讯雷 
    网讯  华军 
    天空 

    21IC器件搜索
    百宝箱分站
  • 《匠人的百宝箱》21IC站
  • 《匠人的百宝箱》21IC笔记团队
  • 《匠人的百宝箱》MCUBLOG站
  • 《匠人的百宝箱》MCUBLOG笔记团队
  • 《匠人的百宝箱》EDN站
  • 《匠人手记》EDN书友会
  • 《匠人的百宝箱》与非网站
  • 《匠人的百宝箱》新浪站
  • 《匠人的百宝箱》百度站
  • 《匠人的百宝箱》网易126站
  • 《匠人的百宝箱》网易163站
  • 《匠人的百宝箱》互动出版网站
  • 广告4号位 [投放]

     
     
     

    新鲜货色

    匠人手记

    近期动态

    载入中...

      《匠人手记》购书全攻略 
     书友近况:淘书手记答疑与讨论:什么是散转程序 
     《匠人手记》新书艳照
     EDN《匠人手记》签名售书优惠活动开始报名啦!
     欢迎加入《匠人手记》EDN书友会
     欢迎加入《匠人手记》书友会Q群
     《匠人手记》终稿目录
     《匠人手记》封面,请大家先睹为快
     上周六收到了北航寄来的《匠人手记》清样,让大家先睹为快

    匠人原创

    粉丝评论

    往日酷贴

    载入中...

    载入中...



     网络酷文:博客,改变的不仅仅是图书 
     网络酷文:C语言宏定义技巧C语言 条件编译详解

      21IC上海2008-04聚会报名进行中。。。 
     两分钟让你明白什么是ERP![转]
      神奇的Duff's Device 算法
      实用一线通讯电路及软件设计方法
      程序员的“七年之痒”
      史上最短但最精彩的武侠小说
      网络无厘头文学《缺钙水浒》(爆笑)

     你的博客还能持续多久(转贴)
     电动车无刷电机控制器软件设计要点(作者:谢渊斌)

    大千八卦

    友情连接

    新浪新闻:
    新浪财经:
    AK58新闻:
    新浪股票:
    新浪股票:
    证券之星:

     [更多酷站连接]

     

     

    [欢迎交换连接]

    [百宝箱之与非门分舵]

    [电脑圈圈的家当]

    [IC921的博客]

    [柔月阁]

    [八楼的呼吸]

    [hotpower 的水潭]

    [xwj的文君阁]

    [所长的BLOG]

    [阿摆手记]

    [电子伙伴]

    [unaided的笔记]

    [小飞的笔记]

    [单片机开发联盟]

    [网址之家]

    [好东西网址大全]

    [美萍中文精选]

    [数字电视之家]

    [SMARTCODE电子书斋]

    [软件开发之窗]

    [Armoric]

    [我爱研发网]

    [infernal的笔记]

    [雄鹰的空中加油站]

    [SunK]

    [逍遥电子]

    [ningpanda的博客]

    [C-Design]

    [一网见天下]

    [海边淘沙]

    [嵌入式365]

    [水牛的仓库]

    [股剩是怎样炼成的]

    [PIC论坛]

    [ICC AVR开发网]

    [中国高校自动化网]

     

     

     

    MCU博客-中国电子工程师博客网 

    大学生电子网 

     

     

     

     

     

    !!! 《匠人的百宝箱》 !!!