C程序设计的基本概念.ppt_第1页
C程序设计的基本概念.ppt_第2页
C程序设计的基本概念.ppt_第3页
C程序设计的基本概念.ppt_第4页
C程序设计的基本概念.ppt_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

西华大学电气信息学院 郑海春,1,第一章 C程序设计的基本概念,本章内容 了解C语言的发展、特点以及简单C程序的构成,并熟悉C开发环境。 重点掌握C程序的编辑、编译、连接和运行,学会调试程序。 掌握算法的基本概念,并学会利用流程图来描述算法。,西华大学电气信息学院 郑海春,2,1.1 计算机语言及其发展 1.2 程序设计方法 1.3 C语言的简史及特点 1.4 简单的C程序介绍 1.5 程序的编辑、编译、连接和运行 1.6 算法的概念和特点 1.7 算法的流程图表示方法 1.8 习题,本 章 目 录,西华大学电气信息学院 郑海春,3,1.1 计算机语言及其发展,正象人与人之间的交流需要自然语言一样,人与计算机之间的交流也需要语言,我们把这种语言称之为计算机语言,C语言是计算机语言的一种。,西华大学电气信息学院 郑海春,4,机器语言,汇编语言,高级语言,低级语言,二进制指令序列,用助记符(如ADD),接近自然语言,计算机语言的发展,(贴近硬件),(远离硬件),西华大学电气信息学院 郑海春,5,1.2 程序设计方法,结构化程序设计方法:实质是将一个复杂的应用程序划分为若干个模块(函数),而每一个模块都是由三种“基本结构”组成的,包括:顺序结构、选择结构和循环结构。在编写程序代码时,各模块可独立编写,最后统一为一个整体(通过函数间调用)。 特点概括:自顶向下;逐步细化;模块化设计;结构化编码。,打扫教室卫生,地面,门窗,桌椅,扫地,拖地,西华大学电气信息学院 郑海春,6,面向对象程序设计方法:把我们所处的世界看成是由一组彼此相关并互通信息的实体(即对象)组成的。对象具有属性,也可以进行操作,即对象具有方法。面向对象的程序设计就是通过对象之间的消息通信(即函数调用),驱动对象执行一系列操作,从而完成某一任务的程序设计。 特点概括:封装性、继承性和多态性。,西华大学电气信息学院 郑海春,7,1.3 C语言的简史及特点,C语言简史:C语言是贝尔实验室的Dennis Ritchie在1972年开发的,为的是设计UNIX操作系统。C语言之所以叫C语言,是因为之前有个叫B的语言,B语言由Ken Thompson开发。C语言的标准化主要经历了以下过程:,西华大学电气信息学院 郑海春,8,【K&R C】1978年,Dennis Ritchie和Brian Kernighan合作推出了The C Programming Language的第一版,书末的参考指南给出了当时C语言的完整定义,成为那时C语言事实上的标准,人们称之为K&R C。 【C89 (ANSI C)】随着C语言在多个领域的推广,一些新的特性不断被各种编译器实现并添加进来。1983年,美国国家标准化协会(ANSI)负责起草关于C语言的标准草案。1989年,草案被ANSI正式通过成为美国国家标准,被称为 C89标准。 【C90 (ISO C)】1990年,国际标准化组织ISO批准了ANSI C成为国际标准。于是ISO C(又称C90)诞生了。除了标准文档在印刷编排上的某些细节不同外,ISO C(C90)和ANSI C(C89)在技术上完全一样。 【C99】1999年,ANSI和ISO通过了最新版本的C语言标准和技术勘误文档,该标准被称为C99。这基本上是目前关于C语言的最新、最权威的定义了。 现在,各种C编译器都提供了C89(C90)的完整支持,对C99还只提供了部分支持。本课程以C89(C90)为基础。,西华大学电气信息学院 郑海春,9,C语言特点: 1. 语言简洁、紧凑,使用方便、灵活 2. 丰富的运算符和数据类型 3. 语法限制不太严格,程序设计自由度大 4. 可以直接访问物理地址(直接对硬件进行操作),能进行位(bit)操作,能实现汇编语言的大部分功能,使其能够胜任开发操作系统的工作。C语言兼有高级语言和低级语言的许多优点,因此既可以用来编写应用程序,又可以用来开发系统程序。 5. 生成的目标代码质量高,程序运行效率高。对于一个应用程序,如果生成的目标代码质量低,则系统开销大,无实用性。实验表明,C语言编写的程序其执行效率仅比汇编语言编写的代码低10%20%,但C语言的可读性和易维护性却大大高于汇编语言。这些特点使C语言特别适合应用于系统资源有限的应用场合,如嵌入式系统。 6. 可移植性好。C语言编写的程序几乎可以在大多数通用的计算机软硬件平台上不加修改地运行。,西华大学电气信息学院 郑海春,10,1.4 简单的C程序介绍,/*1_1.c*/ #include “stdio.h“ void main() printf(“This is a c program.n“); ,西华大学电气信息学院 郑海春,11,/*1_2.c*/ #include “stdio.h“ void main() int a,b,sum; /*这是变量定义部分*/ a=123;b=456; /*以下为执行语句部分*/ sum=a+b; printf(“sum is %dn“,sum); ,西华大学电气信息学院 郑海春,12,/*1_3.c*/ #include “stdio.h“ int max(int x,int y) /*定义max函数*/ int z; if(xy) z=x; else z=y; return(z); /*将z的值返回,通过max带回调用处*/ void main() /*主函数*/ int a,b,c; /*声明部分,定义变量*/ scanf(“%d,%d“, /*输出c的值*/ ,西华大学电气信息学院 郑海春,13,从上面的例子可以看出:,C程序是由函数构成的:一个C源程序必须有、且只有一个main函数,作为程序的入口。其它函数可以是系统提供的库函数(例如printf和scanf函数),也可以是用户自定义函数(例如,1_3.c中的max函数)。 一个函数由两部分组成:“函数头”和“函数体”。 函数体分定义和执行两部分:可执行语句数量不限,但必须放在定义语句后面。,西华大学电气信息学院 郑海春,14,C程序书写格式自由:一行可以写多条语句,一条语句也可以分写在多行上。 每条语句的最后必须有一个分号:分号是C语句的必要组成部分,而不是语句间的分隔符。 C语言本身没有输入输出语句:输入输出的操作是由库函数scanf和printf等函数来完成的。 /*/为C程序的注释:注释符号“/*”和“*/”必须成对出现,且不允许出现嵌套情况。“/”和“*”之间不允许有空格。注释仅供人阅读程序使用,是程序的可选部分。C编译器把所有注释都视为空白。,西华大学电气信息学院 郑海春,15,1.5 程序的编辑、编译、连接和运行,编辑: 编辑是将C源程序输入到计算机中,生成扩展名为.c的源文件的过程。 编译: C程序的实现,必须要使用某种C语言的编译器对源程序进行编译,编译后会生成一个扩展名为.obj的目标文件,该文件为源文件的机器语言指令代码。 连接: C程序通常是通过连接一个或几个目标文件与一个或几个库文件(.lib)而创建的。一个C的源程序经过编译和连接后生成扩展名为.exe的可执行文件。 运行: 执行该可执行文件即可。,西华大学电气信息学院 郑海春,16,西华大学电气信息学院 郑海春,17,Visual C+编译器,特点:Visual C+ 6.0 是Windows平台下广泛使用的C/C+程序开发环境。具有人性化的编辑界面和方便的程序调试功能。它向用户提供了一个集成环境,把程序的编辑、编译、连接和运行等操作全部集中在一个界面上进行,使用十分方便。,西华大学电气信息学院 郑海春,18,使用方法: 1. 启动Visual C+ 6.0集成开发环境,西华大学电气信息学院 郑海春,19,2. 选择File菜单下的New菜单项,弹出New对话框,西华大学电气信息学院 郑海春,20,3. 单击OK按钮,出现C源程序代码编辑窗口,西华大学电气信息学院 郑海春,21,4. 编辑源程序,并保存,西华大学电气信息学院 郑海春,22,5. 编译、连接和运行:,Compile,Build,Execute,西华大学电气信息学院 郑海春,23,1.6 算法的概念和特点,算法的概念:算法是指为解决某个特定问题而采取的确定且有限的步骤。 算法的特点: 有穷性:一个算法应包含有限个操作步骤。 确定性:算法中每一条指令必须有确切的含义,不能有二义性,对于相同的输入必须能得出相同的执行结果。 可行性:算法中指定的操作,都可以通过已经实现的基本运算执行有限次后实现。 有零个或多个输入。 有一个或多个输出。 有效性。算法中的每一个步骤都应当能有效地执行,并得到确定的结果。,西华大学电气信息学院 郑海春,24,1.7 算法的流程图表示方法,传统的流程图:,西华大学电气信息学院 郑海春,25,N-S流程图:流程图完全去掉了流程线,算法的每一步都用一个矩形框来描述,把一个个矩形框按执行的次序连接起来就是一个完整的算法描述。这种流程图用两位学者的名字的第一个英文字母命名,称为N-S流程图。,西华大学电气信息学院 郑海春,26,两种流程图对结构化程序设计中三种“基本结构”的描述方法: 顺序结构,传统流程图,N-S流程图,西华大学电气信息学院 郑海春,27,2. 选择(分支)结构,传统流程图,N-S流程图,西华大学电气信息学院 郑海春,28,循环结构 (1) 当型循环(先判断,后执行,最少0次),传统流程图,N-S流程图,西华大学电气信息学院 郑海春,29,循环结构 (2) 直到型循环(先执行,后判断,最少1次),传统流程图,N-S流程图,西华大学电气信息学院 郑海春,30,算法流程图举例: 1.有以下流程图,请根据流程图写出C语言。,if (x0) x=-x;,西华大学电气信息学院 郑海春,31,算法流程图举例: 2.有以

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论