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