CAIwu第1章C++程序设计基础

上传人:E**** 文档编号:90471314 上传时间:2019-06-12 格式:PPT 页数:78 大小:1.87MB
返回 下载 相关 举报
CAIwu第1章C++程序设计基础_第1页
第1页 / 共78页
CAIwu第1章C++程序设计基础_第2页
第2页 / 共78页
CAIwu第1章C++程序设计基础_第3页
第3页 / 共78页
CAIwu第1章C++程序设计基础_第4页
第4页 / 共78页
CAIwu第1章C++程序设计基础_第5页
第5页 / 共78页
点击查看更多>>
资源描述

《CAIwu第1章C++程序设计基础》由会员分享,可在线阅读,更多相关《CAIwu第1章C++程序设计基础(78页珍藏版)》请在金锄头文库上搜索。

1、第一部分 C+结构化程序设计,第一章 C+程序设计基础,本章内容, C+语言概述 计算机中的数据与编码 C+程序开发过程 C+程序实例 基本数据类型 常量、变量及引用 运算符与表达式 typedef的使用 基本输入/输出,1.1 C+语言概述,1. C+语言与程序设计,语言: 人类交流思想的工具 程序设计:就是将解决某个问题的过程用程序设计语言描 述出来,计算机按这个描述去逐步实现。 程序设计语言:编写程序的语言。 与+语言,2. 程序设计语言分为,结构化程序设计语言(第15章) 面向对象程序设计语言(第611章),计算机中的信息可以分为两大类: 控制信息:是控制 计算机完成各种操作的指令和控

2、制字。 数据信息:计算机加工的对。包括数字信息、文字信息 以及各种图形、图像、声音等。,1.2 计算机中的数据与编码,无论是那种数据,在计算机内部都要转换成二进制数后,计算机才能对其进行传送、存储和加工处理。,1.2.1 进位计数制,在计算机中使用的数据有二进制、十进制、八进制和十六进制。 无论哪种数制,它们的共同之处都是进位计数制。 如果数制仅采用R个基本符号,称为R进制。其中R称为基数。 任意一个R进制数N都可以用一个式子展开:,其中:m、n是正整数,m是每个数位上的值, m的取值范围0 R-1 。,进制 基数 进位 使用符号 二进制 2 逢2进位 0、1 八进制 8 逢8进位 0、1、2

3、、3、4、5、6、7 十进制 10 逢10进位 0、1、2、3、4、5、6、7、8、9 十六进制 16 逢16进位 0、1、2、3、4、 5、6、7、8、9、 A、B、C、D、E、F,常用进位计数制,1)R制数到十进制数的转换方法是: 将要转换的数按权展开,各位数字与它的权相乘,最后求的和就是十进制数。 例如: (1101.01)2=123+12202112002 -112-2 =(13.25)10 (205.4)8=28208158 048 1=(133. 5)10 (AF.8)16= 1016 1 15160816 -1 =(175. 5)10,1.2.2 不同数制之间的转换,2)十进制数

4、到R制数的转换方法是:,十进制的整数部份和小数部份分别转换,然后再拼接起来。 整数部份:连续除以R进制的R,直到商为0,将每次除以R的 余数自下而上排列,即构成R进制的整数部分。 小数部份:小数部分连续乘以R进制的R,每次取积的整数, 并将其自上而下排列,直到小数部份为0或规定精 度为止。,例如:将(237.625)10 转换为二进制 整数部分除2取余 余 数 整数 小数部分乘2取整 2 |2 3 7 1 0. 6 2 5 2 |1 1 8 0 取 2 2 |5 9 1 1 1. 2 5 0 2 |2 9 1 值 0. 2 5 2 |1 4 0 2 2 | 7 1 方 0 0. 5 0 2 |

5、 3 1 2 2 | 1 1 向 1 1. 0 0 转换结果为:(237.625)10=(11101101.101)2,例如:将(237.625)10转换为十六进制: 整数部分除16取余 余数 整数 小数部分乘16取整 16 |2 3 7 D (13) 取 0. 6 2 5 16 |1 4 E (14) 值 1 6 0 方 A 10. 0 0 0 向 转换结果为:(237.625)10=(ED.A)16,3)二、八、十六进制之间的转换,二进制与八进制之间转换方法: 以小数点为界,左右分别按3位一划分,两头不够3位时补0, 将划分的3位数按八进制数读出即可。 例如:将二进制10100110101

6、.0111转换成八进制: 0 1 0 1 0 0 1 1 0 1 0 1 . 0 1 1 1 0 0 2 4 6 5 . 3 4 因此:(10100110101.01110)2=(2465.34)8,将八进制转换成二进制时,将每位八进制数用3位二进制表示出来即可。,二进制与十六进制之间转换方法: 以小数点为界,左右分别按4位一划分,两头不够4位时补0,将划分的4位数按十六进制数读出即可。 例如将二进制11110110101.101 转换成十六进制: 0 1 1 1 1 0 1 1 0 1 0 1 . 1 0 1 0 7 B 5 . A 因此:(11110110101.101)2=(7B5.A)

