c++1程序设计基础.ppt_第1页
c++1程序设计基础.ppt_第2页
c++1程序设计基础.ppt_第3页
c++1程序设计基础.ppt_第4页
c++1程序设计基础.ppt_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C程序设计基础,主讲:乔志会,Email: Tel:3922144(办)、3628699(宅) 办公室:7号楼4层西侧 计算机基础教育课程组,总学时:80(讲授:56 实验:24) 实验安排,第一章 程序设计基础,1 计算机系统的组成,2 计算机系统的基本结构和工作原理,3 数的进制及数据的存储,4 计算机语言,本章内容,5 C+概述,1 计算机系统的组成,系统 组成,硬件系统,软件系统,主机,外部设备,中央处理器,内存储器,外存储器,I/O子系统(输入、输出子系统,系统软件,应用软件,运算器子系统,控制器子系统,操作系统 实用软件包 语言处理软件,通用应用软件 用于专门行业的应用软件 定制的

2、软件,存储器子系统,2 计算机系统的基本结构和工作原理,3 数的进制及数据的存储,一、数进制,1、数制的定义,按进位的方法(原则)进行计数,称为进位计数制,简称“数制”。 在进位计数制中,常用“基数”(或底数)来区别不同的数制,而某进位制的基数就是表示该进位制所用字符或数码的个数,3 数的进制及数据的存储,一、数进制,2、常用的数制,3 数的进制及数据的存储,一、数进制,3、位权表示法,某一数制中每一位都具有特定的权,称为位权或权。不同位上的数码表示的权值不同。 56.45=5*101+6*100+4*10-1+5*10-2 101.11B=1*22+0*21+1*20+1*2-1+1*2-2

3、=5.75,3 数的进制及数据的存储,二、计算机中数据的表示,计算机中用二进制代码表示各种数据(数值数据及非数值数据) 所谓二进制就是以二元逻辑为基础,用0和1二进制码组成各种信息进行运算,它确立了现代计算机经济而实用的逻辑结构。 二进制表示数据的优点:二进制在物理上容易实现;二进制运算规则简单;便于存储,3 数的进制及数据的存储,三、数制间的转换,1、任意数制转换为十进制,任意进制数转化为十进制数只要写出该进制数的按权展开式,进行乘法和加法运算,得出结果即可。 101.11B=1*22+0*21+1*20+1*2-1+1*2-2=5.75 671.12Q=6*82+7*81+1*80+1*8

4、-1+2*8-2=441.15625 3AB.11H =3*162+A*161+B*160+1*16-1+1*16-2=939.06640625,2、十进制数转化为任意进制数,将十进制数转化为任意进制数需对整数部分和小数部分分别进行转化,采用“除基数取余法”,即用基数多次除被转换的十进制数,直到商为0, 每次相除所得的余数,按逆序排列便是对应的进制数,小数部分的转换采用“乘基数取整法”,即用基数多次乘被转换的十进制数的小数部分,每次相乘后,所得乘积的整数部分按正序排列就是对应的二进制数,十进制整数化成二进制举例,185)10 = ( ? )2,185)10 =(10111001)2,十进制小数

5、化成二进制举例,0.8125)10 = ( ? )2,0.8125)10 = (0.1101)2,整数,十进制整数化成八进制举例,1 8 5)10 = (2 7 1)8,185)10 = ( ? )8,十进制小数化成八进制举例,0.8125)10 = ( ? )8,0.8125)10 = (0.64)8,整数,十进制整数化成十六进制举例,3981)10 = ( ? )16,3 9 8 1)10 = (F 8 D)16,十进制小数化成十六进制举例,0.8125)10 = ( ? )16,0.8125)10 = (0.D)16,3、二进制数与八、十六进制数间的转换,二进制数转化为八进制数,二进制数

6、转换成八进制数,概括为“三位合一”,即:以小数点为基准,整数部分从右至左,小数部分从左至右,每三位一组,不足三位时,整数部分在高端补齐,小数部分在低端补齐。然后,把每一组二进制数用一位相应的八进制数表示,小数点位置不变,即得到八进制数,二进制数转化为八进制数举例,3、二进制数与八、十六进制数间的转换,八进制数转化为二进制数,3、二进制数与八、十六进制数间的转换,八进制数转换成二进制数,概括为“一位拆三位”,即把一位八进制数写成对应的三位二进制数,然后按权连接即可,3、二进制数与八、十六进制数间的转换,二进制数转化为十六进制数,二进制数转换成十六进制数,概括为“四位合一”、即:以小数点为基准,整

7、数部分从右至左,小数部分从左至右,每四位一组,不足四位时,整数部分在高端补齐,小数部分在低端补齐。然后,把每一组二进制数用一位相应的十六进制数表示,小数点位置不变,即得到十六进制数,3、二进制数与八、十六进制数间的转换,十六进制数转化为二进制数,十六进制数转换成二进制数,概括为“一位拆四位”,即把一位十六进制数写成对应的四位二进制数,然后按权连接即可,3、二进制数与八、十六进制数间的转换,4、练习,113.8125D,1110001.1101,B,161.64,Q,71.D,H,10110110.0011B,182.1875,D,266.14,Q,B6.3,H,3 数的进制及数据的存储,四、数

