版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1,第一章C语言概述,兰州理工大学,2,第一章 C语言概述,1.1 C语言的起源 1.2 C语言是中级语言 1.3 C语言是结构化语言 1.4 C语言是面向程序员的语言 1.5 编译和解释 1.6 C语言程序结构 1.7 术 语 1.8 几种集成编译环境,3,1.1 C语言的起源,4,1.1 C语言的起源,C语言的发展过程,C Dennis Ritchie (1973),B Ken Thompson 美国贝尔实验室(1970),BCPL( Basic Combined Programming Language) Martin Richards 英国剑桥大学(1967年),BCPL和B语言不支持
2、数据类型,C语言支持数据类型,5,1.1 C语言的起源,C语言的发展过程 ALGOL60- CPL- BCPC- B- C- 标准C- ANSI C- ISO C ALGOL60:一种面向问题的高级语言。离硬件较远,不适合编写系统程序。 1963年,剑桥大学将ALGOL60发展成CPL(Combined Programming Language):CPL规模大,实现困难。 1967年,剑桥大学的Matin Richards 对CPL语言进行了简化,产生了BCPL语言。 1970年,美国贝尔实验室的Ken Thompson对BCPL进一步简化成一种很简单接近硬件的语言-B语言。并用B语言写了第一
3、个UNIX操作系统。 B语言精练、接近硬件,但太简单,数据无类型。,6,1.1 C语言的起源,C语言的发展过程 ALGOL60- CPL- BCPC- B- C- 标准C- ANSI C- ISO C 1973年,贝尔实验室的D.M.Ritchie在B语言的基础上设计出一种新的语言-C语言。C语言诞生后,很快用C语言改写Unix ,并移植到其它计算机系统。 1977年Dennis M.Ritchie 发表了不依赖具体机器系统的C语言编译文本可移植的C语言编译程序。 1978年贝尔实验室正式发表了语言。同时由B.W.Kernighan和D.M.Ritchit合著了著名的“THE C PROGRA
4、MMING LANGUAGE”一书K /* printf(世界, 你好n); */ getch(); ,20,1.6 C语言程序结构,例2: /* exsampe 2 */ #include stdio.h main() int a=5, b=6; int c=a+b; printf(%d,c); getch(); ,21,1.6 C语言程序结构,C语言程序有以下特点: C程序都由一个或多个函数组成(C是函数型语言,函数是C语言程序的基本单元); 有且仅有一个main()函数,称为主函数。它在程序开始运行时首先被调入执行。 C程序是由一个个语句组成,语句均由分号“;”结尾; 一行可以写多个语句
5、;一个语句可以写在多行上; C程序用大括号“ ”表示程序的范围和层次关系。每个函数、复合语句都用一对大括号括起来; C程序的关键字(和变量)习惯上使用小写英文字母。而宏定义的“宏名”通常用大写字母; C程序通常会有#号开头的一些编译预处理代码行,如:包含头文件(*.h),宏定义等。 程序可以有注释,用“/ * */”或“/”标注。,22,1.6.1 库和链接,C语言编译器的实现者已编写了大部分常见的通用函数,即标准函数库,以完成最常见的任务。 标准函数库作为构成程序的基本构件。标准函数库中的库函数可以反复使用(调用)。 链接器(Linker)把编写的程序同标准函数库中找到的目标码结合起来,称为
6、链接(Link)。链接生成可执行程序。 某些C编译程序带有自己的链接程序,有些则使用操作系统提供的标准链接程序。 程序员也可以编写自己的函数,这些函数也可以放在一个库(可能是标准函数库,也可能是自己的函数库)中,反复使用(编译程序通常会提供一个库管理应用程序)。,23,1.6.1 库和链接,函数库中的函数是可重定位(Relocaltable)的,意味着其中机器码指令的内存地址并未绝对确定,只有偏移量是确定的。把程序与标准函数库中的函数相链接时,内存偏移量被用来产生实际地址。,24,1.6.2 分别编译,多数短程序都可以完全放进一个源文件; 随着程序长度的增加,编译时间也大幅度增加(常使人无法忍
7、耐); 因此,C语言允许将一个程序分块写在多个文件中,每一个文件可单独编译。 分别编译的优点是,当程序代码改变后,只需重新编译改变了的文件,而不必重新编译全部程序。这可以节省大量时间。,25,1.6.3 编译C语言程序,编译C语言程序包括以下三步: (1)程序设计(编辑源程序,或称源代码); (2)程序编译(生成目标码); (3)目标码与库函数链接,生成可执行代码 。 编译、链接与运行过程中通常会有错误,查错与改正错误的过程通常称为调试。 大多编译程序提供一个集成开发环境 (Integrated Development Environment IDE),程序的编辑、编译、链接、调试与运行是一体
8、化的。 也有的编译程序没有集成开发环境,程序员必须用独立的编辑程序编程。 某些字处理软件产生的文件含控制码和非打印字符(包括汉字及全角符号),编译程序会拒绝接受。,26,1.6.3 编译C语言程序,右图是编译C语言程序的全过程。,27,1.6.4 C语言的内存映象,一个已完成编译的C语言程序取得并使用四块在逻辑上不同、且用于不同目的的内存区域。 第一块区域含有程序代码,相邻的一块内存区域存放全局变量; 其它两块分别是: 栈(Stack): 用来处理程序运行的许多事务,保存函数调用时的返回地址、函数的变元、局部变量以及CPU的当前状态。 堆(Heap) :是一个自由内存区域,程序可利用C语言的动
9、态分配函数,由此取得用于链表和树等数据结构所需要的内存。,28,1.6.4 C语言的内存映象,图:,29,1.7 术语,源代码(Source Code):用户可编辑、阅读的程序文本,源代码是C语言编译程序的输入。 目标码(Object Code):由源代码经编译器编译而产生的机器码。目标码是链接程序的输入。 链接程序(链接器)(Linker):可把分别编译产生的目标码与标准库函数链接为完整的可执行程序(.exe)的软件程序。 函数库(Library):存放可被用户程序引用的标准函数。包括所有I/O操作及其它有用的子程序。 编译时(Compile Time):编译时出现的事件。在编译期间出现的错
10、误通常是语法错误。 运行时(Run Time):运行时出现的事件。,30,1.8 几种集成编译环境,31,1.8 几种集成编译环境,全国计算机等级考试-二级C语言程序设计(08版),32,1.8.1 Visual C+ 6.0运行环境,例子:,33,1.8.1 Visual C+ 6.0运行环境,利用Visual C+ 6.0集成环境开发C程序的过程如下: 1.启动Visual C+ 6.0环境 2.编辑源程序文件 3.编译和连接 4.执行,34,1.8.1 Visual C+ 6.0运行环境,1.启动Visual C+ 6.0环境,方法:单击 “开始”-“程序”-“Microsoft Vis
11、ual studio 6.0”-“Microsoft Visual C+ 6.0”命令,启动Visual C+,VC+6.0主窗口如下:,菜单栏,项目工作区,标题栏,输出区,工具栏,状态栏,文件编辑区,35,1.8.1 Visual C+ 6.0运行环境,2. 编辑源程序文件 (1)建立新工程项目 单击“文件”-“新建”,弹出“新建”对话框。 单击“工程”选项卡;单击“Win32 Console Application”选项;“工程”文件框中输入项目名,如“gc1”和“位置”框输入或选择新项目所在位置,单击“确定”按钮。 弹出“Win32 Console Application Step 1o
12、f 1”对话框。 单击“An empty project”按钮和“完成”按钮。系统显示“新建工程信息”对话框。单击“确定”按钮。,36,1.8.1 Visual C+ 6.0运行环境,2. 编辑源程序文件,37,1.8.1 Visual C+ 6.0运行环境,2. 编辑源程序文件 (2)建立新项目中的文件 单击“文件”-“新建”,弹出“新建”对话框。 选择“文件”选项卡。单击“C+ Source File”选项,在“文件”文件框中输入文件名,单击“确定”按钮。系统自动返回VC6主窗口。 显示文件编辑区窗口,在文件编辑区窗口输入源程序文件。,38,1.8.1 Visual C+ 6.0运行环境,
13、2. 编辑源程序文件,39,1.8.1 Visual C+ 6.0运行环境,3. 编译和连接 方法一:选择主窗口菜单栏中“编译”菜单项;系统弹出下拉菜单,选择“构件”菜单命令。 方法二:单击主窗口编译工具栏上的 “Build”按钮进行编译和连接。,40,1.8.1 Visual C+ 6.0运行环境,4. 执行 方法一:单击“编译”菜单中“执行”命令。 方法二:单击主窗口编译工具栏上的 “Build Execute”按钮来执行编译连接后的程序。,41,1.8.2 Turbo C 2.0运行环境,Turbo C 2.0界面如下:,42,1.8.3 WIN-TC运行环境,.,43,44,1.8.3 WIN-TC运行环境,由于Turbo C 2.0(简称TC2.0)是基于DOS的,不支持鼠标操作、字体大小不能调整、文本复制步骤繁琐、不支持中文输入输出,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026北京中院面试题及答案
- 2025年中国玻璃标本瓶市场调查研究报告
- 2025年中国热力供应监控系统市场调查研究报告
- 2025年中国液体、膏体充填机市场调查研究报告
- 2025年中国汽车轴重制动复合检测台市场调查研究报告
- 2025年中国把式三人扭腰器市场调查研究报告
- 2025年中国不锈钢方坯市场调查研究报告
- 《传感器与检测技术》课件 第七章 压电式传感器
- 肾脏穿刺术后预防血栓措施
- 心包积液患者的疼痛管理技术
- 马克思主义基本原理-2023版-课后习题答案
- 100以内加减法混合竖式练习题
- 油水井措施运行工作规范
- 2023年江西新余中考历史真题及答案
- “星火计划”人才培养项目
- 【人教版】八年级数学下册《一次函数与方程、不等式》基础测试卷及答案
- 保险规划综合案例分析-
- 苏教版八年级数学下册期末试卷(必考题)
- GB/T 5486.2-2001无机硬质绝热制品试验方法力学性能
- GB/T 3836.4-2021爆炸性环境第4部分:由本质安全型“i”保护的设备
- GB/T 308.1-2013滚动轴承球第1部分:钢球
评论
0/150
提交评论