C语言与程序设计教程 教学课件 ppt 作者 胡元义 全书教案_ 第1章

上传人:E**** 文档编号:89370857 上传时间:2019-05-24 格式:PPT 页数:76 大小:3.13MB
返回 下载 相关 举报
C语言与程序设计教程 教学课件 ppt 作者 胡元义 全书教案_ 第1章_第1页
第1页 / 共76页
C语言与程序设计教程 教学课件 ppt 作者 胡元义 全书教案_ 第1章_第2页
第2页 / 共76页
C语言与程序设计教程 教学课件 ppt 作者 胡元义 全书教案_ 第1章_第3页
第3页 / 共76页
C语言与程序设计教程 教学课件 ppt 作者 胡元义 全书教案_ 第1章_第4页
第4页 / 共76页
C语言与程序设计教程 教学课件 ppt 作者 胡元义 全书教案_ 第1章_第5页
第5页 / 共76页
点击查看更多>>
资源描述

《C语言与程序设计教程 教学课件 ppt 作者 胡元义 全书教案_ 第1章》由会员分享,可在线阅读,更多相关《C语言与程序设计教程 教学课件 ppt 作者 胡元义 全书教案_ 第1章(76页珍藏版)》请在金锄头文库上搜索。

1、第1章 C语言与程序设计简介,1.1 计算机和程序设计基本概念 1.2 C语言的发展历程和特点 1.3 C语言程序的基本组成 1.4 Visual C+ 上机操作,1.1 计算机和程序设计基本概念,1.1.1 计算机系统组成 计算机是一种能够自动、高速处理数据的工具。一个完整的计算机系统包括硬件和软件两大部分,其组成如图1-1所示。,图1-1 计算机系统组成,1. 硬件 硬件是指计算机的机器部分,即我们所见到的物理设备和器件的总称。计算机硬件结构如图1-2所示。,图1-2 计算机硬件结构图,中央处理器(CPU)是计算机的核心,它由控制器和运算器两部分组成。控制器是计算机的神经中枢,它统一指挥和

2、控制计算机各部分的工作。运算器对数据进行运算和处理。 计算机存储器分为内存储器和外存储器两种。内存储器简称内存,也叫主存,是计算机用于直接存取程序和数据的地方。内存可直接与CPU交换信息。其存取信息的速度快,但容量有限。外存储器简称外存,也叫辅存,常用的外存有磁盘、U盘等。由于内存容量的限制,常用外存来存放大量暂时不用的信息,这些信息一般以文件形式存放在外存上。外存的特点是存储量大,信息可以长期保存,但存取信息的速度较慢。CPU不能直接处理外存中的信息,处理前必须先将这些信息由外存调入内存后再进行处理,程序也只有装入内存后才可运行。,输入、输出设备是计算机与外界传递信息的通道。输入设备用于把数

3、据、图像、命令、程序等信息输入给计算机,给计算机直接输入信息的最常用设备是键盘。输出设备用于将计算机执行的结果输出反馈给使用者,主要的输出设备有显示器和打印机。磁盘和U盘既可作为输入设备,又可作为输出设备。,2. 软件 软件通常指计算机系统中的程序和数据,并按功能分为系统软件和应用软件两类。系统软件是指为进行计算机系统的管理和使用而必须配置的那部分软件,如:操作系统、汇编程序、编译程序等。应用软件是指针对某类专门应用需要而配置的软件,如:计算机辅助教学CAI、财务管理软件以及火车和飞机订票系统等。,仅有硬件的计算机系统(称之为裸机)是难以进行工作的。为了对计算机所有软、硬件资源进行有效的控制和

4、管理,在裸机基础上形成了第一层软件,这就是操作系统。 操作系统是最基本的系统软件,是对硬件机器的首次扩充。其他软件都是建立在操作系统之上的,通过操作系统对硬件功能进一步扩充,并在操作系统的统一管理和支持下运行(见图1-3)。因此,操作系统在整个计算机系统中具有特殊的地位,它不仅是硬件与其他软件的接口,而且是整个计算机系统的控制和管理中心,它为人们提供了与计算机进行交互的良好界面。,图1-3 计算机硬件功能的扩展和人机交互的界面,综上所述,硬件是计算机的物质基础,软件是建立在硬件基础之上,对硬件功能的扩充与完善。两者缺一不可,没有软件,计算机的硬件难以工作;没有硬件,软件的功能无法实现。,1.1

