第1部分C语言概述及组成纪钢ppt课件_第1页
第1部分C语言概述及组成纪钢ppt课件_第2页
第1部分C语言概述及组成纪钢ppt课件_第3页
第1部分C语言概述及组成纪钢ppt课件_第4页
第1部分C语言概述及组成纪钢ppt课件_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

1、主讲:纪主讲:纪 钢钢 教授教授重庆理工大学计算机学院重庆理工大学计算机学院课程要求课程目的:课程目的: 正确了解和运用正确了解和运用 C言语的根本数据构造和语法言语的根本数据构造和语法 运用构造化程序的思想去阅读和设计程序运用构造化程序的思想去阅读和设计程序 完成构造化程序的编写、调试的根本训练完成构造化程序的编写、调试的根本训练课程根本要求课程根本要求: 学会运用学会运用C言语编译系统,学会上机调试言语编译系统,学会上机调试C程序程序 C言语概念和方法要清楚,书上的例子要明白言语概念和方法要清楚,书上的例子要明白 掌握程序设计的普通方法和思想、常用算法掌握程序设计的普通方法和思想、常用算法

2、 仔细完成作业仔细完成作业考试方法及要求考试方法及要求 一致考试一致考试:占占80% 作业及上机实验作业及上机实验:占占20% 上课、组织纪律,迟到上课、组织纪律,迟到1次扣次扣1分分,旷课旷课1次扣次扣3分分 课程特点课程特点 C是根底:接触各种数据类型及表达式、根本语句语是根底:接触各种数据类型及表达式、根本语句语法、常用函数法、常用函数 C程序设计:程序设计: 根本算法和案例程序的交融根本算法和案例程序的交融后续课程后续课程 C+程序设计、面向对象程序设计、数据构造与算法程序设计、面向对象程序设计、数据构造与算法分析、操作系统分析、操作系统(UNIX)学什么学什么 言语及程序设计概述言语

