第01章-C语言概述课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第01章-C语言概述课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 01 语言 概述 课件
- 资源描述:
-
1、第一章第一章l 主要内容主要内容1.1 C语言的发展历程语言的发展历程1.2 数据在计算机内的存储形式和表示方法数据在计算机内的存储形式和表示方法1.3 利用计算机处理问题的基本过程利用计算机处理问题的基本过程1.4 最简单的最简单的C程序的构成程序的构成 1.5 C语言的运行环境和上机步骤语言的运行环境和上机步骤1.1 C语言的发展历程语言的发展历程 C语言是国际上广泛流行的高级语言。语言是国际上广泛流行的高级语言。C语言的发展过语言的发展过程可以粗略的分为诞生(程可以粗略的分为诞生(1970年年1973年)、发展(年)、发展(1973年年1988年)和成熟(年)和成熟(1988年以后)三个
2、阶段。年以后)三个阶段。(1 1)C C语言是在语言是在B B语言的基础上发展起来的。语言的基础上发展起来的。B B(BCPLBCPL)语言是语言是19701970年由美国贝尔实验室设计的年由美国贝尔实验室设计的,并用于编写了第并用于编写了第一个一个UNIXUNIX操作系统操作系统,在在PDP 7PDP 7上实现。上实现。优点:精练优点:精练,接近硬件接近硬件 缺点:过于简单缺点:过于简单,数据无类型。数据无类型。1.1 1.1 C C语言的发展历程语言的发展历程 (2 2)19731973年贝尔实验室的年贝尔实验室的D.M.Ritchie D.M.Ritchie 在在B B语言的基础上语言的
3、基础上设计出了设计出了C C语言,但仅在贝尔实验室使用。语言,但仅在贝尔实验室使用。19751975年年UNIXUNIX第第6 6版版发布发布,C C优点突出引起关注。优点突出引起关注。19771977年出现了可移植年出现了可移植C C语言语言编译编译程序程序。19781978年影响深远的名著年影响深远的名著The C Programming LanguageThe C Programming Language由由 Brian W.KernighanBrian W.Kernighan和和Dennis M.Ritchie Dennis M.Ritchie 合著合著,被称为标被称为标准准C C。在
4、此之后,在此之后,C C语言风靡世界语言风靡世界,成为最广泛的几种计算机语成为最广泛的几种计算机语言之一。言之一。1983 1983年年,美国国家标准化协会美国国家标准化协会(ANSI)ANSI)根据根据C C语言各种版本语言各种版本对对C C的发展和扩充的发展和扩充,制定了新的标准制定了新的标准ANSI C ANSI C,比标准比标准C C有了很有了很大的发展。大的发展。1.1 C语言的发展历程语言的发展历程 (3 3)19881988年年K&RK&R按照按照 ANSI CANSI C修改了他们的修改了他们的The C The C Programming LanguageProgrammin
5、g Language。19871987年年,ANSIANSI公布了新标准公布了新标准87 87 ANSI CANSI C。19901990年,国际标准化组织接受了年,国际标准化组织接受了87 87 ANSI CANSI C为为ISO C ISO C 的标准的标准(ISO98991990)ISO98991990)。19941994年,年,ISOISO又修订了又修订了C C语言标准。目前流行的语言标准。目前流行的C C语言语言编译系统大多是以编译系统大多是以ANSI CANSI C为基础进行开发的。为基础进行开发的。说明:说明:不同版本的不同版本的C C编译系统所实现的语言功能和语法规则编译系统所
6、实现的语言功能和语法规则又略有差别,因此读者可以参阅有关手册,了解所用的又略有差别,因此读者可以参阅有关手册,了解所用的C C语语言编译系统的特点。本书的叙述基本上以言编译系统的特点。本书的叙述基本上以ANSI C ANSI C 为基础。为基础。1.2 数据在计算机内的存储形式和表示方法数据在计算机内的存储形式和表示方法1.2.1 1.2.1 内存的组织形式内存的组织形式 1.内存储器内存储器RAM(Random Access Memory)2.内存储器的组织形式内存储器的组织形式 图图1.1 1.1 内存储器的结构示意图内存储器的结构示意图 1.2 1.2 数据在计算机内的存储形式和表示方法
7、数据在计算机内的存储形式和表示方法加法运算规则:加法运算规则:0+0=0 0+1=1 1+0=1 1+1=10 0+0=0 0+1=1 1+0=1 1+1=10 乘法运算规则:乘法运算规则:0 00=0 00=0 01=0 11=0 10=0 10=0 11=11=12.十进制数与二进制数的转换十进制数与二进制数的转换例如:将十进制例如:将十进制19.45转换为二进制数。转换为二进制数。19.45的整数部分为的整数部分为19,其转换的过程如下:,其转换的过程如下:1.2 1.2 数据在计算机内的存储形式和表示方法数据在计算机内的存储形式和表示方法19.45的小数部分为的小数部分为0.45(取四
8、位小数),其转换的过程如(取四位小数),其转换的过程如下:、下:、0.45 2=0.90 取其整数部分为取其整数部分为 00.90 2=1.80 取其整数部分为取其整数部分为 10.80 2=1.60 取其整数部分为取其整数部分为 10.60 2=1.20 取其整数部分为取其整数部分为 1 依次类推。依次类推。则得到则得到(19.45)10=(10011.0111)2括号外的下标括号外的下标10和和2,分别表示十进制数和二进制数。,分别表示十进制数和二进制数。由此由此可以可以观察到:观察到:19=124+023+022+121+120。1.2 1.2 数据在计算机内的存储形式和表示方法数据在计
9、算机内的存储形式和表示方法1.2.3 八进制(八进制(octal)数数 1.八进制数的基本特征八进制数的基本特征 八进制数由八进制数由0、1、2、3、4、5、6、7等八个等八个数字符号表示;基数为数字符号表示;基数为8 8;按逢;按逢8 8进进1 1、借、借1 1算算8 8的的规则计数;采用位置记数法(或带权记数法),规则计数;采用位置记数法(或带权记数法),权值为权值为8 8。其基本运算规则与十进制相似。其基本运算规则与十进制相似。2二进制数与八进制数的转换二进制数与八进制数的转换 3.八进制数与十进制数的转换八进制数与十进制数的转换 1.2 1.2 数据在计算机内的存储形式和表示方法数据在
10、计算机内的存储形式和表示方法1.2.4 十六进制(十六进制(Hexadecimal)数数 1.十六进制数的基本特征十六进制数的基本特征 十六进制数由十六进制数由0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F等十六个数字符号表示;基数为等十六个数字符号表示;基数为16;按逢;按逢16进进1、借、借1算算16的规则计数;采用位置记数法(或带权记数法),权值的规则计数;采用位置记数法(或带权记数法),权值为为16。十六进制数中的。十六进制数中的A、B、C、D、E、F分别代表分别代表10、11、12、13、14、15。在。在C语言中,表示十六进制数时,大小写语言中,表示十六进制数时,大
11、小写字母作用相同。字母作用相同。2.十六进制数与二进制数间的转换十六进制数与二进制数间的转换 例如:将二进制数例如:将二进制数1011 0101 0111 1110 转换为十六进制数。转换为十六进制数。二进制数二进制数1011 0101 0111 1110可以写成可以写成1011,0101,0111,1110四组数,再分别用十六进制数码四组数,再分别用十六进制数码C、5、7、E表示。表示。即(即(1011 0101 0111 1110)2=(C57E)161.2 1.2 数据在计算机内的存储形式和表示方法数据在计算机内的存储形式和表示方法表表1.1 1.1 各种进位制度的常用数值转换表各种进位
12、制度的常用数值转换表 3.十六进制数与十进制数间的转换十六进制数与十进制数间的转换 若将一个十六进制整数转换为十进制数,只需把十六进若将一个十六进制整数转换为十进制数,只需把十六进制数按权展开,累加各项即可。制数按权展开,累加各项即可。注意:注意:在进行转换时,每位十六进制数都应表示在进行转换时,每位十六进制数都应表示为为4位二进制数,如位二进制数,如0应表示为应表示为0000,而不应只写成,而不应只写成0,否,否则就会丢失某些位。八进制数转换为二进制数时,每位则就会丢失某些位。八进制数转换为二进制数时,每位八进制数对应一个八进制数对应一个3位的二进制数。位的二进制数。1.2 数据在计算机内的
13、存储形式和表示方法数据在计算机内的存储形式和表示方法1.2.5 1.2.5 原码、反码和补码。原码、反码和补码。在计算机内部,所有的信息都要用二进制数来表示,在计算机内部,所有的信息都要用二进制数来表示,数的符号数的符号“”、“”也必须采用二进制数来表示。通也必须采用二进制数来表示。通常以常以0 0表示正数的符号,以表示正数的符号,以1 1表示负数的符号,当符号和数表示负数的符号,当符号和数值都二进制数值都二进制数0 0和和1 1表示之后,这样的数叫表示之后,这样的数叫机器数或机器码。机器数或机器码。机器码可以采用不同的码制来表示,常用的有原码、机器码可以采用不同的码制来表示,常用的有原码、反
14、码和补码三种表示方法。这样表示的目的是在计算机内反码和补码三种表示方法。这样表示的目的是在计算机内部可以让符号位一道参加数值运算。部可以让符号位一道参加数值运算。1.1.数的原码表示数的原码表示 原码通常用最高位表示数的符号位,数值部分用二进原码通常用最高位表示数的符号位,数值部分用二进制绝对值表示。即一个正数的原码是它本身,一个负数的制绝对值表示。即一个正数的原码是它本身,一个负数的原码是其符号位加数值部分。原码是其符号位加数值部分。2.2.数的反码表示数的反码表示 一个正数的反码与其原码相同,一个负数的反码是将符号一个正数的反码与其原码相同,一个负数的反码是将符号位除外,其他各位逐位取反,
15、即位除外,其他各位逐位取反,即0 0变变1 1,1 1 变变0 0,参看表,参看表1.21.2。3.3.补码表示方法补码表示方法 先以日常钟表的时间表示为例,说明补码的概念。假设现先以日常钟表的时间表示为例,说明补码的概念。假设现在的标准时间为在的标准时间为6 6点整,而有一只指针指向点整,而有一只指针指向1010点,为了校准点,为了校准时间,可以采取两种方法:一是将时针退(时间,可以采取两种方法:一是将时针退(10-610-6)=4=4格;格;另一种方法是将时针向前拨(另一种方法是将时针向前拨(12-412-4)=8=8格格 。这两种方法都可以将钟表校准的正确时间。对于这个问题这两种方法都可
16、以将钟表校准的正确时间。对于这个问题来说,减来说,减4 4和加和加8 8是等价的。由此,可以说(是等价的。由此,可以说(+8+8)和()和(-4-4)是)是以以1212为模的补码。为模的补码。1.2 1.2 数据在计算机内的存储形式和表示方法数据在计算机内的存储形式和表示方法说明:说明:在计算机中,带符号的数用补码表示,此时减法在计算机中,带符号的数用补码表示,此时减法运算变为加法运算,从而简化了计算机硬件电路的结构。运算变为加法运算,从而简化了计算机硬件电路的结构。当运算的结果超出补码表示范围时,结果就不正确了,当运算的结果超出补码表示范围时,结果就不正确了,这称为这称为“溢出溢出”。1.2
17、 1.2 数据在计算机内的存储形式和表示方法数据在计算机内的存储形式和表示方法在数学上由于在数学上由于-4=-1-4=-112+812+8,+8=0+8=012+8 12+8 称为同余式。称为同余式。对于同余式中的模,则表示可以弃舍或丢掉的数值。其结果对于同余式中的模,则表示可以弃舍或丢掉的数值。其结果是减去是减去4 4和加上和加上8 8都可以实现正确时间的校准。都可以实现正确时间的校准。补码的计算规则:一个正数的补码和其原码形式相同,补码的计算规则:一个正数的补码和其原码形式相同,一个负数的补码是将其反码加一个负数的补码是将其反码加1 1,参看表,参看表1.21.2中部分举例。在中部分举例。
18、在计算机中,负数是用其补码表示的。计算机中,负数是用其补码表示的。例如:求例如:求-42-42的补码。的补码。4242用二进制数表示是用二进制数表示是10 1010 10 1010,其原码为,其原码为1010 10101010 1010,则其反码为则其反码为1101 01011101 0101,即其反码加,即其反码加1 1即为补码:即为补码:1101 01101101 0110。1.3 1.3 利用计算机处理问题的基本过程利用计算机处理问题的基本过程 1.1.计算机算题的简单过程计算机算题的简单过程 2.2.利用计算机处理问题的过程利用计算机处理问题的过程 (1 1)需求分析。)需求分析。(2
19、 2)确定处理方案。)确定处理方案。(3 3)确定操作步骤。)确定操作步骤。(4 4)编写源程序。)编写源程序。(5 5)输入和运行程序。)输入和运行程序。(6 6)整理结果。)整理结果。图图1.3计算机处理一个实际问题的主要过程计算机处理一个实际问题的主要过程 1.4 1.4 最简单的最简单的C C程序的构成程序的构成 1.4.1 1.4.1 C C语言的特点语言的特点 (1 1)语言简洁、紧凑,使用方便、灵活。)语言简洁、紧凑,使用方便、灵活。(2 2)具有丰富的运算符和数据结构。)具有丰富的运算符和数据结构。(3 3)C C语言是完全模块化和结构化的语言。语言是完全模块化和结构化的语言。
20、(4 4)C C语言因为兼有高级和低级语言的特点。语言因为兼有高级和低级语言的特点。(5 5)与汇编语言相比,可移植性好。)与汇编语言相比,可移植性好。(6 6)生成目标代码质量高。)生成目标代码质量高。1.4 1.4 最简单的最简单的C C程序的构成程序的构成 1.4.2 1.4.2 C C语言中的字符集语言中的字符集 1.1.字符集字符集 字符是组成语言的最基本的元素。字符是组成语言的最基本的元素。C C语言字符集由字母、数语言字符集由字母、数字、空格、标点和特殊字符组成,具体可以参看附录字、空格、标点和特殊字符组成,具体可以参看附录1 1中常用中常用字符与字符与ASCIIASCII码表。
21、具体可以分为如下几类:码表。具体可以分为如下几类:(1 1)字母。小写英文字母)字母。小写英文字母a az z共共2626个,大写字母个,大写字母A AZ Z共共2626个。个。(2 2)数字。)数字。0 09 9共共1010个。个。(3 3)空白符。空格符、制表符、换行符等统称为空白符。)空白符。空格符、制表符、换行符等统称为空白符。(4 4)标点和特殊字符。)标点和特殊字符。1.4 1.4 最简单的最简单的C C程序的构成程序的构成 2.2.标识符标识符 C C语言中用来对变量、符号常量、函数、数组、自定义类语言中用来对变量、符号常量、函数、数组、自定义类型 等 数 据 对 象 命 名 的
22、 有 效 字 符 序 列 统 称 为型 等 数 据 对 象 命 名 的 有 效 字 符 序 列 统 称 为 标 识 符标 识 符(identifier)identifier)。简单地说,标识符就是一个名字。简单地说,标识符就是一个名字。C C语言规定标识符只能由字母、数字和下划线语言规定标识符只能由字母、数字和下划线3 3种字符组种字符组成,且第成,且第1 1个字符必须为字母或下划线。个字符必须为字母或下划线。下面列出的是合法的标识符,可以作为变量名。下面列出的是合法的标识符,可以作为变量名。X1,a,A3,student,abc,kk X1,a,A3,student,abc,kk 下面是不合
23、法的标识符和变量名下面是不合法的标识符和变量名 M MD DJohn,John,¥123,#33,3D64,ab,3x123,#33,3D64,ab,3x 特别注意特别注意 :编译系统将大写字母和小写字母认为是两个编译系统将大写字母和小写字母认为是两个不同的字符。不同的字符。1.4 1.4 最简单的最简单的C C程序的构成程序的构成 3 3关键字关键字 C C语言的语言的3232个关键字,是个关键字,是C C语言编译系统赋予规定含义语言编译系统赋予规定含义的英文单词或字母组合,在进行的英文单词或字母组合,在进行C C语言的程序设计时,不语言的程序设计时,不能再赋予其新的含义。能再赋予其新的含义
24、。C C语言的关键字分为以下几类:语言的关键字分为以下几类:(1 1)类型说明符。用于定义变量、函数或其他数据结构)类型说明符。用于定义变量、函数或其他数据结构的类型。如的类型。如intint、doubledouble等。等。(2 2)语句定义符。用于表示一个语句的功能。如)语句定义符。用于表示一个语句的功能。如ifif、elseelse、whilewhile等。等。(3 3)预处理命令字。用于表示一个预处理命令。如)预处理命令字。用于表示一个预处理命令。如includeinclude、definedefine等。等。C C语言的语言的3232个关键字,具体功能可以参看附录个关键字,具体功能可
展开阅读全文