第1讲--C语言概述、算法.ppt_第1页
第1讲--C语言概述、算法.ppt_第2页
第1讲--C语言概述、算法.ppt_第3页
第1讲--C语言概述、算法.ppt_第4页
第1讲--C语言概述、算法.ppt_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

1、2020/8/6,计算机与信息工程专业,第1讲:C语言概述,主讲人:张昌友,Emali:电话计算机与信息工程专业C语言程序设计,第2讲。主要内容:计算机与信息工程系C语言程序设计,3。C语言的历史背景(1),1.1代背景1960年ALGOL60(ALGOrithm Language),1963年剑桥大学的CPL(组合编程语言),1967年剑桥大学的Matin Richards BCPL (Basic组合编程语言),1970年美国BELL实验室的Ken Thompson简化了BCPL并提出了B语言,并用B语言编写了第一个UNIX操作系统,计算机与信息工程系的C语言编程,

2、4,C语言出现的历史背景(2),1.2开发过程的时间3333汤普森和丹尼斯。计算机与信息工程系C语言程序设计硕士。20世纪50、70年代初,贝尔实验室设计了基于B语言的C语言来描述和实现UNIX。语言出现的历史背景(3),计算机与信息工程科C语言编程,6,1.C语言历史背景(3),1.3 C标准C: K,/*文件包含*/*主函数*/*函数体开始*/*输出语句*/*函数体结束*/,程序演示,3。程序结构和执行步骤(1),程序功能:在电脑屏幕上输出:你好世界!3.1简单c程序结构,描述:当使用标准库函数时,在程序的第一行写:#包括main- main函数名,void- function类型,每个c

3、程序必须有一个标记函数开始和结束的main函数,并且没有必要在分号之间写注释/* */。被编译器忽略,你不能嵌套并使用getch()函数在屏幕上观察程序的输出结果。计算机与信息工程分会C语言程序设计,9,示例1-2:计算两个数之和#包含无效主()/*计算两个数之和*/int a,b,sum;/*声明,将变量定义为整数*/a=123;/*赋值语句*/b=456;总和=a b。printf(sum为%dn,sum);说明:在printf函数中,“%d”表示输出一个十进制整数类型的值和,而不是输出一个“%d”字符串。Printf(“% d % d=% d”,a,b,sum);程序演示,描述:输出一行

4、信息:sum是579,3.C程序结构和执行步骤(2),C语言程序设计计算机与信息工程分会,10,例1-3:找出2个数字中的较大者。#包括int max(int x,int y);/*声明被调用的函数max */void main() int a,b,c;/*定义变量a,b,c */scanf(dd,/*输出c */的值,注意:这个程序包括两个函数:main和被调用函数max。最大值函数将x和y中较大的一个赋给变量Z.return语句将z值返回给主音函数。3.c程序结构和执行步骤(3),程序演示,int max(int x,int y)int z;如果(xy)z=x;否则z=y;返回(z);计算

5、机与信息工程分会C语言程序设计,11,3.C程序结构与执行步骤(4),3.1C程序结构格式特点是使用小写字母,不使用行号区分大小写,没有程序行概念可以使用空行和空格常用的锯齿形书写格式,例1-4区分大小写主()int i,j,sum,Sum;总和=0,总和=1;对于(I=1;i10I)对于(j=1;j10j)总和=I * j;printf(sum=%dn ,sum);Printf(“总和=%dn”,总和);程序演示,计算机与信息工程系C语言程序设计,12,3.C程序结构与执行步骤(5),3.2C程序执行步骤,file.exe,返回主菜单,计算机与信息工程系C语言程序设计,13,4。算法特性和表

6、示(1),4.1程序组成,数据描述:数据结构操作描述:算法。著名计算机科学家沃斯提出了公式:数据结构算法=程序,数据结构算法编程方法语言工具。完整的程序应该是:计算机与信息工程系c语言程序设计,14,4.2算法的概念,要求:正确,结果对质量,步骤少,简单易懂。广义地说,解决问题的方法和步骤被称为“算法”。对于同一个问题,有不同的方法和步骤来解决问题。计算机与信息工程科C语言编程,15,4.3简单算法示例(1),示例1-5:查找12345,步骤1:首先查找12,得到结果2步骤2:将步骤1中得到的乘积2乘以3,得到结果6步骤3:将6乘以4,得到24步骤4 S2:I=2;S3:把pi的乘积放在变量p