3、及程序设计概述 数据类型、运算符与表达式数据类型、运算符与表达式 简单程序设计简单程序设计(顺序、选择、循环构造程序设计顺序、选择、循环构造程序设计 数组数组 函数函数 指针指针 构造体与共用体构造体与共用体 文件文件教学方法教学方法如何教如何教实际课:重点讲授主要算法和程序案例实际课:重点讲授主要算法和程序案例实验课:验证式实验教学,实现算法程序实验课:验证式实验教学,实现算法程序习题课:分析复杂程序案例习题课:分析复杂程序案例学习方法学习方法如何学如何学课前预习:书中主要语句、函数、例题课前预习:书中主要语句、函数、例题 课后复习:教案中重点例题课后复习:教案中重点例题仔细独立完成作业仔细

4、独立完成作业上机前必需完成根本程序上机前必需完成根本程序多读、多看、多写程序多读、多看、多写程序第一章第一章 C言语概述言语概述C C言语开展历史言语开展历史C C言语特点言语特点C C程序格式和构造特点程序格式和构造特点C C程序上机步骤程序上机步骤算法及表示算法及表示1.1 C言语开展历史程序设计言语的开展机器言语汇编言语高级言语面向过程面向对象CPU指令系统,由0、1序列构成的指令码组成如:10000000 加 10010000 减用助记符号描画的指令系统如 ADD A, B面向机器的言语程序设计是数据被加工的过程客观世界可以分类,对象是类的实例对象是数据和方法的封装对象间经过发送和接受

5、音讯发生联络程序设计关键是定义类,并由类派生对象冯.诺依曼构造:计算机运算器控制器存储器主机:I/O设备:键盘、显示器等中央处置器CPU C言语程序设计 第一章 C言语概述C言语是在研制言语是在研制UNIX操作系统过程中诞生,伴随着操作系统过程中诞生,伴随着UNIX操作系统的开展而流行操作系统的开展而流行ALGOL 60 B言语言语 C言语言语(UNIX) ANSI C(1983)目前最流行的言语有以下几种:目前最流行的言语有以下几种: Microsoft C 或称或称 MS C Borland Turbo C 或称或称 Turbo C 本教材选用本教材选用 AT&T C Turbo

6、C2.0 1989年年 Turbo C+(3.0) 1991年年 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96AdaALGOL60ALGOL68PascalModula-2CPLBCPL BCC+JavaLISPPROLOGCOBOLFORTRAN77FORTRANPL/1Simula 67Smalltalk 80BASICANSI-BASICQBASIC VBFORTRAN90C言语开展过程产生背景产生过程时间:19721973地点:美国贝尔实验室目的:UNIX操作系统设计人: Ken.Thompso

7、n和Dennis.M.RitchieC规范规范C: K&R合著ANSI C: 1983年87 ANSI C: 1987年1990年国际规范的ANSI C C言语程序设计 第一章 C言语概述1.2 C言语特点言语简约、紧凑、灵敏运算符和数据类型丰富程序设计构造化、模块化生成目的代码质量高可移植性好中级言语 C言语程序设计 第一章 C言语概述32个关键字:(由系统定义,不能重作其它定义)auto break case char constcontinue default do double elseenum extern float for gotoif int long register

8、 returnshort signed sizeof static structswitch typedef unsigned union voidvolatile while C言语程序设计 第一章 C言语概述9种控制语句:if( )elsefor( )while( )dowhile( )continuebreakswitchgotoreturn C言语程序设计 第一章 C言语概述34种运算符:算术运算符:+ - * / % + -关系运算符: = !=逻辑运算符:! & |位运算符 : | &赋值运算符:= 及其扩展条件运算符:?:逗号运算符:,指针运算符:* &求

9、字节数 :sizeof强迫类型转换:(类型分量运算符:. -下标运算符:其它 :( ) - C言语程序设计 第一章 C言语概述C数据类型根本类型构造类型指针类型空类型void定义类型typedef数值类型字符类型char枚举类型enum整 型浮点型单精度型float双精度型double短整型short长整型long整型int数组构造体struct共用体union C言语程序设计 第一章 C言语概述1.3 C程序格式和构造特点例1.1 第一个程序 Hello,World!/* example1.1 The first C Program*/#include main() printf(“Hell

10、o,World!); C言语程序设计 第一章 C言语概述注释编译预处置函数语句输出:Hello,World!例1.2/* example1.1 calculate the sum of a and b*/#include /* This is the main program */main() int a,b,sum; a=10; b=24; sum=add(a,b); printf(sum= %dn,sum);/* This function calculates the sum of x and y */int add(int x,int y) int z; z=x+y; return(z

11、);运转结果:sum=34函数语句预处置命令注释 C言语程序设计 第一章 C言语概述格式特点习惯用小写字母,大小写敏感不运用行号,无程序行概念可运用空行和空格常用锯齿形书写格式 C言语程序设计 第一章 C言语概述main( ) . . . . . . .main( ) int i , j , sum; sum=0; for(i=1; i10;i+) for(j=1;j10;j+) sum+=i*j ; printf(“%dn,sum);优秀程序员的素质之一:运用TAB缩进对齐有足够的注释有适宜的空行构造特点函数与主函数程序由一个或多个函数组成必需有且只能有一个主函数main()程序执行从mai

12、n开场,在main中终了,其它函数经过嵌套调用得以执行。程序语句C程序由语句组成用“;作为语句终止符注释/* */为注释,不能嵌套不产生编译代码例: /*This is the main /* of example1.1*/ */ 非法v编译预处置命令 C言语程序设计 第一章 C言语概述编辑链接编译执行1.4 C程序的上机步骤C程序开发步骤 开 始 编 辑 编 译 连 接 执 行 有错?结果正确? 结 束有源程序 file.c目 标 程序file.obj库函数和其它目标程序可执行目标程序无正确不正确file.exe C言语程序设计 第一章 C言语概述程序代码的录入,生成源程序*.c语法分析查错

13、,翻译生成目的程序*.obj与其它目的程序或库链接装配,生成可执行程序*.exe源程序目标程序可执行程序内容程序设计语言机器语言机器语言可执行不可以不可以可以文件名后缀.c.obj.exeTurbo C集成开发环境配置要求UNIX,PC-DOS,MS-DOS,UCDOS操作系统硬盘容量约2M,448K RAM运转空间安装Turbo C创建子目录Install假设不是可安装盘,将文件拷贝到对应的目录下TC*.*INCLUDELIB*.*SYS*.* C言语程序设计 第一章 C言语概述v进入Turbo CvD:TCTC.exev主控菜单v文件操作FILE :New Load Save Write

