您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 数据通信与网络 > 计算机二级C语言教程.
课程要求课前请做好预习保持课堂安静,头脑清醒,思维活跃认真、独立、按时完成并提交作业重视上机实践,有效利用宝贵的上机时间计算机系统组成预备知识:计算机工作原理数制计算机编码计算机系统组成C程序设计预备知识计算机工作原理C程序设计预备知识冯•诺依曼原理1945年6月美籍匈牙利著名数学家冯•诺依曼与勃克斯等联合发表的“101页报告”中提出了“存储程序”的设计思想,并建立了一个完整的计算机模型,至今仍不失其开创性的指导意义。我们目前所使用的计算机大都仍采用冯•诺依曼原理。冯•诺依曼“存储程序”的设计思想包含三个方面:1、用二进制代替十进制运算;2、将计算机硬件划分为五大部件:运算器、控制器、存储器、输入设备和输出设备。3、提出了“存储程序”思想,即在计算机中引入了存储器。C程序设计预备知识计算机工作原理图输入设备输入信息控制器存储器运算器输出设备输出信息表示数据信息流向表示控制信息流向数制数制的基本概念用一组固定的数字与统一的规则来表示数的方法。数制的种类1.二进制数(1)基本数码:0,1(2)规则:逢二进一,借一当二2.八进制数(1)基本数码:0,1,2,3,4,5,6,7(2)规则:逢8进1,借1当83.十六进制数(1)基本数码:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F(2)规则:逢16进1,借1当16C程序设计预备知识数制的转换●二进制与十进制之间的相互转换1、十进制转换成二进制:整数部分:除2取余法、倒读。小数部分:乘2取整法、顺读(达到所要求的精度为止)。[例1](100)10=(1100100)22|100余数2|500(最低位)2|2502|1212|602|302|1101(最高位)C程序设计预备知识[例2](0.625)10=(0.101)2乘2取整:整数部分0.625×21.25010.25×20.500×21.01练习:十进制转换成二进制:(894.8125)10=(1101111110.1101)2(52.875)10=(110100.111)2C程序设计预备知识2、二进制转换成十进制:[例3](1101)2=1×23+1×22+0×21+1×20=8+4+0+1=(13)10[例4](10110.101)2=1×24+0×23+1×22+1×21+0×20+1×2-1+0×2-2+1×2-3=16+0+4+2+0+0.5+0+0.125=(22.625)10练习:二进制转换成十进制:(1110101)2=(117)10(110110.111)2=(54.875)10C程序设计预备知识●八进制与十进制之间的相互转换1、十进制转换成八进制:整数部分:除8取余法、倒读。[例5](75)10=(113)8练习:(262)10=(406)8思考:将十进制小数转换成八进制的法则是什么?具体不作要求2、八进制转换成十进制法则:把八进制数写成基数8按权展开的形式的多项式[例6](145)8=1×82+4×81+5×80=64+32+5=(101)10[例7](51.6)8=5×81+1×80+6×8-1=40+1+0.75=(41.75)10练习:八进制转换成十进制:(327)8=(215)10(11.1)8=(9.125)10C程序设计预备知识●十六进制与十进制之间的相互转换1、十进制转换成十六进制:整数部分:除16取余法、倒读。[例8](3901)10=(F3D)16练习:(1262)10=(4EE)16思考:将十进制小数转换成十六进制的法则是什么?具体不作要求2、十六进制转换成十进制法则:把十六进制数写成基数16按权展开的形式的多项式[例9](58)16=5×161+8×160=80+8=(88)10[例10](1AB.C8)16=1×162+10×161+11×160+12×16-1+8×16-2=256+160+11+0.75+0.03125=(427.78125)10练习:十六进制转换成十进制:(21)16=(33)10(AB)16=(171)10(100)16=(256)10C程序设计预备知识计算机编码计算机中为何采用二进制数?十进制的缺点:数码多,对计算机逻辑电路要求高二进制的优点:使用电子器件表示两种物理状态容易实现,两种状态的系统稳定性高,二进制运算简单、硬件容易实现、存储和传送可靠等(1)可行性:二进制数只有0、1两个数码,采用电子器件很容易实现,而其它进制则很难实现。(2)可靠性:二进制的0、1两种状态,在传输和处理时不容易出错。(3)简易性:二进制的运算法规简单,这样,使得计算机的运算器结构大大简化,控制简单。(4)逻辑性:二进制的0、1两种状态,可以代表逻辑运算中的“假”和“真”两种值。C程序设计预备知识为什么需要八进制和十六进制?二进制数太长了。比如int类型占用2个字节,16位。比如100,用int类型的二进制数表达将是:0000000001100100面对这么长的数进行思考或操作,没有人会喜欢。用16进制或8进制可以解决这个问题。因为,进制越大,数的表达长度也就越短。不过,为什么偏偏是16或8进制,而不其它的,诸如9或20进制呢?2、8、16,分别是2的1次方,3次方,4次方。这一点使得三种进制之间可以非常直接地互相转换。8进制或16进制缩短了二进制数,但保持了二进制数的表达特点。二进制数转换为十六进制,就是以4位一段,分别转换为十六进制。如:111111011010010110011011FDA59B二进制数转换为八进制,就是以3位一段,分别转换为八进制。C程序设计预备知识计算机内部采用最广泛的编码是什么?目前计算机中用得最广泛的字符集及其编码,是由美国国家标准局(ANSI)制定的ASCII码(AmericanStandardCodeforInformationInterchange,美国标准信息交换码),它已被国际标准化组织(ISO)定为国际标准。适用于所有拉丁文字字母,ASCII码有7位码和8位码两种形式,表示128或256种可能的字符。因为1位二进制数可以表示(21)=2种状态:0、1;而2位二进制数可以表示(22)=4种状态:00、01、10、11;依次类推,7位二进制数可以表示(27)=128种状态,每种状态都唯一地编为一个7位的二进制码,对应一个字符(或控制码),这些码可以排列成一个十进制序号0→127。所以,7位ASCII码是用七位二进制数进行编码的,可以表示128个字符。第0→32号及第127号(共34个)是控制字符或通讯专用字符,如控制符:LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BEL(振铃)等;通讯专用字符:SOH(文头)、EOT(文尾)、ACK(确认)等;第33→126号(共94个)是字符,其中第48→57号为0→9十个阿拉伯数字;65→90号为26个大写英文字母,97→122号为26个小写英文字母,其余为一些标点符号、运算符号等。C程序设计预备知识存储容量基本单位是字节(Byte),一个字节由八位二进制数(Bit)组成。位是存储容量的最小单位。为了表示方便,还有千字节(KB)、兆字节(MB)、吉字节(GB)。换算关系:1KB=210B=1024B1MB=210KB=1024KB1GB=210MB=1024MB1GB=1024MB=1024*1024KB=1024*1024*1024B=1024*1024*1024*8bC程序设计预备知识10001000ByteBitC语言出现的历史背景C语言的特点简单的C程序介绍运行C程序的步骤与方法第一章C语言概述【本章要点】●C语言的发展及特点●C语言程序的格式●C语言程序的构成●C语言程序的基本要素●C语言程序上机调试步骤及方法【教学目标】●了解程序设计的基本知识●了解C语言的背景●掌握C语言程序的结构、领会C语言程序设计的风格●熟悉Turboc2.0编程环境§1.1C语言发展历史程序设计语言的发展机器语言汇编语言高级语言面向过程面向对象CPU指令系统,由0、1序列构成的指令码组成如:10000000加10010000减用助记符号描述的指令系统如ADDA,BSUBA,B面向机器的语言程序设计是数据被加工的过程程序设计关键是定义类,并由类派生对象C程序设计第一章C语言概述C语言发展过程产生背景产生过程时间:1972~1973地点:美国贝尔实验室目的:UNIX操作系统设计人:Ken.Thompson和Dennis.M.RitchieC标准标准C:K&R合著《TheCProgrammingLanguage》ANSIC:1983年87ANSIC:1987年1990年国际标准的ANSICC程序设计第一章C语言概述§1.2C语言的特点语言简洁、紧凑、灵活运算符和数据类型丰富程序设计结构化、模块化生成目标代码质量高可移植性好C程序设计第一章C语言概述C程序设计第一章C语言概述§1.3简单的C程序介绍例:第一个程序Hello,World!/*exampleThefirstCProgram*/#includestdio.hmain(){printf(“Hello,World!”);}注释编译预处理函数语句输出:Hello,World!/*examplecalculatethesumofaandb*/#includestdio.h/*Thisisthemainprogram*/main(){inta,b,sum;a=10;b=24;sum=add(a,b);printf(”sum=%d\n,sum);}/*Thisfunctioncalculatesthesumofxandy*/intadd(intx,inty){intz;z=x+y;return(z);}例:通过子函数求两个数的和函数语句预处理命令注释C程序设计第一章C语言概述格式特点习惯用小写字母,大小写敏感不使用行号,无程序行概念可使用空行和空格常用锯齿形书写格式C程序设计第一章C语言概述main(){inti,j,sum;sum=0;for(i=1;i10;i++){for(j=1;j10;j++){sum+=i*j;}}printf(“%d\n”,sum);}优秀程序员的素质之一:使用TAB缩进{}对齐有足够的注释有合适的空行结构特点函数与主函数程序由一个或多个函数组成必须有且只能有一个主函数main()程序执行从main开始,在main中结束,其它函数通过嵌套调用得以执行。程序语句C程序由语句组成用“;”作为语句终止符注释/**/为注释,不能嵌套不产生编译代码编译预处理命令C程序设计第一章C语言概述例:/*Thisisthemain/*ofexample1.1*/*/非法C程序设计第一章C语言概述§1.4运行C程序的步骤与方法RAMEditPreprocessCompileLinkLoadExecuteEditorfile.cCompilerLinkerCPULoaderfile.objfile.exeLibrariesSourcefile(源文件)Objectfile(目标文件)Libraryfile(库文件)Executablefile(可执行文件)C程序设计第一章C语言概述EditPreprocessCompileLinkLoadExecuteEditorfile.cCompilerLinkerCPULoaderfile.objfile.exeRAMLibrariesEdit(编辑)Programiscreatedintheeditorandstoredondisk.C程序设计第一章C语言概述EditPreprocessCompileLinkLoadExecuteEditorfile.cCompilerLinkerCPULoaderfile.objfile.exeRAMLibrariesCompile
本文标题:计算机二级C语言教程.
链接地址:https://www.777doc.com/doc-2041991 .html