- 1、本文档共91页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
嵌入式C语言概述
C语言的历史与特点预处理程序位运算010203嵌入式C语言概述0405函数指针C程序的移植★★
C语言的历史与特点1C语言是国际上广泛流行的高级计算机程序设计语言,它不但可以用来编写应用软件,也可以用来编写系统软件。
C语言的历史可以追溯到ALGOL60语言,这是设计于1960年的一种面向问题的高级语言,并不适合用来编写系统程序。1963年,英国剑桥大学在ALGOL60的基础上做了改进,提出了CPL(CombinedProgrammingLanguage)语言,它的性能更好,但是规模比较大,难以实现。1967年,剑桥大学的MatinRichards对CPL语言做了简化,推出了BCPL(BaseCombinedProgrammingLanguage)语言;C语言的历史
1970年,美国贝尔实验室的KenThompson对BCPL语言又作了进一步的简化,设计出了简单且方便对硬件操作的B语言,并用B语言写出了第一个UNIX操作系统。1972~1973年间,贝尔实验室的DennisM.Ritchie对B语言做了改进,设计出了C语言,名称取自BCPL的第二个字母。1973年KenThompson和DennisM.Ritchie两人合作,用C语言重写了90%以上的UNIX代码,发布了UNIX第5版。C语言的历史
以1979年发表的UNIX第7版中的C编译程序为基础,BrianW.Kernighan和DennisM.Ritchie(合称KR)合著了影响深远的名著“TheCProgrammingLanguage”,其中介绍的C语言成为广泛使用的C语言版本的基础。后来,美国国家标准化组织(ANSI)制订了统一的C语言标准,在1989发布修订版ANSIX5.159-1989(C89标准),并于1990年被ISO接纳C语言标准化之后,ISO/IECJTC1/SC22/WG14工作组继续完善C标准,并于1999年12月发布了C99标准(ISO/IEC9899:1999)目前必威体育精装版的C语言标准是2011年发布的ISO/IEC9899:2011,简称为C11标准。下列网站提供了C标准的相关信息:C语言的历史
C是一种结构化语言,显著特征是代码与数据相分离,能够按照任务功能把程序划分为若干模块,这通过调用采用局部变量的函数来实现。通过使用局部变量,能够写出对程序其他部分没有副作用的子程序。在使用一些模块化很好的函数时,仅需要知道函数做什么,不必知道它如何做,即把函数当作一个“黑匣子”。这有利于代码重用,减轻了程序员的负担,提高了编程效率。C语言的特点
作为高级语言中的低级语言,C语言的最大特点是包含指针特性,允许对地址直接操作,这使它在很大程度上可以替代汇编语言,具有编写系统软件的能力。C语言语法简洁、紧凑,仅有32个关键字和9种控制语句,通过基本控制结构可以构造出千变万化的复杂结构;运算符丰富,共有34种运算符,包括位运算;数据结构丰富,支持整形、实型、字符型等内建类型,以及结构体、共用体等用户自定义类型,编程功能强大,开发效率高;C语言是编译型语言,经过编译、链接后能够直接生成可执行文件,而且目标代码质量高,程序执行速度快;可移植性好,已经广泛地应用在从大型计算机到微型计算机、从开发平台到嵌入式平台的各种硬件环境中,使用方便、灵活,程序设计自由度大。C语言的特点
C语言编程方便、运行速度快,每个C语言编译器都提供了专门的函数库,程序员可以根据需要对其进行剪裁,以适应各自程序的设计。C语言鼓励分别编译,程序员可以分别设计各自模块,然后统一链接为可执行程序,方便开展协作项目,提高了语言的实用性。C语言的特点
C语言也有一些缺点,例如数据的封装性不如C++语言,这导致它的数据安全性有一定缺陷;C语言的类型检查机制相对薄弱,对变量的类型约束不严格,对数组下标越界不作检查,影响程序的安全性;指针是C语言的一大特色,但是指针操作也给它带来了很多不安全的因素,如果使用不好很容易出现各种错误,C++在这方面做了很好的改进,在保留了指针操作的同时又增强了安全性,而Java语言干脆取消了指针操作,提高了安全性;从应用的角度,C语言比其他高级语言较难掌握。C语言的特点
预处理程序2C89规定的预处理指令有以下几条#if#ifdef#ifndef#else#elif#endif#define#undef#line#error#pragma#include
预处理语句的书写规则作用:对源程序编译之前做一些处理,生成扩展C源程序格式:“#”开头占单独书写行语句尾不加分号
0101宏定义不带参数宏定义一般形式:#define宏名[宏体]功能:用指定标识符(宏名)代替字符序列(宏体)
0
您可能关注的文档
- 嵌入式系统电子课件-1 绪论.pptx
- 嵌入式系统电子课件-2.1 交叉开发环境.pptx
- 嵌入式系统电子课件-2.2 Linux开发工具链.pptx
- 嵌入式系统电子课件-2.3 编辑器.pptx
- 嵌入式系统电子课件-2.4 编译器.pptx
- 嵌入式系统电子课件-2.6 调试器.pptx
- 嵌入式系统电子课件-2.7 自动化编译配置文件.pptx
- 嵌入式系统电子课件-3.2 bootloader.pptx
- 嵌入式系统电子课件-3.3 内核编译.pptx
- 嵌入式系统电子课件-3.4 busybox.pptx
- 江苏省兴化市顾庄学区重点名校2025届中考试题猜想生物试卷含解析.doc
- 河北省石家庄市28中学教育集团达标名校2025届中考考前最后一卷生物试卷含解析.doc
- 2025届广东省珠海市斗门区市级名校中考冲刺卷历史试题含解析.doc
- 海口市重点中学2025届中考化学模拟预测题含解析.doc
- 浙江省嘉兴市桐乡2025届中考三模生物试题含解析.doc
- 青海省海南市市级名校2025届中考生物猜题卷含解析.doc
- 2025届江西省南昌市第十九中学毕业升学考试模拟卷生物卷含解析.doc
- 山西省泽州县晋庙铺镇拦车初级中学校2025届中考三模生物试题含解析.doc
- 云南省曲靖市2024-2025学年高三年级第二次教学质量监测数学答案.pdf
- 2025届云南师范大实验中学中考一模历史试题含解析.doc
文档评论(0)