分析语言课件_第1页
分析语言课件_第2页
分析语言课件_第3页
分析语言课件_第4页
分析语言课件_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

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

文档简介

1、高级语言程序设计高级语言程序设计选择选择 C 语言作为语言作为学习程序设计的载体学习程序设计的载体n36学时上课学时上课 + 12学时上机学时上机第一章第一章 程序设计和程序设计和C C 语言概述语言概述主要内容:主要内容:何为计算机程序何为计算机程序计算机的基本组成计算机的基本组成程序设计语言的分类和发展程序设计语言的分类和发展C语言的特点语言的特点C程序入门实例程序入门实例上机步骤上机步骤C语言程序的结构语言程序的结构程序设计的任务程序设计的任务什么是计算机程序?什么是计算机程序? 生活中常听到会议程序、法律程序、工作生活中常听到会议程序、法律程序、工作程序等。程序是完成事物的一种既定方式

2、和过程序等。程序是完成事物的一种既定方式和过程,程,可以将程序看作对一系列动作的执行过程可以将程序看作对一系列动作的执行过程的描述的描述。 例如,歌手大赛有例如,歌手大赛有7个评委为每位歌手打个评委为每位歌手打分,得到每位歌手平均分的程序可描述为:分,得到每位歌手平均分的程序可描述为: 1)收集分数;)收集分数; 2)找出最高分、最低分,并去掉;)找出最高分、最低分,并去掉; 3)求其余)求其余5个分数的和,假设为个分数的和,假设为S; 4)求平均分)求平均分A = S/5. 描述这种程序的方式就是按顺序地写描述这种程序的方式就是按顺序地写出每个步骤和指令序列,如果按顺序实出每个步骤和指令序列

3、,如果按顺序实施这些步骤,就能够完成有关的任务。施这些步骤,就能够完成有关的任务。计算机程序是用户指示计算机完成任计算机程序是用户指示计算机完成任务的指令序列;是一组计算机能识别和务的指令序列;是一组计算机能识别和执行的指令。执行的指令。 计算机需要某种具体程序设计语言将计算机需要某种具体程序设计语言将用户的意图表示成计算机能够理解的指用户的意图表示成计算机能够理解的指令,而令,而C语言是人类与计算机进行沟通的语言是人类与计算机进行沟通的一种语言。一种语言。 计算机计算机是一种设计用于执行操作的机器,是一种设计用于执行操作的机器,其中操作由一组被称作程序的指令指定。其中操作由一组被称作程序的指

4、令指定。计算机硬件计算机硬件指计算机设备,如键盘、鼠指计算机设备,如键盘、鼠标、显示器、硬盘、打印机、标、显示器、硬盘、打印机、。计算机软件计算机软件指那些描述计算机预期步骤指那些描述计算机预期步骤的程序。的程序。程序设计语言的分类和发展程序设计语言的分类和发展n机器语言和汇编语言机器语言和汇编语言n高级语言高级语言w面向算法过程:面向算法过程:BASIC、FORTRAN、COBOLw结构化编程语言:结构化编程语言:PASCAL、Cw专用语言:专用语言:LISP、Prolog w面向对象:面向对象:C+ w其它:其它:VB、VC、DELPHI、Java、SQL、 HTML和XML选择选择C 强

5、大的命令及数据结构,易用于操作系统,强大的命令及数据结构,易用于操作系统,会会C后容易转向后容易转向C+和和Java。C 语言的特点语言的特点语言简洁、紧凑,使用方便、灵活语言简洁、紧凑,使用方便、灵活运算符丰富、数据结构丰富运算符丰富、数据结构丰富具有结构化的控制语句具有结构化的控制语句语法限制不太严格语法限制不太严格,程序设计自由度大,程序设计自由度大允许允许直接访问物理地址直接访问物理地址,直接对硬件进行操作,直接对硬件进行操作生成目标代码质量高,程序生成目标代码质量高,程序执行效率高执行效率高与汇编相比可移植性好,与汇编相比可移植性好,与硬件无关与硬件无关C 程序入门实例程序入门实例例

6、例1 要求在屏幕上输出以下一行信息。要求在屏幕上输出以下一行信息。 This is a C program.解题思路:解题思路: 在主函数中用在主函数中用printf函数原样输出以上函数原样输出以上文字。文字。最简单的最简单的C语言程序举例语言程序举例#include int main( ) printf (”This is a C program.n”); return 0; 函数的名字,表示函数的名字,表示主函数主函数C程序必须有一个程序必须有一个 main 函数函数例例1 在屏幕上输出一行信息。在屏幕上输出一行信息。#include int main( ) printf (”This i

