C语言程序设计经典教程.pptx
《C语言程序设计经典教程.pptx》由会员分享,可在线阅读,更多相关《C语言程序设计经典教程.pptx(44页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第一章 C语言程序设计基础知识1.1 基本知识1.2 算法及其表示1.3 C语言基本知识本章重点理解C程序的基本结构第1页/共44页第一章 C语言程序设计基础知识1.1 基本知识 1.1.1 信息的表示 1.数制 十进制:日常使用的数制。二进制、八进制、十六进制:计算机中使用的数制。第2页/共44页不同数制间的转换:二、八、十六进制转换成十进制的方法是 -按位权法展开。例:二进制转换成八、十六进制的方法是 -分组法(三位、四位一组)。例:八、十六进制转换成二进制的方法是 -直接法(直接将八、十六进制数字符号转换成二进制数字符号)。例:十进制转换成二、八、十六进制间的方法是 -整数部分除法取余,
2、小数部分乘法取整。例:(101.01)2=122+021+120+02-1+12-2=(5.25)10小数点位置小数点位置(1a.2)16=1161+10160+216-1=(26.125)10小数点位置小数点位置(1010111.011)2=(001010111.011)2=(127.3)8(1010111.011)2=(01010111.0110)2=(57.6)16转换时应注意:分别对整数和小数部分进行分组。整数部分:从小数点开始,向左三位(四位)一组,不够三位(四位)时,高位充零。小数部分:从小数点开始,向右三位(四位)一组,不够三位(四位)时,低位充零。最后将各组数据转换成相应数制的
3、符号即可。(a5)16=(10100101)2建议:二、八、十六进制间的转换应利用二进制作为过渡,这样做来得简单。例:求(a5)16的八进制表示。(a5)16=(10100101)2=(010100101)2=(245)8(28.125)10对应的二进制数是(11100.001)2。整数部分:28小数部分:0.125余数整数2.0最低位14282.072.132.11最高位0.1252=0.25.0最高位0.252=0.5.00.52=1.0.1最低位第3页/共44页 数据数值数据:二进制数值数据:二进制非数值数据:编码非数值数据:编码定点法定点法浮点法浮点法西文:西文:ASCII,BCDAS
4、CII,BCD汉字:汉字:国标码国标码图形图形有符定点有符定点无符定点无符定点2.数据的编码通常在计算机中用8个、16个、32个.等固定个数的二进制位来表示某一个数据。计算机中常见的数据分为两种即数值数据和非数值数据。第4页/共44页数值型数据:通常在计算机中用8个、16个、32个二进制位来表示数值型数据。小数点的位置总是隐含的,以节省空间。但小数点的位置可以是固定的或可变的。前者称为定点数,后者称为浮点数。(1)定点数(在计算机中整数是按定点数格式存放的)定点数分为:有符定点数(signed)无符定点数(unsigned)。浮点数(在计算机中小数是按浮点数格式存放的)第5页/共44页有符定点
5、整数dsdndn-1dn-2.d1符号位数值部分小数点无符定点整数dndn-1dn-2.d1数值部分小数点第6页/共44页浮点数(在计算机中小数是按浮点数格式存放的)浮点数格式如下:Jsjnjn-1.j2j1dsdmdm-1.d2d1阶符阶码数符尾数第7页/共44页字符型数据:常用的英文编码有ASCII码、BCD码 ASCII 码ASCII码 是 英 文 American Standard Code for Information Interchange(美国信息交换标准编码)的缩写。该编码已经国际标准化组织所采纳。目前国际上流行的是ASCII编码的七位版本,即用一个字节的低七位表示一个字符,
6、高位充零。七个二进制位可表示128种状态,故可用来表示128个不同的字符,在ASCII编码的七位版本中表示的33个通用控制字符、95个可打印显示的字符(其中10个数字、52个大小写英文字母、33个标点符号和运算符号)。ASCII编码表(见附录I)第8页/共44页字符型数据:常用的中文编码有国家标准汉字编码(GB码)GB2312-80(国家标准汉字编码)是常用的汉字编码标准,它收录了6763个常用汉字。国标码使用连续的两个字节(十六位二进制位)表示一个汉字。根据这些汉字使用频率的高低,分成两部分:一级汉字共3755个,即最常用的汉字。二级汉字共3008个,为次常用的汉字。GB2312-80还收录
7、了一些数字符号、图形符号、外文字母等。第9页/共44页数值数据的编码方法:前面讨论的是数值数据在计算机中的存放格式,下面讨论对数值数据进行编码的方法。原码表示法:(假定用八个二进制位表示)a=+51(a)2=(+00110011)2则a原=00110011a=-127(a)2=(-01111111)2则a原=11111111原码表示法在八个二进制位中的表示范围:-127a+127+0原=00000000-0原=10000000 要点:要点:最高位作为符号位,若正数,则最高位是最高位作为符号位,若正数,则最高位是0,若负数,若负数,则最高位是则最高位是1。第10页/共44页反码表示法:(假定用八
8、个二进制位表示)通过一个二进制整数的原码得到所谓反码:当a为正数时,a原=a反,当a为负数时,则保持a原的符号位不变,其余各个二进制位逐位取反,即0变1,1变0。如:a=+51a原=00110011则a反=a原=00110011a=-51a原=10110011则a反=11001100反码表示法在八个二进制位中的表示范围:-127a+127+0反=00000000-0反=11111111 要点:要点:由原码得到反码。若正数,则反码与原码相同,若负数,由原码得到反码。若正数,则反码与原码相同,若负数,则最高位不变,其余逐位取反。则最高位不变,其余逐位取反。第11页/共44页补码表示法:(假定用八个
9、二进制位表示)通过一个二进制整数的反码得到所谓补码:当a0时,a补=a反,当a0时,则a补=a反+1,如:a=+51a原=00110011则a补=a反=a原=00110011a=-51a原=10110011a反=11001100则a补=a反+1=11001101补码表示法在八个二进制位中的表示范围:-128a+127+0补=00000000-128补=10000000 要点:要点:由反码得到补码。若正数,则反码与补码相同,若负数,由反码得到补码。若正数,则反码与补码相同,若负数,则补码等于反码加则补码等于反码加1。在补码表示法中,0的表示是唯一的,而最小值可达-128。第12页/共44页在上述
10、介绍当中我们是以八位二进制位为例,同样,我们可以将其推广到十六位,三十二位等二进制位中去,需要注意的是数值范围将发生变化。思考:思考:以上介绍的原码、反码、补码都是有符定点整数的编码方式,若以八位二进制位表示无符定点整数,则其范围是0到255。在在Turbo C中:中:有符整数有符整数是按有符定点整数格式的补码表示的,无符整数无符整数是按无符定点整数格式表示的。第13页/共44页补码的加、减法补码的加、减法补码的加法公式是:a补+b补=a+b补补码的减法公式是:a-b补=a补-b补=a补+-b补例1.1:a=1110=00001011原,b=510=00000101原,求a+b。因为a补=00
11、001011,b补=00000101补码a+b补=00010000补a+b反=00010000反a+b原=00010000原=1610第14页/共44页例1.2:求b-a。-a=-1110=10001011原,b=510=00000101原,因为-a补=11110101,b补=00000101补码b-a补=b补+-a补=11111010补b-a反=11111001反b-a原=10000110原=-610第15页/共44页关于字符编码方法:要注意ASCII码和国标码应用对象的不同,ASCII码用来对英文字符编码而国标码用来对汉字进行编码。ASCII码使用一个字节(八位二进制位),国标码使用两个字
12、节(十六位二进制位)。GB2312-80规定了用连续的两个字节来表示一个汉字,并且只用各个字节的低7位,最高位未定义。这样以来就有可能与ASCII码字符产生冲突,就单个字节来说,两种编码方式都只用到字节的低七位,ASCII码规定高位充零,而国标码对高位未定义,因此,对单个字节而言,不能确定它到底是一个ASCII码字符还是一个汉字的一部分(低字节或高字节)。于是有很多为了解决这类问题的方案应运而生,变形国标码就是其中之一,并且得到了广泛的应用。它的主要特点是将国标码编码的各个字节的最高位置1,以达到区别于ASCII编码的目的。第16页/共44页如何理解存储在计算机中的信息 计算机中各种信息都是以
13、二进制形式存在,有的是数值,有的是ASCII码字符,有的是汉字,如何区分它们呢?这实际上取决于我们(或者程序)按照何种规则判读它们,例如:对于机器内存中连续两个字节,它们的低七位内容分别为0110000和0100001,如果它们的最高位均为1,则表示汉字“啊”,如果均为0则表示为两个ASCII码字符“0”和“!”。当然,我们还可根据不同的数值编码规则将它们判读成不同的数值。第17页/共44页1.1.2计算机系统的基本组成一个完整的计算机系统是由硬件系统和软件系统两大部分组成。硬件系统:是构成计算机系统的各种物理设备的总称,是计算机系统的物质基础,它由运算器、控制器、存储器、输入设备和输出设备组
14、成;软件系统:是为运行、管理和维护计算机而编制的程序和各种文档的总和。第18页/共44页计计算算机机系系统统硬硬件件系系统统软软件件系系统统主主机机外外设设系系统统软软件件应应用用软软件件中央处理器(中央处理器(CPU)内存储器内存储器运算器(运算器(ALU)控制器(控制器(CU)只读存储器只读存储器(ROM)随机存储器随机存储器(RAM)外部存储器外部存储器(辅助存储器)辅助存储器)输入设备输入设备输出设备输出设备操作系统操作系统编译系统编译系统数据库管理系统数据库管理系统实用程序实用程序专用应用软件专用应用软件通用应用软件通用应用软件图图1-4第19页/共44页1.硬件系统计算机硬件主要由
15、中央处理器、主存储器、辅助存储器、输入设备、输出设备等组成。(1)中央处理器(CPU)CPU的作用是不断的从内存中取指令并执行指令。CPU的指令控制部件负责解释并执行各条指令,在内部进行算术运算、逻辑运算,对外部按指令要求与内存、接口设备交换信息,协调整个计算机系统的工作。第20页/共44页(2)主存储器(MainMemory)主存储器又称为内存储器,简称内存,用来存放当前运行的程序和数据。根据其工作方式和读写功能的不同,内存可分为:只读存储器和随机存储器。只读存储器(ROM):ROM(Read Only Memory)随机存储器(RAM):RAM(Random Access Memory)有
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 经典 教程
限制150内