C语言程序设计ppt课件 第1章.ppt
《C语言程序设计ppt课件 第1章.ppt》由会员分享,可在线阅读,更多相关《C语言程序设计ppt课件 第1章.ppt(74页珍藏版)》请在三一办公上搜索。
1、2022/11/16,华中科技大学计算机学院,1,C语言程序设计,The C Programming Language,华中科技大学计算机学院曹计昌,2022/11/16,华中科技大学计算机学院,2,第0章 C语言程序设计课程安排,一.教材(Textbook)曹计昌,卢萍,李开. C语言程序设计. 科学出版社,2008.2 李开,卢萍,曹计昌. C语言实验与课程设计.科学出版社,2011.3 二. 参考书目(Reference Books)(1) Brian W. Kernighan,Dennis M. Ritchie. THE C PROGRAMMING LANGUAGE. 清华大学出版社.
2、 PRENTICE HALL(注:该书已有中译本)(2)曹化工 秦友淑. C语言程序设计典型题解析及自测试题. 西北工业大学出版社(3)秦友淑 曹化工. C语言程序设计教程(第二版). 华中科技大学出版社,2002年12月,2022/11/16,华中科技大学计算机学院,3,三.ISO的C语言标准和相关资料(ISO/IEC C Standard and Other Materials)(C语言标准,网站等资料),(1)最新标准:ISO/ IEC 9899: 1999 (E)ISO (the International Organization for Standardization) and I
3、EC (the International Electrotechnical Commission)(2)C始于:”The C Reference Manual” by Dennis M. Ritchie, a version of which was published in The C Programming Language by Brian W. Kernighan and Dennis M. Ritchie, Prentice-Hall, Inc., (1978). Copyright owned by ATn843,n897,n2794等C语言方面的相关标准资料,文档,网页和网站,
4、2022/11/16,华中科技大学计算机学院,4,三.本课程提供的其它资料,(1) C语言程序设计课程课件ppt(2) C语言标准,网站等资料(前页已经介绍)(3) C语言程序设计(中文版)源程序(4) C语言课程设计2010(09级)(5) 2010级ACM班C语言程序设计课程资料(6)汉字库-16乘16点阵(7) Turbo C 2.0 函数中文说明大全,2022/11/16,华中科技大学计算机学院,5,2010级ACM班C语言程序设计课程资料,(1) The C Programming Language-ppt(2) The C Programming Language,2nd text
5、 book(3) 3 The C Programming Language-source files(4) C程序设计语言英文版第2版课后习题与答案(5) C语言课程设计2011ACM班(6) 教学日历-Syllabus of The C Programming Language,2022/11/16,华中科技大学计算机学院,6,(4)关于C语言的圣经”一书的作者,即:K&R C,即C创始人 “The C Programming Language”,“C语言的圣经”一书的作者Dennis M. Ritchie received Bachelors and advanced degrees fr
6、om Harvard University, where as an undergraduate I concentrated in Physics and as a graduate student in Applied Mathematics. The subject of my 1968 doctoral thesis was subrecursive hierarchies of functions.Brian W. Kernighan is head of the Computing Structures Research Department, Bell Laboratories,
7、 Murray Hill, New Jersey. He received a B.A.Sc in engineering physics from the University of Toronto in 1964, and a Ph.D. in electrical engineering from Princeton University in 1969.,2022/11/16,华中科技大学计算机学院,7,学时安排,考核方式,四.学时安排(Arrangement of the houses)讲课:52+4学时 实验 24 hours五.考核方式:(Examination) 闭卷笔试 评分
8、: 百分制 其中:考试成绩:50% 平时成绩:50%(含实验)(作业,实验所占比例要与其他老师商量) .注: 有5分内容属教材中未讲内容,目的是鼓励自学.,2022/11/16,华中科技大学计算机学院,8,六.学习方法 (Study methods),(1) 课前要预习,课堂要专心,课后要复习(2) 通过预习、听课、复习、以及作业和实验,确保消化课堂和教材的相关内容。(3) 要学会自己看书、理解,逐步减少对老师的依赖,培养良好的自学能力。同时,由于学时紧张,假期的冲击,讲课速度会逐步加快到一个合适的水平,以保证教学计划的完成,因此课前课后一定研读教材。(4) 认真、独立的完成作业。(5) 要重
9、视实验。上机实验前要求预先编好有关程序,把上机的重点放到程序的编辑、修改、编译、链接、跟踪、调试程序方面来。放到观察程序运行过程中的中间结果和运行完毕后的运行结果方面来。最终使自己的大脑变成一台“计算机”,能够在脑袋中运行自己的程序,判断各种情况下程序的走向等等。,2022/11/16,华中科技大学计算机学院,9,七定位问题(Orientation),培养的学生应该是将来能够与MicroSoft的程序员,软件大师们一争高下的人才,应该是有朝一日能够根据实际应用需求,发明创造新型计算机程序设计语言的人才。因此要高标准、严要求。不仅要掌握C的语法、语义,学好用好C;而且要了解各种语言成分产生、流传
10、、延续、发展的深层次原因和需求背景。为学习后续课程,为将来能够熟练的用C写系统软件、底层软件、共享软件奠定坚实的语言基础。,2022/11/16,华中科技大学计算机学院,10,八.建议和意见,欢迎就教学方法,讲课速度,教学内容的深度和广度提出好的建议和意见,以便把本门课程的教学组织实施好。,2022/11/16,华中科技大学计算机学院,11,C语言程序设计-第1章 概论,C语言是目前全球流传最广、使用最多的程序设计语言。本章介绍内容为:学习C语言程序设计的第一个例子。C语言的产生与发展,C语言的语言特征,C语言的标准。计算机硬件系统的组成,数的编码表示以及数在内存中的表现形式。算法的概念及其表
11、示方法。对C语言程序设计作了概略性的介绍。同时介绍了N进制数,数之间转换的方法,以及原码、补码、反码及其相关运算。,2022/11/16,华中科技大学计算机学院,12,C语言的应用领域,1. 操作系统设计UNIX,LINUX,WINDOWS底层及驱动等.2. 计算机网络与通信系统TCP/IP协议栈,路由软件,交换机软件等.3. 系统软件各种DBMS,如Oracle,Sybase,MS SQL Server等;各种编译器软件.4. 嵌入式系统(民用)汽车(40多个微处理器系统),手机,U盘驱动,MP3等;嵌入式操作系统;智能卡系统等.5. 国防,军工,航空航天,工业控制系统均以C作为软件开发的主
12、流语言.,2022/11/16,华中科技大学计算机学院,13,1.1 学习C语言程序设计的第一个例子,例1.1 输入自己的名字的汉语拼音,要计算机问候自己并且输出这是自己学习C语言的第一个程序的句子。,2022/11/16,华中科技大学计算机学院,14,例1.1的程序,#include stdio.hvoid show(char str);void main(void) char name20; printf(Input your name please!n); gets(name); printf(Hello %s!n,name); show(name);void show(char str
13、) printf(This is the first program for %s to learn C programming!n,str);,2022/11/16,华中科技大学计算机学院,15,操作例1.1的程序,进入编辑按F10功能键激活菜单用光标左右移动键选File 选New 然后回车进入编辑状态。编辑将上面的程序从键盘输入到计算机中完成源程序的编辑 F2保存.编译链接: 按F10功能键激活菜单, 选Run 然后回车。此时源程序会被编译形成.OBJ文件、再通过链接形成.EXE文件,最后运行该.EXE文件。过程: .C源文件 .OBJ文件 .EXE文件运行得到结果观看结果: Alt-F5
14、,2022/11/16,华中科技大学计算机学院,16,例1.1的程序的结果,人机交互与运行结果如下:Input your name please!Jichang Cao(此为输入信息)Hello Jichang Cao!This is the first program for Jichang Cao to learn C programming!,2022/11/16,华中科技大学计算机学院,17,#include stdio.hvoid show(char str);void main(void) char name20; printf(Input your name please!n);
15、 gets(name); printf(Hello %s!n,name); show(name);void show(char str) printf(This is the first program for %s to learn C programming!n,str);,1.1.2 解释分析第一个C程序,2022/11/16,华中科技大学计算机学院,18,1.2 C语言的产生、发展与语言特征1.2.1 C语言的产生与发展,FORTRAN(1957年)ALGOL 60(1960年) 传统C或K&R C(1978)CPL(1963年) ANSI C(1989,美国国家标准)BCPL(196
16、7年) 标准 C(ISO/IEC 9899:1990,俗称C90)B(1969年-1970年) 最新标准 C(ISO/IEC 9899:1999俗称C99)C(1971年-1973年)图1.1 C语言的继承、产生与发展历程,2022/11/16,华中科技大学计算机学院,19,1.2.3 C语言的语言特征,语言简洁紧凑目标代码质量高语言表达能力强 流程控制结构化 弱类型 “中级语言”特性 书写自由、使用灵活 可移植性好,2022/11/16,华中科技大学计算机学院,20,1.3 计算机硬件系统,一台计算机硬件系统由CPU、内存、外存、其他I/O设备和总线组成。见图1.2 计算机硬件系统组成的示意
17、图CPU 又称为中央处理器 。 CPU又是由运算器、控制器、指令计数器、内部寄存器、标志寄存器等部件组成。 内存又称为内存储器,用以存放程序和数据。总线是用以连接计算机各个部件的线路,它完成各个部件之间的信息传送。根据传送信号种类的不同,总线又分成地址总线、数据总线和控制总线。,2022/11/16,华中科技大学计算机学院,21,内存编址,内存容量,字长,内存以字节为单位线性连续编址。即按照0 x0000,0 x0001,0 x0002,的方式;从低地址端开始向高地址端为每一个内存字节进行顺序连续编号。1024个字节称为1K字节,1024K字节称为1M字节,1024M字节称为1G字节。1024
18、G字节称为1T字节。 CPU数据总线的宽度(bit数)称为计算机的机器字长。对位,机器字长为字节;对位,机器字长为字节;对位,机器字长为字节。,2022/11/16,华中科技大学计算机学院,22,外存和其他I/O设备,外存指计算机的外存储器。常用的硬盘、软盘、U盘、光盘、以及磁盘阵列都属于外存。外存存储的信息在断电之后仍然能够保存,这是外存的第一个特点。 其他I/O设备 :键盘 ,显示器 ,打印机 ,绘图仪,2022/11/16,华中科技大学计算机学院,23,1.4 数和字符的机器码表示,1.4.1 进位计数制数量用于描述事物的多少。数目则是表示事物的个数。而表示数目的符号则是数字,往往简称为
19、数。一个数在不同的进位制下具有不同的表示,因而形成数制的概念。数制是关于记数的法则。根据进位基数的不同,常用的有十进制、二进制、八进制、十六进制等。,2022/11/16,华中科技大学计算机学院,24,1. 二进制数及其运算,1)二进制数二进制数是由0和1组成的数字串。对于一个二进制数来讲,它具有两个下面基本特点:(1) 只有0和1两个不同的数字符号。(2) 逢2进位1。,2022/11/16,华中科技大学计算机学院,25,二进制数的权值,对由进位计数制描述的数来讲,一个数字符号在该数的不同的数位具有不同的权(也称为权值或基值),因此所表现的值是不一样的。二进制数也是如此。二进制数中不同的数位
20、所具有的权值见教材图1.3. 二进制数整数(10110110)2的值是:(10110111)2=127+026+125+124+023+122+121+120=(183)10而带二进制小数的二进制数(1011.1101)2的值是:(1011.1101)2=123+022+121+120+12-1+12-2+02-3+12-4=(11.8125)10,2022/11/16,华中科技大学计算机学院,26,2)二进制数的运算,二进制加法规则有四条: 0+0=0 0+1=1+0=1 1+1=0 向高位进位1 1+1+1=1 向高位进位1二进制减法规则也有四条: 0-0=0 1-1=0 1-0=1 0-
21、1=1 向高位借位1,2022/11/16,华中科技大学计算机学院,27,二进制加法举例,例1.2 二进制加法举例,求(10110111)2+(01011011)2的和。1 0 1 1 0 1 1 1+ 0 1 0 1 1 0 1 1进位 1 1 1 1 1 1 1 1 0 0 0 1 0 0 1 0所以,(10110111)2+(01011011)2=(100010010)2,2022/11/16,华中科技大学计算机学院,28,二进制减法举例,例1.3 二进制减法举例,求(10110111)2-(01011011)2的差。借位 1 0 1 1 0 0 01 0 1 1 0 1 1 1- 0
22、1 0 1 1 0 1 1 0 1 0 1 1 1 0 0所以,(10110111)2-(01011011)2=(01011100)2,2022/11/16,华中科技大学计算机学院,29,2. 八进制数及其运算,八进制数是由0到7组成的数字串。八进制数具有如下两个基本特点:(1) 只有0,1,2,3,4,5,6,7八个不同的数字符号。(2) 逢8进位1。在C语言中,通过加前导零的方式来表示一个数是八进制数。如:0136表示的是八进制数(136)8。,2022/11/16,华中科技大学计算机学院,30,3十六进制数及其运算,将4位二进制数组合成为十六进制数。与二进制、八进制数类似,十六进制数也有
23、两个基本特点:(1)只有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F十六个不同的数字符号(AF也可以采用小写英文字母af)。这十六个数字符号与二进制、八进制、十进制数之间的关系如表1.2所示。(2)逢16进位1。在C语言中,通过加前导0 x或前导0X的方式来表示一个数是十六进制数。如:0 x2d5b表示的是十六进制数(2d5b)16。0XABCD也是合法的十六进制数。,2022/11/16,华中科技大学计算机学院,31,表1.2十六进制的16个不同数字符号与十进制、八进制、二进制数之间的关系,2022/11/16,华中科技大学计算机学院,32,十六进制加减法运算举例,例1.5
24、 十六进制加减法运算举例,求0XABCD与(2d5b)16的和,以及0XABCD与(2d5b)16的差。解 0XABCD+(2d5b)16=0XD928 0XABCD-(2d5b)16=0 x7E72,2022/11/16,华中科技大学计算机学院,33,1.4.2 进位制数之间的转换,1. 十进制整数转换为二进制整数,2022/11/16,华中科技大学计算机学院,34,进位制数之间的转换,2. 二进制整数转换为十进制整数用按权展开的方式即可求得该数的十进制表示。例1.7 二进制数(10111101)2转换为十进制数。解 (10111101)2 =127+026+125+124+123+122+
25、021+120=128+32+16+8+4+1=(189)10,2022/11/16,华中科技大学计算机学院,35,进位制数之间的转换,3. 二进制整数转换为八进制整数二进制数转换为八进制数可以采用3位分组法。从整数部分的最低位起,每3位分成1组,高位部分不足3位则通过加前导0的方式补足3位,然后把每3位二进制数用对应的八进制数来表示即可。例1.8 将二进制整数(10111101)2转换为八进制整数。解 (10111101)2=(010 111 101)2= (275)8,2022/11/16,华中科技大学计算机学院,36,进位制数之间的转换,4. 八进制整数转换为二进制整数八进制整数转换为二
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言程序设计ppt课件 第1章 语言程序设计 ppt 课件
链接地址:https://www.31ppt.com/p-1375818.html