7、s a C program.n”); return 0; 主函数主函数类型类型例例1 在屏幕上输出一行信息。在屏幕上输出一行信息。 例例1 在屏幕上输出一行信息。在屏幕上输出一行信息。#include int main( ) printf (”This is a C program.n”); return 0; 函数体函数体例例1 在屏幕上输出一行信息。在屏幕上输出一行信息。#include int main( ) printf (”This is a C program.n”); return 0; 输出函数输出函数输出语句输出语句例例1 在屏幕上输出一行信息。在屏幕上输出一行信息。#inc

8、lude int main( ) printf (”This is a C program.n”); return 0; 输出语句输出语句例例1 在屏幕上输出一行信息。在屏幕上输出一行信息。#include int main( ) printf (”This is a C program.n”); return 0; 换行符换行符例例1 在屏幕上输出一行信息。在屏幕上输出一行信息。#include int main( ) printf (”This is a C program.n”); return 0; 当当main函数执行结束前函数执行结束前将整数将整数0作为函数值作为函数值例例1 在屏

9、幕上输出一行信息。在屏幕上输出一行信息。#include int main( ) printf (”This is a C program.n”); return 0; 表示语句结束表示语句结束用到函数库中的输入输出函数用到函数库中的输入输出函数时时例例2 求两个整数之和求两个整数之和。解题思路:解题思路:u设置设置3个变量个变量ua和和b用来存放两个整数用来存放两个整数usum用来存放和数用来存放和数u用赋值运算符用赋值运算符“=”把结果传送给把结果传送给sum例例2:求两个变量之和:求两个变量之和#include int main( ) int a, b, sum; a=123; b=45

10、6; sum = a+b; printf(“sum is %d n”, sum); return 0;/ /* * * */ /表注释表注释表示表示“十进制整数类型十进制整数类型”运行结果:运行结果:sum is 579/ /* *变量定义变量定义* */ / /* *变量赋值变量赋值* */ / /* *求和运算求和运算* */ /输出输出/ / 表注释表注释例例3.3.计算两点间的直线距离计算两点间的直线距离. .解题思路:解题思路:u设置设置7个变量个变量,ux1、y1和和x2、y2分别存放两个点的坐分别存放两个点的坐标,标,u计算横、纵坐标距离,存放在计算横、纵坐标距离,存放在side

11、_x和和side_y,u计算两个点的距离,存放在计算两个点的距离,存放在distance,u输出输出distance例例3.3.计算两点间的直线距离,计算两点间的直线距离,p1(1,5),p2(4,7)p1(1,5),p2(4,7)#include #include int main( ) float x1=1, y1=5, x2=4,y2=7, side_x,side_y,distance; side_x = x2-x1; side_y = y2-y1; distance = sqrt(side_x*side_x + side_y*side_y); printf(“the distance

12、is %f n”, distance); return 0;例例4 求两个整数中的较大者。求两个整数中的较大者。解题思路:解题思路:u用一个函数实现求两个整数中的较大者用一个函数实现求两个整数中的较大者u在主函数中调用此函数并输出结果在主函数中调用此函数并输出结果例例4:求两个数中:求两个数中的较的较大值大值#include int main( ) float max(float x, float y); float a, b, c; scanf(“%f, %f”, &a, &b); c = max(a, b); printf(“max = %fn”, c); return 0

13、;float max(float x, float y) float z; if(xy) z = x; else z = y; return z;/ /* *主函数主函数* */ / /* *变量定义变量定义* */ / /* *输入变量的值输入变量的值* */ /调用调用max函数函数/ /* *定义定义max函数函数* */ / /* *将将z的值返回的值返回* */ / /* *对要调用的函数对要调用的函数maxmax声明声明* */ / C语言程序的结构语言程序的结构C语言程序的结构特点:语言程序的结构特点:1.一个程序由一个或多个源程序文件组成一个程序由一个或多个源程序文件组成n小程

14、序往往只包括一个源程序文件小程序往往只包括一个源程序文件n例例1,例,例2 ,例,例3只有一个函数只有一个函数n例例4有两个函数有两个函数都都只包括一个源程序文件只包括一个源程序文件C语言程序的结构语言程序的结构C语言程序的结构特点:语言程序的结构特点:一个源程序文件中可以包括三个部分:一个源程序文件中可以包括三个部分:n预处理指令预处理指令n全局声明全局声明n函数定义函数定义#include 等等在函数之外进行的数据声明在函数之外进行的数据声明每个函数用来实现一定的功能每个函数用来实现一定的功能 C语言程序的结构语言程序的结构C语言程序的结构特点:语言程序的结构特点:2.函数是函数是C程序的