7、16,将十六进制转换成二进制时,将每位十六进制数用4位二进制表示出来即可。,1.2.2 二进制信息的存储单位,位(bit):二进制的1位,是计算机中数据处理的最小单位。 字节(Byte):8位二进制位组成一个字节(1Byte=8bit)。 常用来描述容量的单位有: 千字节(KB),1KB=1024bit 兆字节(MB),1MB=1024KB 千兆字节(GB),1GB=1024MB 字(Word):独立的信息处理单位,又称为计算机字。,一个数在计算机内的表示形式称为“机器数”,它代表的数值 称为“真值”。 数据信息在计算机内采用二进制形式,符号位 一般在最高位, 一般用“0”表示正号,用“1”表

8、示负号。 例如:8位二进制数 A=+1100101,B=-1100101, 在机器中可以表示为: A: 0 1 1 0 0 1 0 1 B: 1 1 1 0 0 1 0 1 符号位,1.2.3 二进制数据的编码,将符号位用0或1表示,数的绝对值与符号一起编码。 例如用一个字节存放一个整数,其原码表示如下: X1=+1100101 X1原=01100101 X2= -1100101 X2原=11100101 X1原和X2原为机器数,而X1和X2为真值。 原码对0(零)的表示不是唯一的,有正0和负0之分: +0原=00000000 正0 -0原=10000000 负0 特点:编码简单直观,转换方便

9、。 但在做加减运算时符号处理比较麻烦。,1)原码,反码:正数与原码完全相同。 负数的符号位仍用1表示,数值部分由原码数值 部分各位取反得到。 例如: X1=+1100101 X1原=01100101 = X1反=01100101 X2= -1100101 X2原=11100101 X2反=10011010 在反码表示中,零也有两种表示形式: X1=+0000000 X1原=00000000 = X1反=00000000 X2= -0000000 X2原=10000000 X2反=11111111 特点:计算机中一般不采用反码存储和运算,常作为求 补码的一种中间码使用。,2)反码,补码:正数的补

10、码与原码和反码相同。 负数的补码是求该数的反码并在最末位加1得到。 例如: X1=+1100101 X1原= X1反= X1补=01100101 X2=-1100101 X2补=X2反=10011010+1=10011011 补码零的表示是唯一的。以n位数为例: +0补=00000 - 0补 =-0反 +1=11111+1= 1 000000 机器自动丢掉 特点:符号位可以作为数值参加运算,因此减法运算可以转 换为加法运算,简化硬件电路。 在计算机中得到广泛应用。,3)补码,1.2.4 定点数和浮点数,为了正确的表示小数点的位置,一般采用两种方式: 定点数: 约定小数点的位置固定不变 浮点数:

11、 小数点的位置浮动,定点数: 以下是两种定点数示意:,符号位 数值部分,约定小数点位置,符号位 数值部分,约定小数点位置,浮点数:一个数N用浮点形式表示,可以写成:,浮点数的具体格式随机器不同而不同。 例如:某机器字长32位,用左边的8位作为阶码,右边的24 位作为尾数,符号位都在最高位,其格式为:,F1 阶码 F2 尾数,阶码符号位,尾数符号位,N = + M R + E,1.2.5 数的表示范围,设机器的位数为N位(包括1位符号位) 定点数表示的范围有: 整数:原码和反码能表示的最大数为:2N-11 最小数为: (2N-11) 补码能表示的最大数为:2N-11 最小数为:2N-1 小数:原

12、码和反码所表示的数的范围是:(12-N) (12-N) 补码表示数的范围是:1 (12-N),浮点数表示的数的范围由阶码的位数和尾数的位数决定。 例如:用32位表示一个浮点数:,1.2.6 非数值数据的表示,字符编码: ASCII(American Sandard Code for Information Interchange)码。 ASCII用一个字节中的7位二进制位来表示一个字符,每个 字符唯一对应一个ASCII码,最多可表示27=128个字符。,汉字编码: 汉字在计算机内部也采用二进制的数字化编码。 广泛应用GB2312-80(国家标准信息交换用汉字编码), 简称国标码,采用二字节编码

13、. 3) 国标码共编码了7445个图形字符,其中6763个汉字和682 个非汉字符号。,1.3 C程序开发过程:,编辑源程序,预处理程序,编译程序,连接程序,装入程序,输出结果,执行程序,输入、修改源程序,出错,磁盘,输入数据,出错,出错,1.4 程序实例,例1: 在屏幕输出Hello,you are welcome!,/* Hello program */ #include void main() coutHello,you are welcome!; /你好,欢迎你! ,程序说明: 两种注释 编译预处理行 main( )函数: void、函数体、程序执行处 语句:一行可以写若干条语句,每个

14、语句用“;”作为结束。,例2:编写程序从键盘任意输入2个数,输出这2个数的和。,#include void main() int a,b,n; cout ab; n=a+b; couta+b=nendl; ,程序说明: 第行为变量定义 第4行是输出语句 第行输入 第行是赋值运算 第行中endl也可以用“”代替,表示换行。,例3: 由两个函数组成的+程序,#include int fmax(int a, int b) if(ab) return a; else return b; main( ) int v1, v2; coutv1v2; cout两个数中较大数是:fmax(v1, v2)endl; return 0; ,1.5 基本数据类型,程序中处理的数据分为不同的类型。类型不同,存储方式 和使用的场合也不同。,数组类型 结构类型(struct) 联合类型(union) 枚举类型(enum) 类类型 (class),基本数据类型:+系统已定义的类型。可以直接利用这些 类型名来定义数据。,类型名 说明 字节

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

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

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