5、.2 程序与程序设计语言 要使计算机能够完成人们指定的工作,就必须把工作的具体实现步骤编写成能够由计算机识别并执行的一条条指令。计算机执行这个指令序列后,就能完成指定的任务,这样的指令序列就是程序。因此,程序就是由人编写的指挥和控制计算机完成特定功能的指令序列。书写程序所使用的语言称为程序设计语言,它是人与计算机进行信息通信的工具,而设计、编写和调试程序的过程则称为程序设计。,计算机发展到今天,程序设计语言经历了由机器语言到汇编语言,最后发展到高级语言这三个阶段。 我们知道,计算机所能执行的每一项操作称为一条指令,计算机能够执行的全部指令集合就是该计算机的指令系统。由于计算机硬件的器件特性,决

6、定了计算机本身只能直接接受由0和1编码的二进制指令和数据,这种二进制形式的指令集合称为该计算机的机器语言,它是计算机唯一能够直接识别并接受的语言。,用机器语言编写程序很不方便且容易出错,编写出来的程序也难以调试、阅读和交流。为此,出现了用助记符代替机器语言二进制编码的另外一种语言,这就是汇编语言。汇编语言是建立在机器语言之上的,因为它是机器语言的符号化形式,所以较机器语言直观。但是计算机并不能直接识别这种符号化的语言,因此用汇编语言编写的程序必须翻译成机器语言之后才能够执行,这种“翻译”是通过专门的软件汇编程序来实现的。,尽管汇编语言与机器语言相比在阅读和理解上有了长足的进步,但其依赖具体机器

7、的特性是无法改变的。能够编写好汇编程序除了掌握汇编语言之外,还必须了解计算机的内部结构和硬件特性,再加上不同的计算机上的汇编语言又各不相同,这无疑给程序设计增加了难度。,随着计算机应用需求的不断增长,出现了更加接近人类自然语言的功能更强、抽象级别更高的面向各种应用的高级语言。高级语言由于接近人们的自然语言,因而使用方便,编写的程序也符合人们的习惯,能够较自然地描述各种问题,极大地提高了编程的效率,编写的程序也便于查错、阅读和修改。更为重要的是,高级语言已经从具体机器中抽象出来,摆脱了依赖具体机器的问题,使高级语言编写的程序几乎在不改动的情况下就能够在任何计算机上运行。并且编程人员在编程时也无需

8、去了解计算机内部的硬件结构。这些都是机器语言和汇编语言难以做到的。,与汇编语言一样,计算机也不能够直接识别用高级语言编写的程序,即必须经过编译程序的分析、加工,将其翻译成机器语言程序,然后才能执行。编译程序是把高级语言程序翻译成等价的机器语言程序的程序。在编译方式下,高级语言程序的执行分为两个阶段:编译阶段和运行阶段。编译阶段把高级语言程序翻译成机器语言程序,运行阶段才真正执行这个机器语言程序(见图1-4)。,图1-4 高级语言程序执行过程示意,例如,要给内存16进制地址为1000单元中的数据加上十进制数10,则用机器语言、汇编语言和高级语言表示如下: (1) 用8086/8088机器语言表示

9、 (2) 用8086/8088汇编语言表示 (3) 用C高级语言表示 X=X+10; /* X为1000地址的变量名*/,自从20世纪50年代中期第一个高级语言FORTRAN语言问世以来,全球已经出现了几千种高级语言,但广泛使用的高级语言也不过数十种。例如:适用于科学计算的FORTRAN语言,适用于商业事务处理的COBOL语言,第一个体现结构化程序设计思想的PASCAL语言,用于人工智能程序设计的PROLOG语言,功能丰富的C语言,面向对象程序设计的C+、Java语言等。,1.2 C语言的发展历程和特点,1.2.1 C语言发展历程 由于操作系统等系统程序依赖于计算机硬件,所以以前这类系统程序主

10、要是用汇编语言编写的。但是汇编语言程序的可读性和可移植性都很差,严重影响了系统程序的编写效率。在这种情况下,人们希望有一种语言既有高级语言可读性高、便于移植的优点,同时又具有汇编语言能够直接访问计算机硬件的特点。因此,C语言就在这种情况下产生了。,C语言的起源可以追溯到ALGOL 60语言。1963年,英国剑桥大学在ALGOL 60的基础上推出了CPL(Combined Programming Language)语言,但该语言规模较大而难以实现。1967年,英国剑桥大学的Matin Richards对CPL语言做了简化和改进,推出了BCPL(Basic Combined Programming

11、 Language)语言。1970年,美国贝尔实验室的Ken Thompson以BCPL语言为基础,又做了进一步的简化,设计出简单且接近硬件的B语言(取BCPL的第一个字母),而且用B语言写出了第一个UNIX操作系统并在DEC PDP-7型计算机上实现。1971年,在DEC PDP-11计算机上实现了B语言。1972年,由美国的D. M. Ritchie在B语言的基础上设计出了C语言(取BCPL的第二个字母),并首次在UNIX操作系统的DEC PDP-11计算机上使用。,后来C语言又进行了多次改进,但主要还是在贝尔实验室内部使用。1977年,D. M. Ritchie发表了不依赖于具体机器的C