15、主要组成部分程序的主要组成部分n一个一个C程序是由一个或多个函数组成的程序是由一个或多个函数组成的n必须包含一个必须包含一个main函数函数(只能有一个)(只能有一个)n每个函数都用来实现一个或几个特定功能每个函数都用来实现一个或几个特定功能n被调用的函数可以是库函数被调用的函数可以是库函数,也可以也可以是是自自己编制设计的函数己编制设计的函数C语言程序的结构语言程序的结构C语言程序的结构特点:语言程序的结构特点:3.一个函数包括两个部分:一个函数包括两个部分:n函数首部函数首部 int max ( int x, int y )函数的第函数的第1行行函数类型函数类型函数名函数名参数类型参数类型

16、参数参数名名 C语言程序的结构语言程序的结构C语言程序的结构特点:语言程序的结构特点:3.一个函数包括两个部分:一个函数包括两个部分:n函数首部函数首部int max ( int x, int y )若若函数函数无无参,在括弧中写参,在括弧中写void或或空括弧空括弧int main( void) 或或 int main() C语言程序的结构语言程序的结构C语言程序的结构特点:语言程序的结构特点:3.一个函数包括两个部分:一个函数包括两个部分:n函数函数体体w声明部分声明部分n定义在本函数中所用到的变量定义在本函数中所用到的变量n对本函数所调用函数进行声明对本函数所调用函数进行声明w执行部分执

17、行部分:由若干个语句组成,指定在函数中由若干个语句组成,指定在函数中所进行的操作所进行的操作可以没有声明部分可以没有声明部分C语言程序的结构语言程序的结构C语言程序的结构特点:语言程序的结构特点:3.一个函数包括两个部分:一个函数包括两个部分:n函数函数体体void dump ( ) 可以是空函数可以是空函数C程序由一个或多个函数组成:程序由一个或多个函数组成:n有且只有一个主函数有且只有一个主函数main()。n C程序总是从程序总是从 main 函数开始执行(不论其位置如函数开始执行(不论其位置如何),在何),在main函数中结束函数中结束, 其他函数通过嵌套调用其他函数通过嵌套调用得以执

18、行。得以执行。n函数是函数是C程序的基本单位,用以实现特定功能程序的基本单位,用以实现特定功能每个每个程序语句程序语句以以分号分号为结束。为结束。程序一般都会有输入语句和输出语句,程序一般都会有输入语句和输出语句,n输入输出由函数完成。输入输出由函数完成。程序应当包含注释程序应当包含注释,增加可读性增加可读性n/* */n/C语言程序的结构语言程序的结构 书写程序时应遵循的规则书写程序时应遵循的规则一个说明或一个语句占一行。一个说明或一个语句占一行。一般与该结构语句的第一个字母对齐,并单一般与该结构语句的第一个字母对齐,并单独占一行。独占一行。w用用 括起来的部分,通常表示了程序的某括起来的部

19、分,通常表示了程序的某一层次结构。一层次结构。鼓励使用缩进,鼓励使用缩进,鼓励使用空行和空格,增加程序的清晰性和可读鼓励使用空行和空格,增加程序的清晰性和可读性。性。运行运行C程序的步骤和方法程序的步骤和方法 源程序File.c目标程序File.obj可执行程序File.exe编辑编辑程序设计的任务程序设计的任务1.问题分析问题分析对于接手的任务要进行认真的分析对于接手的任务要进行认真的分析研究所给定的条件研究所给定的条件分析最后应达到的目标分析最后应达到的目标找出解决问题的规律找出解决问题的规律选择解题的方法选择解题的方法程序设计的任务程序设计的任务1.问题分析问题分析2.设计算法设计算法设

20、计出解题的方法和具体步骤设计出解题的方法和具体步骤程序设计的任务程序设计的任务1.问题分析问题分析2.设计算法设计算法3.编写程序编写程序4.对源程序进行编辑、编译和连接对源程序进行编辑、编译和连接5.运行程序,分析结果运行程序,分析结果n结果错了,程序肯定错结果错了,程序肯定错n结果对了,程序未必对结果对了,程序未必对程序设计的任务程序设计的任务1.问题分析问题分析2.设计算法设计算法3.编写程序编写程序4.对源程序进行编辑、编译和连接对源程序进行编辑、编译和连接5.运行程序,分析结果运行程序,分析结果6.编写程序文档编写程序文档第第 二二 章章程序的灵魂程序的灵魂 算法算法算法的概念算法的

