




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、主讲:纪主讲:纪 钢钢 教授教授重庆理工大学计算机学院重庆理工大学计算机学院第一章第一章 C语言概述语言概述C C语言发展历史语言发展历史C C语言特点语言特点C C程序格式和结构特点程序格式和结构特点C C程序上机步骤程序上机步骤算法及表示算法及表示1.1 C语言发展历史程序设计语言的发展机器语言汇编语言高级语言面向过程面向对象CPU指令系统,由0、1序列构成的指令码组成如:10000000 加 10010000 减用助记符号描述的指令系统如 ADD A, B面向机器的语言程序设计是数据被加工的过程客观世界可以分类,对象是类的实例对象是数据和方法的封装对象间通过发送和接受消息发生联系程序设计
2、关键是定义类,并由类派生对象冯.诺依曼结构:计算机运算器控制器存储器主机:I/O设备:键盘、显示器等中央处理器CPU C语言程序设计 第一章第一章 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 C
3、2.0 1989年年 Turbo C+(3.0) 1991年年 1.1 C语言发展历史程序设计语言的发展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语言发展过程v产生背景v产生过程l时间:19721973l地点:美国贝尔实验室l目的:
4、UNIX操作系统l设计人: Ken.Thompson和Dennis.M.RitchievC标准l标准C: K&R合著The C Programming LanguagelANSI C: 1983年l87 ANSI C: 1987年l1990年国际标准的ANSI C C语言程序设计 第一章第一章 C C语言概述语言概述1.2 C语言特点语言简洁、紧凑、灵活运算符和数据类型丰富程序设计结构化、模块化生成目标代码质量高可移植性好 C语言程序设计 第一章第一章 C C语言概述语言概述32个关键字:(auto break case char constcontinue default do double
5、 elseenum extern float for gotoif int long register returnshort signed sizeof static structswitch typedef unsigned union voidvolatile while C语言程序设计 第一章第一章 C C语言概述语言概述9种控制语句:if( )elsefor( )while( )dowhile( )continuebreakswitchgotoreturn C语言程序设计 第一章第一章 C C语言概述语言概述34种运算符:算术运算符:+ - * / % + -关系运算符: = !=逻
6、辑运算符:! & |位运算符 : | &赋值运算符:= 及其扩展条件运算符:?:逗号运算符:,指针运算符:* &求字节数 :sizeof强制类型转换:(类型)分量运算符:. -下标运算符:其它 :( ) - C语言程序设计 第一章第一章 C C语言概述语言概述 简单的C程序介绍什么是什么是关键字关键字什么是什么是函数函数怎样写怎样写函数首部函数首部怎样写怎样写函数体函数体怎样写怎样写注释注释什么是什么是头文件头文件运行结果运行结果C程序的基本单位是函数程序的基本单位是函数1.3 C程序格式和结构特点例1.1 第一个程序 Hello,World!/* example1.1 The first C
7、 Program*/#include main() printf(“Hello,World!”); C语言程序设计 第一章第一章 C C语言概述语言概述注释编译预处理函数语句输出:Hello,World! C程序的基本结构函数之间有什么关系?函数之间有什么关系?程序执行的过程是怎样的?程序执行的过程是怎样的?程序书写应遵循什么格式?程序书写应遵循什么格式?怎样写注释?怎样写注释? 函数的结构函数参数名函数参数名参数类型参数类型函数类型函数类型函数名函数名函函数数体体执行部分执行部分声明部分声明部分函数首部函数首部函数名后面必须跟一函数名后面必须跟一对圆括号,即使函数对圆括号,即使函数无参数。如
8、无参数。如main()例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);运行结果:sum=34函数语句预处理命令注释 C语言程序设计 第一章第一章 C
9、C语言概述语言概述格式特点v习惯用小写字母,大小写敏感v不使用行号,无程序行概念v可使用空行和空格v常用锯齿形书写格式 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缩进 对齐 有足够的注释 有合适的空行结构特点v函数与主函数l程序由一个或多个函数组成l必须有且只能有一个主函数main()l程序执行从main开始,在main中结
10、束,其它函数通过嵌套调用得以执行。v程序语句lC程序由语句组成l用“;”作为语句终止符v注释l/* */为注释,不能嵌套l不产生编译代码例: /*This is the main /* of example1.1*/ */ 非法v编译预处理命令 C语言程序设计 第一章第一章 C C语言概述语言概述编辑链接编译执行1.4 C程序的上机步骤C程序开发步骤 开 始 编 辑 编 译 连 接 执 行 有错?结果正确? 结 束有源程序 file.c目 标 程序file.obj库函数和其它目标程序可执行目标程序无正确不正确file.exe C语言程序设计 第一章第一章 C C语言概述语言概述程序代码的录入,
11、生成源程序*.c语法分析查错,翻译生成目标程序*.obj与其它目标程序或库链接装配,生成可执行程序*.exe源程序目标程序可执行程序内容程序设计语言机器语言机器语言可执行不可以不可以可以文件名后缀.c.obj.exeTurbo C +3.0集成开发环境 关闭按钮关闭按钮窗口名称窗口名称最大化最大化/还原按钮还原按钮光标所在行号光标所在行号光标所在列号光标所在列号水平滚动条水平滚动条编辑窗口编辑窗口垂直滚动条垂直滚动条信息窗口信息窗口 Visual C+ 6.0开发环境及操作Visual C+ 6.0Visual C+ 6.0是是MicrosoftMicrosoft公司推出的公司推出的Visua
12、l Visual StudioStudio软件开发工具的成员之一。其功能强大、软件开发工具的成员之一。其功能强大、使用方便和界面友好的优势。使用方便和界面友好的优势。 C语言程序设计 第一章第一章 C C语言概述语言概述1.5 算法表示方法算法表示方法1.基本概念介绍做任何事情都有一定的步骤。为解决一个问题而采取的方法和步骤,就称为算法。 程序数据结构+算法。数据结构是程序中用到的数据的构造形式及其类型。对于面向对象程序设计,强调的是数据结构,而面向过程的程序设计语言如C语言,主要关注的是算法。算法是程序的核心,也是面向对象程序设计的基础。 算法的基本概念 为解决一个问题而采取的方法和步骤为解
13、决一个问题而采取的方法和步骤 算法是算法是 对同一个问题,不同人的可能采用不同的算法对同一个问题,不同人的可能采用不同的算法1+2+3+10为有效地解决问题,要选择为有效地解决问题,要选择正确正确高效高效瑞士计算机科学家瑞士计算机科学家 算法为解决特定问题而为解决特定问题而采取的方法和步骤采取的方法和步骤用自然语言描述用自然语言描述其它描述方法:其它描述方法:流程图流程图程序设计语言程序设计语言用自然语言描述的算法如下:用自然语言描述的算法如下:(1)将将A袋中的糖倒到袋中的糖倒到C袋中袋中(2)将将B袋中的盐倒到袋中的盐倒到A袋中袋中(3)将将C袋中的糖倒到袋中的糖倒到B袋中袋中使两个变量使
14、两个变量A,B的的值交换的方法值交换的方法ACBACB 简单算法示例问题描述:问题描述:小财主有一袋糖小财主有一袋糖和一袋盐,怎么和一袋盐,怎么换过来呢?换过来呢?还需一个口袋!还需一个口袋!自然语言描述的算法如下:自然语言描述的算法如下:(1)任选一数放进变量任选一数放进变量A中中(2)将第二个数与将第二个数与A相比,大数放于相比,大数放于A中中(3)将第三个数与将第三个数与A相比,大数放于相比,大数放于A中中(10)直到将第十个数与直到将第十个数与A相比完毕相比完毕,则最大数就在则最大数就在A中中 简单算法示例问题描述:问题描述:四个拳击手,四个拳击手,谁是最棒的?谁是最棒的?打擂台打擂台
15、十个数找最十个数找最大值的问题大值的问题(1)任选一数放进变量任选一数放进变量A中,令计数器中,令计数器N=0,表示比,表示比较了较了0次;次;(2)将下一个数与将下一个数与A相比,大数放于相比,大数放于A中中(3)将将N值增加值增加1,表示比较次数增加表示比较次数增加1 (4)如果如果N的值小于的值小于9,则返回第,则返回第(2)步,否则停止比步,否则停止比较,较,A中就是最大数。中就是最大数。 计算机解题的一般性方法分析问题分析问题 计算机解题的基本步骤(1)明确问题的需求明确问题的需求(2)选择合适的选择合适的:数据类型:数据类型和数据的组织方式和数据的组织方式(3)设计算法并根据需要,
16、设计算法并根据需要,(4)编写程序编写程序(5)上机调试和执行程序上机调试和执行程序(6)分析结果与总结分析结果与总结常用的简单算法描述 : 例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
17、元的人员,并输出。算法分析:如用n表示工人序号,ni表示第i个工人的序号,g表示工人的工资,gi表示第i个工人的工资。算法表示:第一步:1i。第二步:如果gi1500,则打印ni和gi,否则不打印。第三步:i+1i。第四步:若i10,返回第二步,否则结束。常用算法的表示方法算法的表示方法有很多种,常用的有:自然语言描述、伪代码、流程图、NS图等。在这里重点介绍流程图和NS图。用流程图表示算法 一个流程图包括:表示相应操作的框,带箭头的流程线,框内外必要的文字说明。几何图形框的含义如下图所示。起止框起止框输入输出框输入输出框判断框判断框处理框处理框流程线流程线连接点连接点例1.6用流程图表示例1
18、.4和1.5 根据结构化程序设计的思想,任何一个程序都由顺序、循环、选择三种基本结构组成,其流程图结构如下所示。顺序结构顺序结构ABABP不成立成立AP不成立成立AP不成立成立AP成立不成立循环结构循环结构选择结构选择结构用N-S流程图表示算法 顺序结构顺序结构AB选择结构选择结构循环结构循环结构用计算机语言表示算法 例1.6用C语言改写示例1.4 例1.7用C语言改写示例1.5 #includevoid main()int i; float arr10; printf(please input the salary ); for(i=0;i=9;i+) scanf( %f,&arri); for(i=0;i=1500) printf(the %ds salary is %fn,i+1,arri); #includevoid main() int i,s; i=2; s=1; while(i=100) s=s+i; i=i+1; printf(sum is %dn,s);回顾一个完整的一个完整的C C程序由若干个函数组成,至少有一程序由若干个函数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 共青科技职业学院《运输系统规划与设计》2023-2024学年第一学期期末试卷
- 《财经公务文书》课件
- 粮食安全课件
- 甘肃中医药大学《操作系统应用》2023-2024学年第一学期期末试卷
- 人事专员培训课件
- 七年级道德与法治上册第一单元成长的节拍第三课发现自己第一课时误区警示新人教版
- 三年级数学下册一两位数乘两位数第5课时用两步连乘计算解决实际问题教案苏教版
- 三年级科学下册第三单元固体和液体5使沉在水里的物体浮起来教案苏教版
- 九年级化学上册第六单元碳和碳的氧化物课题1金刚石石墨和C60第2课时单质碳的化学性质导学案新版新人教版
- 小学生请假制度
- 列管式换热器-换热面积计算
- 10个地基基础工程质量通病及防治措施
- 25m预应力混凝土简支T梁桥设计(共30页)
- 篮球校本课程教案
- 高一学生文理分班意向表
- 高等传热学部分答案
- 地球物理学进展投稿须知
- 机床精度检验标准 VDI3441 a ISO230-2
- 七年级英语下册任务型阅读单元测试题(含答案)(word)
- 解析电力施工项目的信息化管理
- 火炬介绍 音速火炬等
评论
0/150
提交评论