




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1.1计算机中的数据表示计算机中的数据表示1.2计算机与程序、程序设计语言计算机与程序、程序设计语言1.3 C语言的特点语言的特点1.4 简单的简单的C语言程序语言程序1.5 C语言程序的结构语言程序的结构1.6 运行运行C程序的步骤与方法程序的步骤与方法1.7 程序设计的任务程序设计的任务1.8 算法算法-程序的灵魂程序的灵魂第第1章章 程序设计和程序设计和C语言语言 1.1 计算机中的数据表示计算机中的数据表示1.1.1数的数的进位进位制及其相互转换制及其相互转换1.1.2 二进制的加法运算二进制的加法运算1.1.3 计算机中字符数据的表示计算机中字符数据的表示1.1.4二进制数的原码、反
2、码、补码表示二进制数的原码、反码、补码表示1.1.5计算机中整数的表示计算机中整数的表示1.1.6 计算机中实数的表示计算机中实数的表示 1.1 计算机中的数据表示计算机中的数据表示 1.1.1 数的数的进位进位制及其相互转换制及其相互转换(1)进位制数)进位制数 R进位制数进位制数其中:其中:R为基数,如为基数,如10, 是表示是表示R进位制数的符号,如十进位制数的符号,如十进制数的进制数的0,1,2,3,4,5,6,7,8,9。nimiiiRmnnRKKKKKKKS).(2101iK(2)十进制数)十进制数 符号:符号: 0,1,2,3,4,5,6,7,8,9(3) 二进制数二进制数 符号
3、:符号: 0,1(4)八进制数)八进制数 符号:符号: 0,1,2,3,4,5,6,721012310108107106100105101)78.1506(3210122212120212021)011.101(2101887848083)47.30((5)十六进制数)十六进制数 符号:符号: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F(其中字母大小写均可)(其中字母大小写均可)(6) R进位制数转换为十进制数进位制数转换为十进制数32101216161016151631601614167)3 . 07(FAEnimiiiRmnnRKKKKKKKS).(2101103210
4、122)375. 3(212120212021)011.101((7)十进制数转换为二进制数)十进制数转换为二进制数 从原理上讲,十进制数转换成任意从原理上讲,十进制数转换成任意R进制数的方法就进制数的方法就是做如下分解:是做如下分解:例如:例如:RmnmmnnKKKKRKRKRKRKS.).(.)(10110010221012310)01.1111(212021212121)25.15(十进制数转换成二进制数可以整数和小数分别进行,考察整数十进制数转换成二进制数可以整数和小数分别进行,考察整数201001110).(22.2)(KKKKKKSnnn20110).()(KKKSn十进制数十进制
5、数除以除以2的商的商 除以除以2的余的余S(S1)10 = Kn * 2n-1 + + K2 * 21 + K1* 20 K0K1Kn-1KnSn-1 (S2)10 = Kn * 2n-2 + + K3 * 21 + K2* 20 .(Sn)10 = Kn * 20 0S1 Sn 当商为当商为0时,运算停止,余数系列构成所转化的二进制数(注意书写顺序)时,运算停止,余数系列构成所转化的二进制数(注意书写顺序)十进制数十进制数 除以除以2的商的商 除以除以2的余的余15 7 17 3 13 1 11 0 1(15)10=(1111)2例例 将十进制数将十进制数15转换成二进制数转换成二进制数十进
6、制小数数转换成二进制小数十进制小数数转换成二进制小数十进制数十进制数 乘以乘以2的小数部分的小数部分 乘以乘以2的整数部分的整数部分S K-1S1 K-2 Sm-2 K-m+1Sm-1 K-m 当乘以当乘以2的小数部分为的小数部分为0时,运算停止,永不为时,运算停止,永不为0则是无限循环小数,而乘以则是无限循环小数,而乘以2的整数的整数部分系列构成所转化的二进制数小数(注意书写顺序)。部分系列构成所转化的二进制数小数(注意书写顺序)。221221110.).0(.2.22)(mmmKKKKKKS.2.22)(12312101mmKKKS.2.22)(22413102mmKKKS.22)(211
7、101mmmKKS.22)(2211102mmmKKS整数部分除以整数部分除以2,逆向取余;小数部分乘以,逆向取余;小数部分乘以2,正向取整,正向取整例例 将十进制小数将十进制小数0.25转换成二进制数转换成二进制数十进制数十进制数 乘以乘以2的小数的小数 乘以乘以2的整数的整数0.25 0.5 00.5 0.0 1(0.25)10=(0.01)2 将十进制数转换成二进制数就是将整数部分和小数部分分别进行就行。同理,可将十进制数转换成二进制数就是将整数部分和小数部分分别进行就行。同理,可以将十进制数转换成其它任意进制数,方法和原理相同。以将十进制数转换成其它任意进制数,方法和原理相同。(8)二
8、进制数和八进制数的相互转换)二进制数和八进制数的相互转换(101111011)2=128+027+126+125+124+123+022+121+120 =(128+027+126)+(125+124+123)+(022+121+120) =(122+021+120) 26+(122+121+120) 23+(022+121+120) 20 =(122+021+120) 82+(122+121+120) 81+(022+121+120) 80 = (5) 82 + (7) 81 + (3) 80 = (573)8所以:所以: (101111011)2 = ( (101) (111) (011)
9、 )2 =( 5 7 3 )8小数的情况小数的情况(0.10111101)2=12-1+02-2+12-3+12-4+12-5+12-6+02-7+12-8 =(12-1+02-2+12-3)+(12-4+12-5+12-6)+(02-7+12-8+02-9) =(122+021+120) 2-3+(122+121+120) 2-6+(022+121+020) 2-9 =(122+021+120) 8-1+(122+121+120) 8-2+(022+121+020) 8-3 = (5) 8-1 + (7) 8-2 + (2) 8-3 = (572)8所以:所以: (0.10111101)2
10、= (0. (101) (111) (010) )2 =(0. 5 7 2 )8(9)二进制数和十六进制数的相互转换)二进制数和十六进制数的相互转换(110111110111)2=1211+1210+029+128 +127+126+125+124+023+122+121+120 =(1211+1210+029+128 ) +(127+126+125+124)+(023+122+121+120 ) =(123+122+021+120) 28 +(123+122+121+120) 24 +(023+122+121+120) 20 = (13) 162 + (15) 161 + (7) 160 =
11、 (DF7)16所以:所以: (101111011)2 = ( (1101) (1111) (0111) )2 =( D F 7 )16小数的情况小数的情况(0.10111101)2=12-1+02-2+12-3+12-4+12-5+12-6+02-7+12-8 =(12-1+02-2+12-3+12-4)+(12-5+12-6+(02-7+12-8) =(123+022+121+120) 2-4+(123+122+021+120) 2-8 =(123+022+121+120) 16-1+(123+122+021+120) 16-2 = (11) 16-1 + (13) 16-2 = (BD)
12、16所以:所以: (0.10111101)2 = (0. (1011) (1101) )2 =(0. B D )16 加法规则:逢加法规则:逢2进进1 (1+0)2=(1)2 (0+1)2=(1)2 (0+0)2=(0)2 (1+1)2=(10)2例:例: 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 0 = 1 1 1 1 1 1 1 0 1 1.1.2 二进制的加法运算二进制的加法运算(1)计算机中的数据存储的概念)计算机中的数据存储的概念 用二进制存储。存储空间的度量:用二进制存储。存储空间的度量:1字节字节8位二进制位二进制1024字节为字节为1K1024K为为1M1
13、024M为为1G 1.1.3 计算机中字符数据的表示计算机中字符数据的表示(2)字符的表示)字符的表示 一个字节表示字符(西文字符的特点决定,西文字符一个字节表示字符(西文字符的特点决定,西文字符和符号的有限数量在计算机的发展史上成了一个优点)。和符号的有限数量在计算机的发展史上成了一个优点)。0000000000000001 分别表示分别表示 256 个符号个符号,构成构成ASCII字符集字符集1111111011111111如:大写字母如:大写字母A,(0100 0001)2,(41)16,41H, ASCII值值65。012345670 1 2 3 4 5 6 7 8 9 A B C D
14、 E Fb6b5b4b3b2b1b0表表 标准标准ASCII字符字符注:包括非标准注:包括非标准ASCII字符的全部字符参见附录字符的全部字符参见附录A(1)原码表示)原码表示 以以2字节为例。对于整数,最高位符号位,字节为例。对于整数,最高位符号位,1表示负数,表示负数, 0表示正数,其余各位为真值的二进制形式。表示正数,其余各位为真值的二进制形式。00000000 00000000 000000000 00000001 101111111 11111111 3276710000000 00000000 -011111111 11111110 -3276611111111 11111111
15、-32767缺点:真值缺点:真值0有两种表示。有两种表示。 1.1.4 二进制数的原码、反码、补码表示二进制数的原码、反码、补码表示 对于小数,最高位符号位,对于小数,最高位符号位,1表示负数,表示负数,0表示正数,表示正数,然后是默认的小数点位置,其余各位为小数的二进制形式。然后是默认的小数点位置,其余各位为小数的二进制形式。00000000 00000000 0.000000000 000000001 2-1510000000 00000000 -0.011 -2-1111 -(2-1+2-2)(2)反码表示)反码表示 以以2字节为例。对于整数,最高位符号位,字节为例。对于整数,最高位符号
16、位,1表示负数,表示负数,0表示正数。当正数时,反码等于原码,当负数时,符号位表示正数。当正数时,反码等于原码,当负数时,符号位不变,其余各位为原码取反。正不变,其余各位为原码取反。正0和负和负0特殊规定。特殊规定。00000000 00000000 +011111111 11111111 -000000000 00000111 711111111 11111000 -7 缺点:真值缺点:真值0有两种表示。有两种表示。(3)补码表示)补码表示 以以2字节为例。对于正数,补码等于原码,对于负数,字节为例。对于正数,补码等于原码,对于负数,将原码的符号位不变,其余各位取反再在最后一位加将原码的符号
17、位不变,其余各位取反再在最后一位加1(注(注意:加意:加1时符号位不参加计算,且最高位的进位舍去),并时符号位不参加计算,且最高位的进位舍去),并规定了规定了10000000 00000000 为负的最大值(为负的最大值(-2n-1,n为位长)。为位长)。00000000 00000000 000000000 00000001 101111111 11111111 3276710000000 00000000 -32768(特别重要!特别重要!)10000000 00000001 -3276711111111 11111110 -211111111 11111111 -1 特点,特点,0只有一
18、种表示,且只有一种表示,且2字节二进制的所有可能排列字节二进制的所有可能排列和和-3276832767的不同数一一对应。的不同数一一对应。例例 以以2字节为例,字节为例,-7的补码的补码真值:真值: -7二进制值真值:二进制值真值: 00000000 00000111原码:原码: 10000000 00000111反码:反码: 11111111 11111000补码:补码: 11111111 11111001(4)补码的性质)补码的性质性质性质1 (a)补码补码的补码的补码=(a)原码原码性质性质2 (a+b)补码补码=(a)补码补码+(b)补码补码 (a-b)补码补码=(a)补码补码+(-b
19、)补码补码说明:原码和反码不完全具有这种性质。这种性质决定了计算机中的说明:原码和反码不完全具有这种性质。这种性质决定了计算机中的数的存储和运算采用补码,使得数据的加法能够正常进行,这也是设数的存储和运算采用补码,使得数据的加法能够正常进行,这也是设计补码的原因,在计算机(特别是计算机中的科学计算)的发展史上计补码的原因,在计算机(特别是计算机中的科学计算)的发展史上具有极其重要意义!具有极其重要意义! 限于课程特点,这里是主要结论,其中的数学原理不一一论述!限于课程特点,这里是主要结论,其中的数学原理不一一论述! 计算机规定了存储整数的字节数(本课程所用为计算机规定了存储整数的字节数(本课程
20、所用为2字节字节和和4字节)然后用补码存储和计算,称为定点表示法,默认字节)然后用补码存储和计算,称为定点表示法,默认小数点的位置是最低位的后面。小数点的位置是最低位的后面。 根据补码的特点,这种表示能够进行正确运算,但是根据补码的特点,这种表示能够进行正确运算,但是前提条件是数据不超出表示范围。超出表示范围会出错,前提条件是数据不超出表示范围。超出表示范围会出错,称为溢出。称为溢出。 1.1.5 计算机中整数的表示计算机中整数的表示例例 以以2字节为例论述计算机中计算字节为例论述计算机中计算32767+1的过程的过程32767的真值:的真值:1111111 111111111的真值:的真值:
21、00000000 0000000132767的原码:的原码:01111111 111111111的原码:的原码:00000000 00000001 32767的补码:的补码: 01111111 111111111的补码:的补码:00000000 0000000132767的补码的补码+1的补码(根据性质的补码(根据性质2,等于,等于32767+1的补码):的补码):10000000 00000000 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 = 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22、0 32767+1的值:的值:-32768(出错,溢出!出错,溢出!)同理完全可以表示同理完全可以表示4字节时的情形。字节时的情形。 规定存储实数的字节数(本课程有规定存储实数的字节数(本课程有4字节单精度实数和字节单精度实数和8字节双精度实数),按二进制补码存储。使用规定的格式字节双精度实数),按二进制补码存储。使用规定的格式(即浮点格式)表示实数,小数点由数据决定,所以称浮(即浮点格式)表示实数,小数点由数据决定,所以称浮点数。点数。 1.1.6 计算机中实数的表示计算机中实数的表示计算机中一个任意进制数计算机中一个任意进制数N可表示为:可表示为:其中:其中:m:尾数,是一个纯小数:尾数,
23、是一个纯小数e:浮点的指数,是一个整数:浮点的指数,是一个整数R:基数,对于二进制计数值的机器是一个常数,为:基数,对于二进制计数值的机器是一个常数,为2,8或或16大多数高级语言都按照大多数高级语言都按照IEEE-754标准来规定浮点数的存储标准来规定浮点数的存储格式。以格式。以32位单精度浮点数为例。位单精度浮点数为例。S数符:尾数符号,数符:尾数符号,0正正1负负M尾数:尾数:23位,采用隐含最高位位,采用隐含最高位1的表示方法,实际尾数的表示方法,实际尾数24位位 尾数真值尾数真值 = 1 + 尾数尾数E阶码:阶码:8位,采用位,采用“移码移码”表示(移码可表示阶符);表示(移码可表示
24、阶符); 阶码阶码 = 阶码真值阶码真值 + 127例例1:将:将-(0.11)2用用IEEE短实数浮点格式表示短实数浮点格式表示举例举例2:将:将 (100.25)10转换成短浮点数格式(转换成短浮点数格式(32位)位) 1.2 计算机与程序、程序设计语言计算机与程序、程序设计语言计算机:具有计算功能的机器计算机:具有计算功能的机器程序:计算机指令的集合程序:计算机指令的集合程序设计语言:能够产生让计算机执行的指程序设计语言:能够产生让计算机执行的指 令的程序的集合令的程序的集合计算机程序设计语言的发展:计算机程序设计语言的发展: 机器语言机器语言汇编语言汇编语言高级程序设计语言高级程序设计
25、语言机器语言:一个型号机器语言的指令的集合机器语言:一个型号机器语言的指令的集合汇编语言:用特定的助记符号代替汇编语言:用特定的助记符号代替0 0和和1 1系列表示指令系列表示指令的机器语言的集合的机器语言的集合高级程序设计语言:用接近于人们习惯的自然语言和高级程序设计语言:用接近于人们习惯的自然语言和数学语言代替指令的程序设计语言数学语言代替指令的程序设计语言 1.2 计算机与程序、程序设计语言计算机与程序、程序设计语言高级计算机程序设计语言:高级计算机程序设计语言:FORTRAN等用于计算的语言等用于计算的语言BASIC语言语言C语言、语言、C+程序设计语言程序设计语言各种可视化程序设计语
26、言各种可视化程序设计语言人工智能语言人工智能语言各种数据库、网络网页设计浏览等语言各种数据库、网络网页设计浏览等语言 1.2 计算机与程序、程序设计语言计算机与程序、程序设计语言语言简洁、紧凑,使用方便、灵活语言简洁、紧凑,使用方便、灵活运算符丰富运算符丰富数据类型丰富数据类型丰富模块化和结构化模块化和结构化语法限制不严,自由度大语法限制不严,自由度大允许直接访问地址,支持位运算允许直接访问地址,支持位运算生成目标代码质量高,程序执行效率高生成目标代码质量高,程序执行效率高可移植性好可移植性好 1.3 C语言的特点语言的特点 1.4 简单的简单的C语言程序语言程序#include int ma
27、in() printf(“Hello!n”); /在屏幕上输出在屏幕上输出Hello! return 0; /* 这是个简单的程序这是个简单的程序*/ 包含文件包含文件主函数主函数函数体结束函数体结束函数体开始函数体开始注释注释输出函数调用输出函数调用返回函数值返回函数值注释注释 1.5 C语言程序的结构语言程序的结构(1)由函数构成,函数是)由函数构成,函数是C程序的基本单位程序的基本单位(2)函数的组成:函数首部和函数体)函数的组成:函数首部和函数体(3)C程序从程序从main函数开始执行函数开始执行(4)书写自由(但约定俗成:一行一句)书写自由(但约定俗成:一行一句)(5)每个语句和声明
28、以)每个语句和声明以分号分号结束结束(6)输入输出调用库函数)输入输出调用库函数(7)支持两种注释()支持两种注释(/, /* */)(8)除注释和原样输出字符外均用西文字符)除注释和原样输出字符外均用西文字符 1.6 运行运行C程序的步骤和方法程序的步骤和方法源程序源程序(文本文件)(文本文件)*.C目标文件目标文件(二进制文件)(二进制文件)*.OBJ可执行文件可执行文件(二进制文件)(二进制文件)*.EXE库文件库文件(各种函数)(各种函数)编译和连接,简称编译编译和连接,简称编译编译编译连接连接compilelink编译器:能够将源程序编译成可执行程序的系统软件编译器:能够将源程序编译
29、成可执行程序的系统软件本课程使用:本课程使用:Visual C+集成开发环境软件(编辑、编译、执行)集成开发环境软件(编辑、编译、执行)(1)集成环境的进入退出)集成环境的进入退出(2)各窗体功能介绍)各窗体功能介绍(3)程序的建立)程序的建立(4)源程序的编辑、编译和连接)源程序的编辑、编译和连接(5)程序的运行及各提示信息的认识)程序的运行及各提示信息的认识(6)关闭工作区以方便下一个程序的调试)关闭工作区以方便下一个程序的调试 Visual C+Visual C+集成开发环境编译程序方法:集成开发环境编译程序方法: 1.6 运行运行C程序的步骤和方法程序的步骤和方法 1.7 程序设计的任
30、务程序设计的任务(1 1)问题分析)问题分析(2 2)设计算法和数据结构)设计算法和数据结构(3 3)编写程序)编写程序(4 4)对源程序进行编辑、编译和连接、执行)对源程序进行编辑、编译和连接、执行(5 5)运行程序,分析结果)运行程序,分析结果(6 6)调试和测试程序)调试和测试程序(7 7)编写程序文档)编写程序文档 1.8 算法算法-程序的灵魂程序的灵魂程序程序= =算法算法+ +数据结构数据结构(1 1)对数据的描述)对数据的描述(2 2)对操作的描述)对操作的描述算法:用易于实现的方法描述解决问题的方法算法:用易于实现的方法描述解决问题的方法数据结构:描述数据的类型和数据的组织形式数据结构:描述数据的类型和数据的组织形式算法的表示方法:算法的表示方法:(1 1)自然语言表示法)自然语言表示法(2 2)流程图法)流程图法(3 3)算法描述语言(伪代码)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030中国防爆电动执行器行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国镀膜平板玻璃行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国银钎焊合金行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国酒精性肝炎治疗行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国轨道工程机械行业市场发展分析及前景趋势与投资研究报告
- 2025-2030中国行业标签行业市场发展趋势与前景展望战略研究报告
- 乡镇环境保护工作总结
- Unit2Hobbies Welcome to the Unit教学设计2024-2025学年牛津译林版英语七年级上册
- 教学培训个人总结
- 28枣核教学设计-2023-2024学年三年级下册语文统编版
- 河南省洛阳市强基联盟2024-2025学年高二下学期3月月考历史试题(原卷版+解析版)
- 2025届上海市奉贤区高三语文二模试卷作文题目解析及范文:达克效应
- 2024年新瓦斯检查工国家考试题库
- 河南省普通高中2024-2025学年高三下学期学业水平选择性模拟考试(四)历史试题(原卷版+解析版)
- (一模)桂林市、来宾市2025届高考第一次跨市联合模拟考试地理试卷(含答案详解)
- 饰品干货知识培训课件
- GB 15578-2008电阻焊机的安全要求
- 电路图与实物图互画练习一二
- 京九铁路线南昌段隧道整治施工组织设计
- 拼音表(声母、带声调的韵母和整体认读音节)
- 1冷链药品管理交接单
评论
0/150
提交评论