21、概念一个程序包括一个程序包括n对数据的描述(数据结构)对数据的描述(数据结构)n对操作的描述(算法)对操作的描述(算法)算法算法n为解决一个问题,而给出的逐步(为解决一个问题,而给出的逐步(step-by-step)执行某类计算的方法。执行某类计算的方法。n算法不唯一算法不唯一 保证保证正确正确的同时考虑的同时考虑质量质量n计算机能执行的算法计算机能执行的算法w数值运算算法数值运算算法w非数值运算算法非数值运算算法例例2.1 求求12345可以用最原始的方法进行:可以用最原始的方法进行:n步骤步骤1:先求:先求1*2,得到结果,得到结果2。n步骤步骤2:将步骤:将步骤1得到的乘积得到的乘积2再

22、乘以再乘以3,得,得到结果到结果6。n步骤步骤3:将:将6再乘以再乘以4,得,得24。n步骤步骤4:将:将24再乘以再乘以5,得,得120。这就是最。这就是最后的结果。后的结果。例例2.1 求求12345 1000太繁琐太繁琐改进的算法:改进的算法:n设变量设变量p为被乘数为被乘数n变量变量i为乘数为乘数n用循环算法求结果用循环算法求结果S1:使:使p=1,或写成,或写成1pS2:使:使i=2,或写成,或写成2iS3:使:使p与与i相乘,乘积仍放在变量相乘,乘积仍放在变量p中,可表中,可表示为:示为:p*ipS4:使:使i的值加的值加1,即,即i+1 iS5:如果:如果i不大于不大于5,返回重

23、新执行,返回重新执行S3;否则,;否则,算法结束算法结束最后得到最后得到p的值就是的值就是 5!的值的值若是若是1000,求什么?,求什么?S1:使:使p=1,或写成,或写成1pS2:使:使i=2,或写成,或写成2iS3:使:使p与与i相乘,乘积仍放在变量相乘,乘积仍放在变量p中,可表中,可表示为:示为:p*ipS4:使:使i的值加的值加1,即,即i+1 iS5:如果:如果i不大于不大于5,返回重新执行,返回重新执行S3;否则,;否则,算法结束算法结束最后得到最后得到p的值就是的值就是 5! 的值的值若若求求1357911332211所求所求相当于相当于i 11 例例2.2 有有50个学生,要

24、求将成绩在个学生,要求将成绩在80分以分以上的学生的学号和成绩输出。上的学生的学号和成绩输出。用用ni代表第代表第i个学生个学生学号,学号,gi表示第表示第i个学生成绩个学生成绩S1:1iS2:如果:如果gi80, 则输出则输出ni和和gi,否则不输出,否则不输出S3:i+1iS4:如果:如果i50,返回到步骤,返回到步骤S2,继续执行,否,继续执行,否则,算法结束则,算法结束算法的特性和表示算法的特性和表示算法的特性算法的特性n有穷性有穷性n确定性,无歧义确定性,无歧义n有零个或多个输入有零个或多个输入n有一个或多个输出有一个或多个输出n有效性有效性算法的表示算法的表示n自然语言表示自然语言

25、表示n用流程图表示用流程图表示n用用N-S图表示算法图表示算法n用伪码表示用伪码表示n用计算机语言表示用计算机语言表示1 total2 itotal * i totali + 1 ii 5endbeginNY流程图表示流程图表示伪代码表示伪代码表示Begin 1 total 2 Iif i=5then total * i total i + 1 iend ifprint tatalend算法的结构算法的结构 算法是执行任务的步骤或指令序列,算法是执行任务的步骤或指令序列,步骤或指令序列是有先后次序的,这种步骤或指令序列是有先后次序的,这种指令的执行次序称为执行流程。对不同指令的执行次序称为执行

26、流程。对不同的问题,其执行流程可能不同,因此存的问题,其执行流程可能不同,因此存在流程控制问题。人们经过多年的总结在流程控制问题。人们经过多年的总结研究,发现无论多么复杂的算法都可以研究,发现无论多么复杂的算法都可以用三种流程控制结构来描述。用三种流程控制结构来描述。三种基本结构三种基本结构顺序结构顺序结构选择结构选择结构循环结构循环结构ABabaABPb成立成立不成立不成立P1A成立成立baP2A不成立不成立baaAPb成立成立不成立不成立当当型型直直到到型型以上三种基本结构,有以下共同特点:以上三种基本结构,有以下共同特点:(1) 只有一个入口只有一个入口(2) 只有一个出口只有一个出口w一个一个判断框判断框有两个出口有两个出口w一个一个选择结构选择结构只有一个出口只有一个出口(3) 结构内的每一部分都有机会被执行到。也就结构内的每一部分都有机会被执行到。也就是说,对每一个框来说,都应当

温馨提示

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

评论

0/150

提交评论