7、中,可以表示为:pi p S4:I的值加1,即I 1 I。S5:如果I不大于5,返回重新执行步骤S3和后续步骤S4和S5;否则,算法结束。p的最终值是5!的价值。改变方法:设置两个变量:(1)被乘数p,(2)乘数I;乘积放在被乘数变量中;结果通过循环算法获得,算法重写为:4.3简单算法示例(2),没有设置附加变量来存储产品结果,计算机与信息工程分支c语言编程,17,S1:1ps 2:3 s3:pips 4:i2p S5:如果i11,返回S3。否则,结束。标题修改:(1)求121000的值;(2)求1351000的值。算法简洁,4.3简单算法示例(3),计算机与信息工程分会C语言程序设计,18.

8、4算法特点及表示,4.4算法特点是有限的:它包含有限的操作步骤。决定性的:算法中的每一步都应该是决定性的。有零个或多个输入:输入是指在执行算法时需要从外部世界获得必要的信息。有一个或多个输出:算法的目的是求解,而“解”就是输出。有效性:算法中的每一步都应该得到有效的执行,并得到明确的结果。计算机与信息工程系c语言程序设计,19,4。算法特点和表示法(3),4.3算法表示法可以用不同的方式表示,常用的有:自然语言传统流程图结构化流程图N-S流程图伪代码PAD流程图,计算机与信息工程分支C语言程序设计,20,4。算法特性和表示(4),4.3算法的表达传统流程图,美国国家标准协会规定了一些常用的流程

9、图符号:计算机与信息工程分会C语言程序设计,21,4。算法的特点和表达(5),4.3算法的表示传统的流程图博赫拉和贾科平提出了以下三种基本结构:序列结构、选择结构和循环结构,它们作为表示好的算法的基本单位。计算机与信息工程系c语言程序设计,22,4。算法特征与表示(6),4.3算法表示传统流程图、序列结构、选择结构,计算机与信息工程专业c语言程序设计,23,4。算法特征和表示(7),4.3算法表示-传统流程图,而类型(2)只有一个出口。(请注意,菱形判断框有两个出口,而选择结构只有一个出口。不要混淆钻石盒的出口和选择结构的出口。(3)结构的每个部分都有被执行的机会。(4)结构中没有“无限循环”

10、。三个基本结构的共同特征,计算机与信息工程分支C语言程序设计,25,没有从入口到出口的路径通过图中的一个方框,不正确的过程表示,过程中的无限循环,计算机与信息工程分支C语言程序设计,26,将寻求5!该算法用流程图表示。如果需要打印最终结果,可以在菱形框下添加一个输出框。,计算机与信息工程分会C语言程序设计,27,用N-S流程图来表示算法。1973年,美国学者纳西和施耐德曼提出,所有的算法都可以写成一个矩形框架,从属于它的框架也可以嵌套起来,称为N-S结构流程图。计算机与信息工程分会C语言程序设计,28,N-S流程图符号,序列结构算法用N-S图表示,计算机与信息工程分会C语言程序设计,30,5!

11、算法由伪代码表示:将t的初始值设置为1,将I的初始值设置为2。当i=5时,执行以下操作:使t=ti,使i=i 1循环在此结束,并输出t的值,t的值也可以写成以下形式:BEGIN算法开始1t 2 i,而i5 ti t1 I打印t END算法结束,计算机与信息工程分会C语言程序设计,31。内容概述,C语言出现的历史背景。c语言的特点很简单。C语言介绍了C程序的步骤、算法、概念和表达式,语言简洁。运算符和数据结构非常丰富。结构化控制语句。编程的极大自由。直接操作存储器。目标代码是高质量的。程序的可移植性很好。1.简单c程序:主要功能的重要性。输入和输出功能的应用。系统库函数,自定义函数。注释器的应用。2.格式特征。3.结构特征。4.句子的特点。1,编辑。2.编译。3.联系。4.处决。解决问题的方法和步骤,自然语言传统流程图结构化流程图N-S流程图伪代码,计算机与信息工程专业C语言程序设计,32,思考问题和作业,(1)C语言的主要目的是什么?将其与您所知道的高级语言进行比较。(2)C语言程序的基本结构是什么?(3)C语言程序的基本单位是什么?有什么好处?(4)算法概念和结构算法(5)针对以下问题设计算法,输入10个数字,输出最大数字,计算机与信息工程科C语言编程,33,结束,如有问题,及时沟通!计算机与信息工程分会C语言

温馨提示

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

最新文档

评论

0/150

提交评论