14、tov编辑操作EDIT:插入/修正 块 查找/交换v编译链接COMPILE LINK MAKEv执行RUNv退出Turbo CvAlt +xvAlt+F ,Qv协助HelpvF1vCtrl+F1 C言语程序设计 第一章 C言语概述Turbo C +3.0集成开发环境 封锁按钮封锁按钮窗口称号窗口称号最大化最大化/复原按钮复原按钮光标所在行号光标所在行号光标所在列号光标所在列号程度滚动条程度滚动条编辑窗口编辑窗口垂直滚动条垂直滚动条信息窗口信息窗口 Visual C+ 6.0开发环境及操作Visual C+ 6.0是Microsoft公司推出的Visual Studio软件开发工具的成员之一。其

15、功能强大、运用方便和界面友好的优势。 C言语程序设计 第一章 C言语概述 C言语程序设计 第一章 C言语概述新建文件原程序输入1.5 算法表示方法算法表示方法1.根本概念引见做任何事情都有一定的步骤。为处理一个问题而采取的方法和步骤,就称为算法。 程序数据构造+算法。数据构造是程序中用到的数据的构造方式及其类型。对于面向对象程序设计,强调的是数据构造,而面向过程的程序设计言语如C言语,主要关注的是算法。算法是程序的中心,也是面向对象程序设计的根底。1. 算法是处理某一问题所采取的一系列步骤,它具有如下特点: (1)有输入:算法可以有零个或多个输入。输入是用来在一个算法的执行过程中,向它提供处置

16、对象(数据)或控制算法执行过程的信息。 (2)有输出:算法必需具有一个或多个输出。它是算法执行结果的输出。没有输出的算法是一个无效的算法。(3)(3)有穷性:任何算法都应该在执行有穷步骤之后有穷性:任何算法都应该在执行有穷步骤之后终了。终了。(4)(4)确定性:算法不能具有二义性。也就是说,算确定性:算法不能具有二义性。也就是说,算法中每一步的语义都应该是明晰明了的,明确指法中每一步的语义都应该是明晰明了的,明确指出应该执行什么操作,如何执行操作。出应该执行什么操作,如何执行操作。(5)(5)高效性:根据算法编写出来的程序应具有较高高效性:根据算法编写出来的程序应具有较高的执行效率。其主要含义

17、有:一是执行时间短,的执行效率。其主要含义有:一是执行时间短,二是不占用过多内存。二是不占用过多内存。常用的简单算法描画 : 例1.4累加,求:1+2+3+4+5+100。 第一步:1+2 S结果 第二步:S+3 S结果 第三步:S+4 S结果 第九十九步:S+100 S结果这样的算法虽然正确,但太繁琐。改良的算法:第一步:令x1;第二步:令i2;第三步:使x+i,和仍放在x中,可表示为x+ix;第四步:使i的值+1,即i+1i。第五步:假设i100,前往重新执行步骤第三步以及其后的第四步和第五步;否那么,算法终了。例1.5有10个工人,要求查找其中工资高于1500元的人员,并输出。算法分析:

18、如用n表示工人序号,ni表示第i个工人的序号,g表示工人的工资,gi表示第i个工人的工资。算法表示:第一步:1i。第二步:假设gi1500,那么打印ni和gi,否那么不打印。第三步:i+1i。第四步:假设i10,前往第二步,否那么终了。常用算法的表示方法算法的表示方法有很多种,常用的有:自然言语描画、伪代码、流程图、NS图等。在这里重点引见流程图和NS图。用流程图表示算法 一个流程图包括:表示相应操作的框,带箭头的流程线,框内外必要的文字阐明。几何图形框的含义如以下图所示。起止框起止框输入输出框输入输出框判别框判别框处置框处置框流程线流程线衔接点衔接点例1.6用流程图表例如1.4和1.5 一个

19、流程图,包括以下几部分:表示相应操作的框;带箭头的流程线;框内外必要的文字阐明;留意,画流程线时,不要忘记画箭头,由于它是反响流程的执行先后次序的,如不画出箭头就很难判别各框的执行次序了。根据构造化程序设计的思想,任何一个程序都由顺序、循环、选择三种根本构造组成,其流程图构造如下所示。顺序构造顺序构造ABABP不成立成立AP不成立成立AP不成立成立AP成立不成立循环构造循环构造选择构造选择构造用N-S流程图表示算法 顺序构造顺序构造AB选择构造选择构造循环构造循环构造用计算机言语表示算法 例1.6用C言语改写例如1.4 例1.7用C言语改写例如1.5 #includevoid main()int i; float arr10;

温馨提示

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

评论

0/150

提交评论