8、据在内存中的存储,1、计算机中的数据单位,1)位 bit :是计算机系统中数据的最小单位 (2)字节 Byte:存储容量的基本单位,1字节(Byte)由8个 二进制位(bit)组成 (3)字 Word:连续两个字节称为字,表示数据或信息的 长度 存储容量的单位:B、KB、MB、 GB、 TB 1KB1024B、 1MB1024KB 1GB1024MB、1TB1024GB,3 数的进制及数据的存储,2、机器数和真值,机器数:把在计算机中存放的正负号数码化(0表示正、1表示负)的数称为机器数。 真值:把计算机外部由正负号表示的数称为真值,3、原码、反码、补码(整数范围内,原码、反码、补码是机器数的

9、三种表示形式,计算机中有符号数的存储是以补码形式存储的,四、数据在内存中的存储,3 数的进制及数据的存储,3、原码、反码、补码(整数范围内,原码:符号位用0表示正数,用1表示负数,数值部分用二进制数的绝对值表示。 例:+57原=00111001 -57原=10111001 反码:正数的反码即此数本身,负数的反码等于其绝对值按每位求反。 例:+57反=00111001 -57反=11000110 补码:正数的补码即此数本身;负数的补码等于其绝对值按位求反后在最低位加1,即反码加1。 例:+57补=00111001 -57补=11000111,四、数据在内存中的存储,4 计算机语言,一、机器语言,

10、二、汇编语言,三、高级语言,第一代计算机语言,它由0、1代码组成,能被机器直接理解、执行的指令集合 优点:编程质量高,占存储空间少,执行速度快 缺点:难读难改,它采用一定的助记符来代替机器语言中的指令和数据 优点:克服了机器语言难读难改的缺点 缺点:需通过汇编程序翻译程机器语言才能执行,是一种能被计算机接受的接近数学形式的语言 优点:程序易学、易读、易修改,通用性好,不依赖于机器 缺点:必须通过语言处理程序的翻译才能被机器接受,5 C+概述,一、C+语言的发展及其特点,1960年 ALGOL60 1963年 CPL(Combined Programming Language)语言 1967年

11、BCPL (Basic Combined Programming Language)语言 1970年 B语言 1972-1973年 C语言 1980年 C,C+是由C发展而来的,与C兼容。用C语言写的程序基本上可以不加修改地用于C+。从C+的名字可以看出它是C的超集。 C+既可用于面向过程的结构化程序设计,又可用于面向对象的程序设计,是一种功能强大的混合型的程序设计语言。 C+对C的“增强”,表现在两个方面:(1) 在原来面向过程的机制基础上,对C语言的功能做了不少扩充。(2) 增加了面向对象的机制。 面向对象程序设计,是针对开发较大规模的程序而提出来的,目的是提高软件开发的效率。不要把面向对

12、象和面向过程对立起来,面向对象和面向过程不是矛盾的,而是各有用途、互为补充的,一、C+语言的发展及其特点,C+从C语言发展而来,比C更好, 其优点主要包括: (1) 与C语言兼容,既支持面向对象的程序设计,也支持结构化的程序设计。同时,熟悉C语言的程序员,能够迅速掌握C+语言。 (2) 修补了C语言中的一些漏洞,提供更好的类型检查和编译时的分析。使得程序员在C+环境下继续写C代码,也能得到直接的好处。 (3) 生成目标程序质量高,程序执行效率高。一般来说,用面向对象的C+编写的程序执行速度与C语言程序不相上下,一、C+语言的发展及其特点,4) 提供了异常处理机制,简化了程序的出错处理。利用th

13、row、try和catch关键字,出错处理程序不必与正常的代码紧密结合,提高了程序的可靠性和可读性。 (5) 函数可以重载及可以使用缺省参数。重载允许相同的函数名具有不同参数表,系统根据参数的个数和类型匹配相应的函数。缺省参数可以使得程序员能够以不同的方法调用同一个函数,并自动对某些缺省参数提供缺省值。 (6) 提供了模板机制。摸板包括类摸板和函数模板两种,它们将数据类型作为参数。对于具体数据类型,编译器自动生成模板类或模板函数,它提供了源代码复用的一种手段,一、C+语言的发展及其特点,二、C+语言的字符集与词汇,1、字符集,字符”是语言的不可分解的最基本语法单位。C+的字符集是ASCII码的

14、子集包括: 所有大小写英文字母(AZ,az) 数字(09) 其他符号:空格 ! # % ? _ ,2、词汇,1)关键字:又称保留字。它是系统预定义的单词。 auto break case char class const continue default delete else enum explicit extern float for friend goto if inline int long new operator private protected public register return short signed sizeof static struct switch this typedef union unsigned virtual void while,2、词汇,2)标识符:由程序员定义的命名符。 用来标识变量、常量、对象、类型和函数等程序对象的符号 只能由字母、数字、下划线三种字符组成,且第一个字符必须为字母或下划线,且区分大小写 应“见名知意”,不应与关键字相同 合法标识符:a x1 no_1 a2c sum Name 不合法标识符:2a x+y a,b auto,三、C+程序的基本组成,先介绍几个简单的C+程序: 例11 例12 例131 例132 例14,三、C+程序的基本组成,1、一个C+程序可以由一个程序单位或多

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论