12、语言编译文本可移植C语言编译程序,使C语言移植到其他机器时所做的工作大为简化,这也推动了UNIX操作系统迅速地在各种机器上实现。随着UNIX操作系统的广泛使用,C语言也迅速得到推广,成为世界上应用最为广泛的程序设计语言之一。 1978年,B. W. Kernighan和D. M. Ritchie两人合作出版了C语言白皮书The C Programming Language,给出了C语言的详细定义。1983年,美国国家标准化协会(ANSI)对C语言的各种版本作了扩充和完善,制定了C语言的标准(称为ANSI C),这就给C语言程序的移植创造了更有利的环境。1990年,ANSI C为国际标准化组织(

13、ISO)所接受。,微机上使用的C语言编译系统多为Microsoft C、Turbo C、Borland C、Quick C等,它们都是按标准C语言编写的,相互之间略有差异,每一种编译系统又有不同的版本,各版本之间也存在着差异,版本越高则编译系统所提供的函数越多、编译能力越强,使用也就越方便。,1.2.2 C语言主要特点 C语言与其他语言相比之所以发展如此迅速,成为最受欢迎的语言之一,主要原因是它具有强大的功能。许多著名的系统软件,如UNIX操作系统就是用C语言编写的。归纳起来,C语言具有下列特点: (1) 简洁、紧凑、方便、灵活。C语言共有32个关键字,9种控制语句,其程序书写自由,主要用小写

14、字母表示,压缩了一些不必要的成份。因此C语言程序比其他许多高级语言编写的程序要简练得多。,(2) 运算符丰富。C语言的运算符包含的范围很广泛,共34个运算符。C语言把括号、下标、赋值、强制类型转换等都作为运算符处理,从而使C语言的运算类型丰富、表达式类型多样化。灵活使用各种运算符可以实现在其他高级语言中难以实现的运算。 (3) 数据结构丰富。C语言的数据类型有整型、实型、字符型、数组类型、结构体类型、共用体类型等,具有现代高级语言所具有的各种数据类型,能够实现复杂数据结构的各种运算。尤其是C语言的指针类型,使程序运行的效率更高。此外,C语言还具有强大的图形功能,支持多种显示器和驱动器。,(4)

15、 结构化语言。结构化语言的显著特点是代码及数据的分离,即程序的各种部分除了必要的信息交流之外,彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护和调试。C语言是以函数形式提供给用户的,这些函数可以方便地调用,并有多种循环语句、条件语句来控制程序的流向,从而使程序实现结构化。,(5) 语法检查不太严格,程序设计自由度大。一般的高级语言语法检查比较严格,能够检查出几乎所有的语法错误,而C语言放宽了语法检查,允许程序编写者有较大的自由度,这是C语言的优点,同时也是C语言的缺点。限制严格就失去了灵活性,而强调灵活性必然放松了限制。也即,在C语言程序设计中,不要过分依赖编译器的语法检查。因此对于初

16、学者来说,编写一个正确的C语言程序比编写一个其他高级语言程序要困难一些。,(6) 允许直接访问物理地址。C语言中含有位运算和指针运算,能够实现对内存地址的直接访问和操作,即C语言可以实现汇编语言的大部分功能,可以直接对硬件操作。所以,C语言既有高级语言的功能,又兼有汇编语言(低级语言)的大部分功能,这就是有时也称C语言为“中级语言”的原因。 (7) 生成目标代码效率高。C语言仅比汇编程序生成的目标代码(即机器语言程序)执行效率低10%20%,这远高于其他高级语言的执行效率。 (8) 适用范围大,可移植性好。C语言的一个突出优点就是适用于多种操作系统,如DOS、Windows、UNIX,同时也适用于多种机型。这样,C语言程序就可以很容易地移植到其他类型的计算机上。,1.3 C语言程序的基本组成,我们通过下面几个简单的C语言程序,来大致了解一下C语言程序的基本组成,以便有一个初步的概念。 例1.1 在显示器输出“Hello,China!”。,程序说明如下: (1) 一个C程序有一个名为main的主函数,main是主函数名。程序执行时就是从主函数m

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号