C语言与程序设计ppt-第1章.ppt
《C语言与程序设计ppt-第1章.ppt》由会员分享,可在线阅读,更多相关《C语言与程序设计ppt-第1章.ppt(69页珍藏版)》请在三一办公上搜索。
1、2023/11/7,华中科技大学计算机学院C语言课程组,1,C语言与程序设计The C Programming Language,第1章 概述华中科技大学计算机学院曹计昌,2023/11/7,华中科技大学计算机学院C语言课程组,2,C语言程序设计-第1章 概论,C语言是目前全球流传最广、使用最多的程序设计语言。本章介绍内容为:程序设计语言与程序设计学习C语言程序设计的第一个例子。C语言的产生与发展,语言特征,标准。计算机硬件系统的组成,数的编码表示以及数在内存中的表现形式。算法的概念及其表示方法。对C语言程序设计概略性的介绍。同时介绍了N进制数,数之间转换的方法,以及原码、补码、反码及其相关运
2、算。,2023/11/7,华中科技大学计算机学院C语言课程组,3,C语言的应用领域(补充),1.操作系统设计UNIX,LINUX,WINDOWS,底层及驱动程序等.3G手机中的Android操作系统1,2层2.计算机网络与通信系统TCP/IP协议栈,路由软件,交换机软件等.3.系统软件各种DBMS,如Oracle,Sybase,MS SQL Server等;各种编译器软件.4.嵌入式系统(民用)汽车(40多个微处理器系统),手机,U盘驱动,MP3等;嵌入式操作系统;智能卡系统等.5.国防,军工,航空航天,工业控制系统中大多数软件均以C,甚至要求以标准C作为软件开发的语言工具.6.图形图像系统各
3、种图形图像处理算法,各种图形图像系统,如OpenCV,各种多媒体系统(音频、视频处理),许多游戏程序均以C作为开发工具。,2023/11/7,华中科技大学计算机学院C语言课程组,4,1.1 程序设计语言与程序设计,本门课程的基本研究对象程序设计语言(C语言),以及程序设计(包括各种算法,数据结构)了解什么是程序设计语言,了解什么是程序,了解什么是程序设计,就是了解本门课程的基本研究对象。这些对于学习语言和程序设计来讲是非常必要的。计算机语言包括机器语言、汇编语言和高级语言这三类语言。如果不涉及汇编语言,程序设计语言往往就是指高级语言。,2023/11/7,华中科技大学计算机学院C语言课程组,5
4、,从范型分类角度看程序设计语言,从程序设计语言范型分类的角度看,程序设计语言可以分为:命令型语言(Imperative Language)(因此CMU将本课程称为Principles of Imperative Computation,内容包括C0和C)函数型语言(Functional Language)面向对象程序设计语言(Object-Oriental Programming Language)以及逻辑型程序设计语言(Logic Programming Language)。在目前流行的数十种程序设计语言中,C(编译型)、Python(解释型)、FORTRAN、Pascal属于命令型语言。L
5、ISP、ML属于功能型语言。Ada、Smalltalk、C+、Java属于面向对象程序设计语言。Prolog属于逻辑型程序设计语言。,2023/11/7,华中科技大学计算机学院C语言课程组,6,程序设计语言范型,程序设计语言范型指程序设计语言的语言特征,主要涉及到与程序设计语言相关的程序设计方法和组织程序的方式。从国外教科书中关于程序设计语言范型的处理和解释来看,一般是从不同程序设计语言相互比较的角度来讨论程序设计语言范型。就某一特定的程序设计语言而言,范型的讨论则归结为与程序设计技术和程序设计风格相关的程序设计范型。,2023/11/7,华中科技大学计算机学院C语言课程组,7,高级语言产生、
6、发展、演变,高级语言将面向问题的数据类型的概念引入程序设计通过将数据分类成为字符型、整型、浮点型等不同的类型,来刻画、描述不同类型数据。高级语言产生、发展、演变,各种各样高级语言的兴起,实质上就是高级语言数据类型的不断完善、不断扩充、不断复杂多样,以及对客观实体描述能力不断增强的一个过程。,2023/11/7,华中科技大学计算机学院C语言课程组,8,什么是程序设计语言?,计算机的使用者认为程序设计语言是操纵计算机的工具;程序员则认为它是程序员之间的相互通信和交流的方法;喜欢数学和算法的人则认为它是算法的符号表示。按照Ravi Sethi的观点,一门通用的程序设计语言应该是能够为各种各样的用户都
7、能提供服务的语言。按照一般比较流行的观点,可以认为:程序设计语言是由一些符号所构成,这些符号被用于定义、组织、并完成各种各样的计算任务。,2023/11/7,华中科技大学计算机学院C语言课程组,9,程序设计语言的定义,人类所使用的语言称为自然语言。它是以语音为物质外壳、以词汇为建筑材料、以语法为结构规律而构成的体系。与此类似,可以将程序设计语言定义为:程序设计语言是以具有特定语义的符号为基本构成单位、以语法为程序构成规律、专门用于定义、组织、并完成各种各样的计算任务而形成的体系。,2023/11/7,华中科技大学计算机学院C语言课程组,10,程序与程序设计,程序是用程序设计语言表示的计算机解题
8、算法或计算机解题任务。程序设计是将解题任务转变成程序的过程。Nell Dale等人指出:程序就是要求计算机执行的指令序列。程序设计就是如何计划、安排计算机必须遵循的操作步骤及顺序的过程。,2023/11/7,华中科技大学计算机学院C语言课程组,11,1.2 学习C语言程序设计的第一个例子,例1.1 输入自己的名字的汉语拼音,要计算机问候自己并且输出这是自己学习C语言的第一个程序的句子。,2023/11/7,华中科技大学计算机学院C语言课程组,12,例1.1的程序,#include stdio.hvoid show(char str);void main(void)char name20;pri
9、ntf(Input your name please!n);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);源程序ex1_1.c,2023/11/7,华中科技大学计算机学院C语言课程组,13,操作例1.1的程序(参考p2 图1.1),双击Visual C+6.0(即VC 6.0)图标打开VC 6.0 选File,再选下拉菜单中的New,在New窗口中的Project页(缺省)中选
10、择Win32 Console Application(选中变兰),并且在Project Name编辑框中输入工程名,如:Myproject。再单击OK按钮,在打开的窗口中单击An empty project(缺省),再单击Finish按钮。在打开的窗口中单击OK按钮。此时VC将创建一个空的工程。单击FileView,选中Source Files(变成兰色),选File,再选下拉菜单中的New,单击C+Source File(变成兰色),在File编辑框中输入hello.c,2023/11/7,华中科技大学计算机学院C语言课程组,14,操作例1.1的程序,点开Source Files目录,可以看
11、见hello.c文件,双击hello.c,在右侧文本编辑区域输入例1.1中的源程序。选Build,再选下拉菜单中的Rebuild All。此时VC编译器将对源程序进行编译、链接,并且生成名字为Myproject.exe的可执行文件。选Build,再选Execute Myproject.exe运行Myproject.exe程序,2023/11/7,华中科技大学计算机学院C语言课程组,15,例1.1的程序的结果,人机交互与运行结果如下:Input your name please!Jichang Cao(此为输入信息)Hello Jichang Cao!This is the first prog
12、ram for Jichang Cao to learn C programming!,2023/11/7,华中科技大学计算机学院C语言课程组,16,#include stdio.h)/*文件包含编译预处理命令*/void show(char str);)/*函数原型说明语句*/void main(void)/*主函数*/char name20;)/*声明语句*/printf(“Input your name please!n”);)/*输出提示*/gets(name);)/*读取用户名字*/printf(Hello%s!n,name);show(name);/*调用show函数*/void
13、show(char str)/*show函数的定义*/printf(This is the first program for%s to learn C programming!n,str);直接打开ex1_1.c,里面有详细注释源程序ex1_1.c,1.2.2 解释分析第一个C程序,2023/11/7,华中科技大学计算机学院C语言课程组,17,1.3 C语言的产生、发展与语言特征1.3.1 C语言的产生与发展,FORTRAN(1957年)ALGOL 60(1960年)传统C或K&R C(1978)CPL(1963年)ANSI C(1989,美国国家标准)BCPL(1967年)标准 C(ISO
14、/IEC 9899:1990,俗称C90)B(1969年-1970年)标准 C(ISO/IEC 9899:1999俗称C99)C(1971年-1973年)最新标准 C(ISO/IEC 9899:2011俗称C11)图1.1 C语言的继承、产生与发展历程,2023/11/7,华中科技大学计算机学院C语言课程组,18,1.3.2 C语言的标准化,以1978年K&R C为代表的C语言被称为传统的C语言 1989年底公布美国第一个C语言的国家标准ANSI 89,简称C89 1990年,国际标准化组织ISO将其接受为C语言的国际标准,称为ISO/IEC 9899-1990。它是C语言的第一个国际标准,也
15、称为标准C,简称C90。ISO/IEC在1995年公布了一个新的C语言标准草案,称为C95,供讨论和征求意见。接着ISO/IEC在1998年又公布新标准的草案WG14/N843和WG14/N897,进一步就C语言标准的完善征求意见。ISO/IEC于1999年12月公布了C语言国际标准ISO/IEC 9899:1999(E)。它是C语言国际标准9899的第二版。ISO/IEC于2011年12月公布了C语言国际标准ISO/IEC 9899:2011。它是C语言国际标准9899的第三版。,2023/11/7,华中科技大学计算机学院C语言课程组,19,1.3.3 C语言的特征,语言简洁紧凑目标代码质量
16、高语言表达能力强 流程控制结构化 弱类型“中级语言”特性 书写自由、使用灵活 可移植性好,2023/11/7,华中科技大学计算机学院C语言课程组,20,1.4 计算机系统及内存编址,一台计算机硬件系统由CPU、内存、外存、其他I/O设备和总线组成。CPU 又称为中央处理器。CPU又是由运算器、控制器、指令计数器、内部寄存器、标志寄存器等部件组成。内存又称为内存储器,用以存放程序和数据。总线是用以连接计算机各个部件的线路,它完成各个部件之间的信息传送。根据传送信号种类的不同,总线又分成地址总线、数据总线和控制总线。,2023/11/7,华中科技大学计算机学院C语言课程组,21,内存编址,内存容量
17、,字长,内存以字节为单位线性连续编址。即按照0 x0000,0 x0001,0 x0002,的方式;从低地址端开始向高地址端为每一个内存字节进行顺序连续编号。1024个字节称为1K字节,1024K字节称为1M字节,1024M字节称为1G字节。1024G字节称为1T字节。CPU数据总线的宽度(bit数)称为计算机的机器字长。对位,机器字长为字节;对位,机器字长为字节;对位,机器字长为字节。,2023/11/7,华中科技大学计算机学院C语言课程组,22,外存和其他I/O设备,外存指计算机的外存储器。常用的硬盘、软盘、U盘、光盘、以及磁盘阵列都属于外存。外存存储的信息在断电之后仍然能够保存,这是外存
18、的第一个特点。其他I/O设备:键盘,显示器,打印机,绘图仪,2023/11/7,华中科技大学计算机学院C语言课程组,23,1.5 数和字符的编码表示,1.5.1 进位计数制数量用于描述事物的多少。数目则是表示事物的个数。而表示数目的符号则是数字,往往简称为数。一个数在不同的进位制下具有不同的表示,因而形成数制的概念。数制是关于记数的法则。根据进位基数的不同,常用的有十进制、二进制、八进制、十六进制等。,2023/11/7,华中科技大学计算机学院C语言课程组,24,1.二进制数及其运算,1)二进制数二进制数是由0和1组成的数字串。对于一个二进制数来讲,它具有两个下面基本特点:(1)只有0和1两个
19、不同的数字符号。(2)逢2进位1。,2023/11/7,华中科技大学计算机学院C语言课程组,25,二进制数的权值,对由进位计数制描述的数来讲,一个数字符号在该数的不同的数位具有不同的权(也称为权值或基值),因此所表现的值是不一样的。二进制数也是如此。二进制数中不同的数位所具有的权值见教材表1.1 二进制数的权值.二进制数整数(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
20、+12-4=(11.8125)10,2023/11/7,华中科技大学计算机学院C语言课程组,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-1=1 向高位借位1,2023/11/7,华中科技大学计算机学院C语言课程组,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
21、所以,(10110111)2+(01011011)2=(100010010)2,2023/11/7,华中科技大学计算机学院C语言课程组,28,二进制减法举例,例1.3 二进制减法举例,求(10110111)2-(01011011)2的差。借位 1 0 1 1 0 0 01 0 1 1 0 1 1 1-0 1 0 1 1 0 1 1 0 1 0 1 1 1 0 0所以,(10110111)2-(01011011)2=(01011100)2,2023/11/7,华中科技大学计算机学院C语言课程组,29,2.八进制数及其运算,八进制数是由0到7组成的数字串。八进制数具有如下两个基本特点:(1)只有0
22、,1,2,3,4,5,6,7八个不同的数字符号。(2)逢8进位1。在C语言中,通过加前导零的方式来表示一个数是八进制数。如:0136表示的是八进制数(136)8。,2023/11/7,华中科技大学计算机学院C语言课程组,30,3十六进制数及其运算,将4位二进制数组合成为十六进制数。与二进制、八进制数类似,十六进制数也有两个基本特点:(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的方式来表示
23、一个数是十六进制数。如:0 x2d5b表示的是十六进制数(2d5b)16。0XABCD也是合法的十六进制数。,2023/11/7,华中科技大学计算机学院C语言课程组,31,表1.2十六进制的16个不同数字符号与十进制、八进制、二进制数之间的关系,2023/11/7,华中科技大学计算机学院C语言课程组,32,十六进制加减法运算举例,例1.5 十六进制加减法运算举例,求0XABCD与(2d5b)16的和,以及0XABCD与(2d5b)16的差。解 0XABCD+(2d5b)16=0XD928 0XABCD-(2d5b)16=0 x7E72,2023/11/7,华中科技大学计算机学院C语言课程组,3
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 程序设计 ppt

链接地址:https://www.31ppt.com/p-6503749.html