欢迎来到得力文库 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
得力文库 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    C语言程序设计经典教程.pptx

    • 资源ID:87548515       资源大小:217.74KB        全文页数:44页
    • 资源格式: PPTX        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C语言程序设计经典教程.pptx

    第一章 C语言程序设计基础知识1.1 基本知识1.2 算法及其表示1.3 C语言基本知识本章重点理解C程序的基本结构第1页/共44页第一章 C语言程序设计基础知识1.1 基本知识 1.1.1 信息的表示 1.数制 十进制:日常使用的数制。二进制、八进制、十六进制:计算机中使用的数制。第2页/共44页不同数制间的转换:二、八、十六进制转换成十进制的方法是 -按位权法展开。例:二进制转换成八、十六进制的方法是 -分组法(三位、四位一组)。例:八、十六进制转换成二进制的方法是 -直接法(直接将八、十六进制数字符号转换成二进制数字符号)。例:十进制转换成二、八、十六进制间的方法是 -整数部分除法取余,小数部分乘法取整。例:(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转换时应注意:分别对整数和小数部分进行分组。整数部分:从小数点开始,向左三位(四位)一组,不够三位(四位)时,高位充零。小数部分:从小数点开始,向右三位(四位)一组,不够三位(四位)时,低位充零。最后将各组数据转换成相应数制的符号即可。(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,BCDASCII,BCD汉字:汉字:国标码国标码图形图形有符定点有符定点无符定点无符定点2.数据的编码通常在计算机中用8个、16个、32个.等固定个数的二进制位来表示某一个数据。计算机中常见的数据分为两种即数值数据和非数值数据。第4页/共44页数值型数据:通常在计算机中用8个、16个、32个二进制位来表示数值型数据。小数点的位置总是隐含的,以节省空间。但小数点的位置可以是固定的或可变的。前者称为定点数,后者称为浮点数。(1)定点数(在计算机中整数是按定点数格式存放的)定点数分为:有符定点数(signed)无符定点数(unsigned)。浮点数(在计算机中小数是按浮点数格式存放的)第5页/共44页有符定点整数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编码的七位版本,即用一个字节的低七位表示一个字符,高位充零。七个二进制位可表示128种状态,故可用来表示128个不同的字符,在ASCII编码的七位版本中表示的33个通用控制字符、95个可打印显示的字符(其中10个数字、52个大小写英文字母、33个标点符号和运算符号)。ASCII编码表(见附录I)第8页/共44页字符型数据:常用的中文编码有国家标准汉字编码(GB码)GB2312-80(国家标准汉字编码)是常用的汉字编码标准,它收录了6763个常用汉字。国标码使用连续的两个字节(十六位二进制位)表示一个汉字。根据这些汉字使用频率的高低,分成两部分:一级汉字共3755个,即最常用的汉字。二级汉字共3008个,为次常用的汉字。GB2312-80还收录了一些数字符号、图形符号、外文字母等。第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页反码表示法:(假定用八个二进制位表示)通过一个二进制整数的原码得到所谓反码:当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页补码表示法:(假定用八个二进制位表示)通过一个二进制整数的反码得到所谓补码:当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页在上述介绍当中我们是以八位二进制位为例,同样,我们可以将其推广到十六位,三十二位等二进制位中去,需要注意的是数值范围将发生变化。思考:思考:以上介绍的原码、反码、补码都是有符定点整数的编码方式,若以八位二进制位表示无符定点整数,则其范围是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补=00001011,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码使用一个字节(八位二进制位),国标码使用两个字节(十六位二进制位)。GB2312-80规定了用连续的两个字节来表示一个汉字,并且只用各个字节的低7位,最高位未定义。这样以来就有可能与ASCII码字符产生冲突,就单个字节来说,两种编码方式都只用到字节的低七位,ASCII码规定高位充零,而国标码对高位未定义,因此,对单个字节而言,不能确定它到底是一个ASCII码字符还是一个汉字的一部分(低字节或高字节)。于是有很多为了解决这类问题的方案应运而生,变形国标码就是其中之一,并且得到了广泛的应用。它的主要特点是将国标码编码的各个字节的最高位置1,以达到区别于ASCII编码的目的。第16页/共44页如何理解存储在计算机中的信息 计算机中各种信息都是以二进制形式存在,有的是数值,有的是ASCII码字符,有的是汉字,如何区分它们呢?这实际上取决于我们(或者程序)按照何种规则判读它们,例如:对于机器内存中连续两个字节,它们的低七位内容分别为0110000和0100001,如果它们的最高位均为1,则表示汉字“啊”,如果均为0则表示为两个ASCII码字符“0”和“!”。当然,我们还可根据不同的数值编码规则将它们判读成不同的数值。第17页/共44页1.1.2计算机系统的基本组成一个完整的计算机系统是由硬件系统和软件系统两大部分组成。硬件系统:是构成计算机系统的各种物理设备的总称,是计算机系统的物质基础,它由运算器、控制器、存储器、输入设备和输出设备组成;软件系统:是为运行、管理和维护计算机而编制的程序和各种文档的总和。第18页/共44页计计算算机机系系统统硬硬件件系系统统软软件件系系统统主主机机外外设设系系统统软软件件应应用用软软件件中央处理器(中央处理器(CPU)内存储器内存储器运算器(运算器(ALU)控制器(控制器(CU)只读存储器只读存储器(ROM)随机存储器随机存储器(RAM)外部存储器外部存储器(辅助存储器)辅助存储器)输入设备输入设备输出设备输出设备操作系统操作系统编译系统编译系统数据库管理系统数据库管理系统实用程序实用程序专用应用软件专用应用软件通用应用软件通用应用软件图图1-4第19页/共44页1.硬件系统计算机硬件主要由中央处理器、主存储器、辅助存储器、输入设备、输出设备等组成。(1)中央处理器(CPU)CPU的作用是不断的从内存中取指令并执行指令。CPU的指令控制部件负责解释并执行各条指令,在内部进行算术运算、逻辑运算,对外部按指令要求与内存、接口设备交换信息,协调整个计算机系统的工作。第20页/共44页(2)主存储器(MainMemory)主存储器又称为内存储器,简称内存,用来存放当前运行的程序和数据。根据其工作方式和读写功能的不同,内存可分为:只读存储器和随机存储器。只读存储器(ROM):ROM(Read Only Memory)随机存储器(RAM):RAM(Random Access Memory)有以下两个特点:一是随机存取信息,二是具有“挥发性”。(3)辅助存储器(AuxiliaryMemory)主存储器速度快但价格昂贵,因而容量受到限制,且断电后即“挥发”,所以计算机采用了大容量的辅助存储器,如磁带、磁盘、光盘等。辅助存储器只能与主存储器交换信息,是主存储器的扩充。它与主存储器一起构成计算机存储体系中的一个重要组成部分。第21页/共44页存储器容量单位在存储器中,存储器最小单位是存储位(Bit),由若干个存储位组成一个存储单元,如八个二进制位组成一个字节存储单元(Byte),然后再由许多个存储单元组成存储器。为了区分不同的存储单元,必须将它们逐一编号,该编号称为存储单元的地址。通过地址,可以访问各个存储单元。一个存储器中包含的存储单元的总数通常称为该存储器的存储容量。存储容量的换算关系如下:1Byte=8Bits1KB=1024Bytes=210Bytes1MB=1024KB=220Bytes1GB=1024MB=230Bytes1TB=1024GB=240Bytes第22页/共44页(4)输入/输出设备 输入设备是向计算机输入数据、信息的设备的总称。它将计算机程序、文本信息、多媒体信息以及各种数据转换成计算机能处理的数据形式并输送到计算机。常见的输入设备有键盘、鼠标、扫描仪等。输出设备是能将计算机处理好的信息转换成文本、图形、多媒体等形式并输出的设备。常见的输出设备有显示器、打印机、绘图仪等。第23页/共44页2.软件系统计算机只有配备了软件系统才能进行工作。一台计算机能否发挥其应有的作用,实现硬件系统所能完成的信息处理功能,取决于软件系统的优良与否。软件一般指计算机运行所需的各种程序、数据以及相关的文档。软件系统由系统软件和应用软件两大部分组成。系统软件是用来对计算机进行管理、控制和维护,以及支持应用程序的运行的软件的集合。应用软件是在系统软件的支持下为解决各类实际问题而设计开发的软件(程序)。第24页/共44页(1)系统软件系统软件用于管理计算机资源,分配和协调计算机各部件工作,提高计算机的使用效率,方便用户使用计算机。系统软件包括以下四大类:操作系统:编译系统:实用程序:数据库管理系统:第25页/共44页(2)应用软件应用软件是用户或软件开发人员在系统软件的支持下,为解决各类实际问题而设计、开发的软件,它包括通用应用软件即软件包和专用应用软件即用户应用软件。通用应用软件是指由软件公司专业人员为解决通用性问题而设计的软件,以供用户选择实用。这类软件很多如:Office2000(办公自动化)、Access97(数据库)、SAS(统计分析系统)等。专用应用软件是指用户为了解决特定问题自己或委托他人研制开发的软件。如工资管理系统等。第26页/共44页需要注意的是:1)内存和外存在计算机系统中的作用,以及他们之间的关系。2)存储器的容量单位和地址的概念:存储器最小单位是存储位(Bit),由若干个Bit成一个存储单元,如八个二进制位组成一个字节存储单元(Byte),然后再由许多个存储单元组成存储器。为了区分不同的存储单元,必须将它们逐一编号,该编号称为存储单元的地址。通过地址,可以访问各个存储单元。一个存储器中包含的存储单元的总数通常称为该存储器的存储容量。存储容量的换算关系如下:1Byte=8Bits1KB=1024Bytes=210Bytes1MB=1024KB=220Bytes1GB=1024MB=230Bytes1TB=1024GB=240Bytes第27页/共44页3.计算机语言 所谓计算机语言是人类为了有效地与计算机进行信息的传递、沟通,并且能让计算机按照人类的意志进行工作而开发出的一种语言。人类使用它描述解决问题一系列步骤,计算机能够识别并执行它,以达到解决问题的目的。(1)机器语言 (2)汇编语言 (3)高级语言 在此,请注意,计算机只能识别并执行二进制机器指令的特点并被有改变。要想计算机执行汇编程序或者高级语言程序就必须将该程序“转换”(编译或解释)成机器指令程序,方可执行。第28页/共44页4.翻译方式 编译程序或解释程序对高级语言程序(或汇编语言程序)进行“翻译”处理,使它成为机器指令程序,才能提交计算机执行。其核心是将高级语言(或汇编语言)转换成“机器指令程序”。下面分别介绍这两种处理方式。(1)解释方式 使用解释程序(Interpreter)将高级语言程序的语句逐条“翻译”成机器指令并逐条提交计算机执行,直至程序结束(如图1-5所示)。第29页/共44页(2)编译方式所谓编译方式是分两步进行的首先通过编译程序(Compiler)对整个高级语言程序进行编译,它包括翻译和查错(词法分析、语法和语义分析、生成和优化目标程序)。出现错误时,停止编译,报告错误,不生成目标程序,待修改源程序后,再进行编译,直到最终得到正确的目标程序。然后使用链接程序(Linker)对目标程序进行链接,得到可执行的程序,这时才能将可执行程序提交计算机执行(如图1-6所示)Turbo c 是以编译方式进行工作的。第30页/共44页1.2算法及其表示1.2.1算法的概念和特点我们在使用计算机解决实际问题的时候,通常按如下步骤进行:1.分析问题,找出解决问题的模型。2.根据模型,设计出适合计算机特点的处理方法即算法。3.选择适合的计算机语言,进行编程以实现算法。4.上机编辑、调试、运行所编制的程序,得到结果。5.对结果进行分析,整理出文字材料即文档。第31页/共44页一个合理的算法具有以下特点:1.有穷性:一个算法应该是“有限”个步骤的,而不能是“无限“个步骤的。也就是说经过有限个步骤的处理以后,算法应该结束。2.确定性:算法中的每一个步骤的含义都是确定的、唯一的,不能具有其他的含义或可被理解成其他的含义。3.有输入:可有零个或多个输入。输入是用来在一个算法的执行过程中,向它提供处理对象(数据)或控制算法执行过程的信息的。4.有输出:可有一个或多个输出。它是算法执行的结果的输出。没有输出的算法是一个无效的算法。5.有效性:算法的每一步骤都可有效地执行。第32页/共44页1.2.2如何表示一个算法表示一个算法的方法很多,如自然语言法、传统流程图法、N-S流程图法、伪代码法等,理论上都可用来表示算法,但是效率上有很大差异。例如:M=5!,要求M 的值。自然语言法描述算法如下:设定变量M,M置初值为1,设定变量I,置初值为1。如果I的值小于6,则执行,否则执行。将M乘以I并置于M中存放,将I中的值加1并置于I中存放,再执行。将M中的值输出。用传统流程图法描述算法如图1-7所示:用N-S流程图描述算法如图1-8所示:第33页/共44页结构化程序设计 人们经过长期的实践,不断地总结经验,提出了结构化程序设计方法,将算法的描述归纳为三种基本结构的顺序组合,即顺序结构、选择结构、循环结构。它们的共同特点是:只有一个入口,只有一个出口,每个基本结构中的每一部分都有机会被执行,结构内部不存在死循环。使用三种基本结构描述的算法是结构化的算法,按照结构化算法编写出来的程序具有良好的可读性和可维护性。需要说明的是传统流程图使用几何图形、流程线、文字说明(见表1-1)来描述一个算法,美国学者I.Nassi和B.Shneidermen提出了用N-S流程图又称盒图(三种基本结构对照表见表1-2)描述算法的方法。第34页/共44页第35页/共44页1.3 C语言基本知识1.3.1 C语言的发展历史及特点 1.C语言程序结构紧凑、语言简洁。2.C语言的数据类型丰富。3.C语言的运算符丰富,有多达44种运算符,(见附录III)。4.C语言是一种结构化程序设计语言。5.C语言是处于汇编语言和高级语言之间的程序设计语言,即中级语言。6.C语言可移植性好 7.C语言的语法限制不太严格。第36页/共44页1.3.2 C语言的标识符与关键字 在C语言程序中,标识符和关键字都属于程序的基本语法单位。正确地使用标识符和关键字对于程序的编制是至关重要的。1.标识符 标识符一般是指用户或系统定义的符号名、变量名、数组名、类型名、函数名、文件名等。C语言规定标识符由字母、数字、下划线组成,必须以字母或下划线开头。大写字母小写字母被认为是不同的字符,在标识符中不能含有其它字符,也不能跨行书写。例如,合法的标识符如下:a_1 name _x123 worker World_1 _Wolf 非法的标识符如下:1abc name,1 x 123n&a12 To-me date.1Turbo C规定标识符长度不超过32个字符,超过32个字符的部分无效。第37页/共44页用户在定义标识符的时候应注意:不要与系统预定义的标识符或关键字相同。如:用户不要定义printf作为用户标识符,因为系统已经将其预先定义为格式输出函数的标识符,以免引起冲突。尽可能直观地定义标识符,也就是说,从所定义的标识符的字面上就能够了解其含义,以方便以后的使用。第38页/共44页2.关键字 C语言中的关键字又称保留字,它是由C的编译程序预定义的、具有特定含义的单词,用户不可将其定义成自己的标识符使用。C的关键字有以下32个:auto break case char const continue default do double elseenum cxtern float for gotoif int long register returnshort signed sizeof static structswitch typedef union unsigned voidvolatile while 第39页/共44页1.3.3 C语言的基本结构语言的基本结构1.C语言程序由一个或多个函数组成,其中有且只有一个主函数,名为main()。2.函数由函数说明和函数体组成。其中函数名命名应符合标识符的规定,函数体应以花括弧“”开始,并以“”结束。3.函数体由C语言的“语句”组成,每条语句必须以“;”结尾。4.C语言程序的语句书写格式自由,一行内可以写一条或多条语句,也可将一条语句写在多行上,但关键字、标识符、字符串作为一个整体不能分写在两行上。5.在C语言程序中,可以在任何位置成对地使用/*和*/对程序进行注释,注释的作用是利用文字信息对程序进行说明或注解,以便人们在阅读程序时理解程序的功能,注释部分在程序的运行时不执行。例1.3第40页/共44页在屏幕上显示“Hello,C!”字符串。main()/*主函数*/*函数体开始*/printf(Hello,C!);/*在屏幕上显示字符串*/*函数体结束*/第41页/共44页main()/*主函数*/*主函数体开始*/inta,b,c;/*定义三个整型变量名*/printf(“Hello,C!”);/*屏幕输出字符串*/scanf(“%d%d”,&a,&b);/*从键盘输入两个数,分别给a和b这两个变量*/c=add(a,b);/*调用用户定义的函数add,并将函数值置于变量c中*/printf(“%dn”,c);/*屏幕输出变量c的值*/*主函数体结束*/add(a,b)/*用户自定义标识符add作为函数名,有两个参数a和b*/*用户自定义函数的函数体*/inty;/*定义一个整型变量名y*/y=a+b;/*将a+b的值置于y中*/returny;/*将y的值返回*/*用户自定义函数的函数体结束*/第42页/共44页加强对C语言程序基本结构的理解,对今后的学习会有很大帮助。建议:建议:除了注意对书本知识的学习以外,要多观察、多思考、多做自己的“作品”(不在于复杂程度,只要是自己的)、多做上机练习,坚持一段时间,培养起自己的兴趣,有了兴趣就意味着成功的开始。第43页/共44页感谢您的欣赏!第44页/共44页

    注意事项

    本文(C语言程序设计经典教程.pptx)为本站会员(莉***)主动上传,得力文库 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知得力文库 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于得利文库 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

    © 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

    黑龙江省互联网违法和不良信息举报
    举报电话:0468-3380021 邮箱:hgswwxb@163.com  

    收起
    展开