简单三角函数胡计算器ppt课件(完整版).pptx

上传人:可**** 文档编号:75844413 上传时间:2023-03-05 格式:PPTX 页数:425 大小:1.66MB
返回 下载 相关 举报
简单三角函数胡计算器ppt课件(完整版).pptx_第1页
第1页 / 共425页
简单三角函数胡计算器ppt课件(完整版).pptx_第2页
第2页 / 共425页
点击查看更多>>
资源描述

《简单三角函数胡计算器ppt课件(完整版).pptx》由会员分享,可在线阅读,更多相关《简单三角函数胡计算器ppt课件(完整版).pptx(425页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第1篇 基础篇简单三角函数计算器项目概述简单三角函数计算器项目概述任务描述任务描述采用结构化程序设计思想,综合运用C语言知识,完成简单三角函数计算器的开发。该系统主要包括输入要计算的角度、选择要计算的三角函数(正弦、余弦、正切、余切)、输出计算结果等功能。任务分析任务分析实现一个简单三角函数计算器,能够完成计算出正弦、余弦、正切、余切等三角函数值。除了实现计算功能外,还需要实现基本的人机交互。比如,程序运行后,首先显示一个菜单(以下统称为主菜单),提示用户选择要进行哪种计算;用户选择后,该系统提示用户输入角度,并接收用户输入的角度;计算该角度的三角函数;然后在屏幕上输出计算结果;最后提示用户“

2、按任意键返回主菜单”。在主菜单中,用户选择“0”时,退出程序。学习目标学习目标熟悉C语言开发集成环境理解将实际问题中的信息抽象为C语言数据类型及变量的方法理解结构化程序设计思想掌握C语言中表示数据的方法掌握C语言程序人机交互的实现方法掌握C语言程序的三种基本结构掌握C语言用户自定义函数的定义、调用方法完成简单三角函数计算器的开发知识要点知识要点系统开发涉及的知识点包括:基本数据类型、常量和变量、运算符和表达式、输入输出函数、顺序结构程序设计、选择结构程序设计、循环结构程序设计和函数等内容。任务分解任务分解任务一 构建开发环境任务二 主菜单的顺序执行任务三 主菜单的选择执行任务四 主菜单的循环执

3、行任务五 利用函数优化源代码任务一 构建开发环境本任务要搭建C语言的集成开发环境,并熟悉在该环境中开发C语言程序的步骤。后续任务均在该环境中完成。任务描述选择一种C语言开发集成环境,并完成安装。熟悉在该环境中开发C语言程序的过程。任务分析本书中采用VC+6.0开发环境。本任务需要下载VC+6.0安装包,并完成安装,构建C语言开发环境。在该环境中,运行本章例题,熟悉C语言程序的开发过程。学习目标了解C语言的发展及特点。掌握C语言程序的基本结构。掌握使用VC+6.0开发C语言程序的过程。能够构建C语言开发环境。相关知识一、程序设计语言一、程序设计语言1.低级语言低级语言依赖于所在的计算机系统,也称

4、为面向机器的语言。由于不同的计算机系统使用的指令系统可能不同,因此使用低级语言编写的程序移植性较差。低级语言主要2.高级语言高级语言是面向用户的、基本上独立于计算机种类和结构的语言,其最大的优点是形式上接近于算术语言和自然语言。高级语言编写的程序易读、易修改、移植性好。包括机器语言和汇编语言。相关知识二、二、C语言发展及特点语言发展及特点1.C语言的发展语言的发展C语言是1972年由美国的Dennis M.Ritchie和Ken Thompson设计开发的,由早期的编程语言BCPL(Basic Combined Programming Language)发展演变而来。早期的C语言主要用于编写U

5、NIX操作系统的核心。目前,在计算机上广泛使用的C语言编译系统有Borland C+、Turbo C、Microsoft Visual C+(简称VC+)等。本书使用的开发环境是VC+6.0系统。相关知识2.C语言的特点和其他语言相比,C语言具有书写格式自由、数据类型丰富、语句功能强大、执行速度快和存储控制能力强等特点。(1)语言简洁、紧凑,使用方便、灵活。(2)数据结构丰富,具有现代化语言的各种数据结构。(3)C语言是结构式语言。(4)把高级语言的基本结构和语句与低级语言的实用性结合起来。(5)程序可移植性好。(6)表达力强。相关知识三、三、C语言程序的基本结构语言程序的基本结构1.几个简单

6、的C语言程序2.C语言程序的基本结构(1)一个C语言源程序可以由一个或多个源文件组成。(2)源程序中可以有预处理命令(include),通常放在源文件或源程序的最前面。(3)每个源文件可由一个或多个函数组成。(4)每个源程序必须有一个且只能有一个主函数main(),由系统自动地调用,是程序执行的起始点。主函数的位置是任意的,可以在程序开头、两个函数之间或程序的结尾。(5)所有语句必须以分号结束,但预处理命令、函数头和函数体的花括号“”之后不能加分号。(6)可以用“/*/”对C语言程序的任何部分做注释,以增强程序的可读性。VC+中还可以用“/”给程序加注释。相关知识3.C语言程序的书写规则(1)

7、C语言源程序一般用小写字母书写。(2)一个说明或一条语句占一行。(3)用“”括起来的部分,通常表示程序的某一层次结构。(4)低一层次的语句或说明可比高一层次的语句或说明缩进若干格后书写。增加程序的可读性。(5)对程序有必要的注释,以增强程序的可读性。相关知识四、四、C语言程序的运行过程语言程序的运行过程任务实施一、安装一、安装VC+6.0二、利用二、利用VC+6.0运行运行C程序程序拓展提升一、编程时常犯的错误一、编程时常犯的错误二、程序调试的基本方法二、程序调试的基本方法小 结C语言的特点。C语言程序的基本结构。使用VC+6.0开发C语言程序的过程。构建C语言开发环境。第1篇 基础篇简单三角

8、函数计算器项目概述简单三角函数计算器项目概述学习目标学习目标熟悉C语言开发集成环境理解将实际问题中的信息抽象为C语言数据类型及变量的方法理解结构化程序设计思想掌握C语言中表示数据的方法掌握C语言程序人机交互的实现方法掌握C语言程序的三种基本结构掌握C语言用户自定义函数的定义、调用方法完成简单三角函数计算器的开发任务分解任务分解任务一 构建开发环境任务二 主菜单的顺序执行任务三 主菜单的选择执行任务四 主菜单的循环执行任务五 利用函数优化源代码任务二 主菜单的顺序执行在任务一中,我们已经搭建好C语言的集成开发环境,从任务二开始逐步进行教学项目的开发。本任务首先完成项目主菜单的显示与顺序执行。任务

9、描述实现项目主菜单的显示,接收用户从键盘输入的角度,按主菜单顺序依次计算其正弦、余弦、正切、余切等4个三角函数,并输出计算结果。项目主菜单包括四项功能:正弦、余弦、正切、余切,如图2-1所示。任务分析该任务需要解决四个问题,即如何显示主菜单、如何接收从键盘输入的数据、如何计算正弦、余弦、正切、余切,以及如何输出计算结果。(1)显示主菜单。(2)接收从键盘输入的数据。(3)计算正弦、余弦、正切、余切。(4)输出计算结果。学习目标掌握C语言的基本数据类型。理解将实际问题中的信息抽象为C语言数据的方法。掌握常量和变量的概念及使用方法。掌握常用运算符的使用方法。掌握数据输入输出的常用方法。实现项目主菜

10、单的显示和顺序执行。相关知识一、数据类型一、数据类型相关知识二、常量与变量二、常量与变量1.常量常量常量是指在程序运行过程中始终不发生变化的量,主要包括整型常量、实型常量、字符型常量和字符串型常量。2.变量变量变量是指在程序运行过程中其值可以改变的量,通常用变量来保存程序执行时的输入数据、中间结果和最终结果等。相关知识三、运算符与表达式三、运算符与表达式用来表示各种运算的符号称为“运算符”。用运算符把操作数连接在一起组成的式子称为“表达式”。表达式按照运算符的运算规则进行运算,得到一个结果,称为“表达式的值”。相关知识1.算术运算符与算术表达式算术运算符与算术表达式相关知识2.赋值运算符与赋值

11、表达式赋值运算符与赋值表达式相关知识3.关系运算符与关系表达式关系运算符与关系表达式相关知识4.逻辑运算符与逻辑表达式逻辑运算符与逻辑表达式相关知识四、数据类型转换四、数据类型转换C语言中的数据类型转换有两种方式:自动类型转换和强制类型转换。1.自动类型转换自动类型转换是指C语言的编译系统按既定的规则进行类型转换。其转换规则为:(1)在C语言的一般表达式中,不同类型数据进行运算时,其转换原则是:参加运算的各种变量转换成它们之间占用空间最长的数据类型。(2)在C语言的赋值表达式中,如果赋值号左右两边的类型不一致,则右边的值先转换成与赋值号左边的变量相同的类型,然后再进行赋值。相关知识2.强制类型

12、转换上面的数据类型转换是C语言自动完成的。在编写程序时,可以根据需要进行强制类型转换。一般格式是:()功能:将表达式的值强制转换为指定的数据类型,即在括号内标出的数据类型。相关知识五、格式输入五、格式输入/输出函数输出函数1.格式输出函数printf()printf()函数是一个标准的库函数,它的函数原型在头文件“stdio.h”中,但不要求在使用printf()函数前必须使用文件包含命令:#include。函数功能:首先计算输出表列中各表达式的值,然后按照中给出的格式说明,将各表达式的值转换成所需要的输出格式,在显示器上输出。调用形式:printf(格式控制字符串,输出表列);相关知识相关知

13、识2.格式输入函数scanf()scanf()函数是一个标准的库函数,它的函数原型在头文件“stdio.h”中,但不要求在使用scanf()函数前必须使用文件包含命令:#include stdio.h。函数功能:从键盘按照中规定的格式输入若干个数据,按中变量的顺序,依次赋值给对应的变量。调用形式:scanf(格式控制字符串,变量地址表列);相关知识六、字符输入六、字符输入/输出函数输出函数1.字符输出函数putchar()putchar()函数是一个标准的库函数,它的函数原型在头文件“stdio.h”中,要求在使用putchar()函数前必须使用文件包含命令:#include stdio.h。

14、函数功能:向终端输出一个字符或字符变量的值。调用形式:putchar(c);相关知识2.字符输入函数getchar()getchar()函数是一个标准的库函数,它的函数原型在头文件“stdio.h”中,要求在使用getchar()函数前必须使用文件包含命令:#include stdio.h。函数功能:等待用户从标准输入设备键盘输入一个字符。如果输入成功,函数返回这个字符的ASCII值。任务实施一、显示主菜单一、显示主菜单#include#include void main()int x;double sinx,cosx,tanx,cotx;printf(nnnn);printf(ttt 三角函

15、数计算器 n);printf(ttt-n);printf(tttt1.正弦n);printf(tttt2.余弦n);printf(tttt3.正切n);printf(tttt4.余切n);printf(ttt-n);printf(ttt请输入角度(0-180):);任务实施二、接收从键盘输入的数据修改上面程序,在第15行后增加以下语句:scanf(%d,&x);/接收用户从键盘输入的角度任务实施三、计算正弦、余弦、正切、余切在语句scanf(%d,&x)之后增加以下语句:sinx=sin(x*3.14/180);cosx=cos(x*3.14/180);tanx=tan(x*3.14/180)

16、;cotx=1/tan(x*3.14/180);任务实施四、输出计算结果printf(nttt%d的正弦值是:%.2lf。,x,sinx);printf(nttt%d的余弦值是:%.2lf。,x,cosx);printf(nttt%d的正切值是:%.2lf。,x,tanx);printf(nttt%d的余切值是:%.2lf。n,x,cotx);拓展提升一、整型变量的类型一、整型变量的类型二、二、sizeof运算符运算符三、逗号运算符与逗号表达式三、逗号运算符与逗号表达式四、条件运算符与条件表达式四、条件运算符与条件表达式五、符号常量五、符号常量六、位运算六、位运算小 结C语言的基本数据类型。将

17、实际问题中的信息抽象为C语言数据的方法。常量和变量的概念及使用方法。常用运算符的使用方法。数据输入输出的常用方法。项目主菜单的显示和顺序执行。第1篇 基础篇简单三角函数计算器项目概述简单三角函数计算器项目概述学习目标学习目标熟悉C语言开发集成环境理解将实际问题中的信息抽象为C语言数据类型及变量的方法理解结构化程序设计思想掌握C语言中表示数据的方法掌握C语言程序人机交互的实现方法掌握C语言程序的三种基本结构掌握C语言用户自定义函数的定义、调用方法完成简单三角函数计算器的开发任务分解任务分解任务一 构建开发环境任务二 主菜单的顺序执行任务三 主菜单的选择执行任务四 主菜单的循环执行任务五 利用函数

18、优化源代码任务三任务三 主菜单的选择执行主菜单的选择执行在任务二里,我们完成了项目主菜单的显示与顺序执行。运行程序后,接收用户输入的角度,计算其正弦、余弦、正切、余切等4个三角函数,并在屏幕上输出计算结果。但是有时用户并不需要计算全部4个三角函数,只需要计算其中1个。这种情况下,源代码不需要顺序执行全部语句,而是根据用户的需要有选择地执行部分语句。比如用户只想计算正弦,程序只需执行正弦的计算语句和输出语句,其余3个三角函数的计算和输出语句则不需执行。这就是主菜单的选择执行,需要用C语言中的选择语句实现。任务描述实现项目主菜单的选择执行。具体为,屏幕输出主菜单,用户根据菜单提示选择三角函数类型,

19、并输入角度,程序计算并输出对应的三角函数值。如图3-1所示。任务分析本任务要根据用户对主菜单的选择进行不同的计算。主菜单共有4个选项,相应地,程序就需要处理4种不同的情况,这在C语言里称为分支结构。C语言有两种语句实现分支结构:一是if语句;二是switch语句。本任务将分别用if语句和switch语句实现主菜单的选择执行。学习目标理解C语言的三种程序结构。理解程序流程图。掌握选择结构程序设计的思想和方法。掌握if语句实现分支结构的方法。掌握switch语句实现分支结构的方法。能运用C语言分支结构解决实际问题。相关知识一、程序设计1.程序设计的步骤程序设计的一般步骤如下:分析问题。针对具体的实

20、际问题,分析问题涉及到的各种数据信息及其基本结构。设计数据结构。数据结构是指对数据的描述。通过分析要解决的任务,确定输入数据和输出数据,并在程序中指定数据的类型和数据的组织形式。设计算法。算法是指计算机解决问题的操作方法和步骤,即对计算机求解步骤的具体描述。编写程序。根据确定的数据结构和算法,使用选定的计算机语言编写程序代码。调试程序。将编写好的程序代码输入到计算机中,对程序进行测试并修正,直到程序符合任务要求为止。数据结构设计和算法设计处于核心的位置。数据结构设计和算法设计处于核心的位置。相关知识2.算法的表示算法的表示(1)自然语言自然语言即人们日常使用的语言,如汉语、英语或其他国语言。(

21、2)流程图流程图是指用规定图形符号、流程线和文字说明表示各种操作的图形。(3)N-S图N-S图去掉了箭头,全部算法写在一个矩形框内。做图简单,面积小,适于结构化程序设计。(4)伪代码法伪代码是用介于自然语言和计算机语言之间的文字和符号来描述算法。每一行或几行表示一个基本操作。书写方便,格式紧凑,便于向计算机语言算法(即程序)过渡。相关知识2.算法的表示算法的表示(1)自然语言【例3-1】输入3个数,输出其中最大的数。用自然语言描述算法。分析:定义4个变量用于存放3个数及3个数中的最大数,比较是两两进行的。设输入的3个数分别为A、B、C,最大数放在MAX中。第一步:输入A、B、C的值。第二步:比

22、较A、B的值,把大数放入MAX中。第三步:比较C、MAX的值,把大数放入MAX中。第四步:输出MAX,算法结束。相关知识2.算法的表示算法的表示(2)流程图相关知识2.算法的表示算法的表示(3)N-S图相关知识2.算法的表示算法的表示(4)伪代码法input A、B、Cif A BMAX=AelseMAX=Bif C MAXMAX=Coutput MAX相关知识二、三种基本程序结构程序的三种基本控制结构是顺序结构、选择结构和循环结构。顺序结构是最简单的一种结构,在顺序结构程序中,各语句按照书写的先后顺序依次执行。选择结构根据判断结果确定不同的后续语句,主要用于描述程序中根据某些数据的取值或者计

23、算结果选取不同操作的处理方式。循环结构是指利用给定条件控制某组语句重复执行多次的流程。相关知识1.顺序结构相关知识2.选择结构相关知识3.循环结构循环结构又称为重复结构,即在一定条件下反复执行某一部分的操作。这里的一定条件称为循环条件,通常用关系表达式或逻辑表达式表示。反复执行的部分称为循环体。循环结构是3种基本结构中较复杂的一种结构。循环结构有当型和直到型两种主要形式。(1)当型循环结构功能:先判断条件是否成立,若条件成立则执行循环体,然后重新去判断条件是否成立,若条件成立则继续执行循环体,如此反复直到条件不成立为止。如图3-9所示。(2)直到型循环结构功能:先执行循环体,再去判断条件是否成

24、立,若成立则去执行循环体,直到条件不成立为止。如图3-10所示。循环结构一般包含以下4个部分。(1)初始化部分:为循环变量及各种有关变量赋初值。(2)循环体:重复执行的部分。(3)修改部分:修改循环变量的值,为下一次重复执行做准备。(4)判断检查部分:判断检查循环变量的值,是否已超过循环变量的终值,若未超过则继续重复执行循环体,否则结束。相关知识三、if语句if语句有种形式:单分支if语句、双分支if语句、多分支if语句。1.单分支if语句格式如下:if(表达式)语句;功能:若表达式的值为真,则执行其后的语句,否则不执行语句。相关知识2.双分支if语句格式如下:if(表达式)语句1;else语

25、句2;功能:若表达式的值为真,则执行语句1,否则执行语句2。相关知识3.多分支if语句格式如下:if(表达式1)语句1;else if(表达式2)语句2;else if(表达式m)语句m;else语句n;功能:由上而下,依次判断表达式的值,当某个表达式的值为真时,就执行其对应的语句。执行完毕后,跳出if选择语句,继续执行其下一条语句。如果所有的表达式全为假,则执行else后的语句n。相关知识4.if语句的嵌套在if语句中,语句1和语句2本身也可以是if语句,此时称为if语句的嵌套。格式如下:if(表达式1)if(表达式2)语句1;else语句2;elseif(表达式3)语句3;else语句4;

26、相关知识四、四、switch语句语句使用if语句实现复杂问题的多分支选择时,程序的结构显得不够清晰,因此,C语言提供了一种专门用来实现多分支选择结构的switch语句,又称开关语句。switch语句的一般形式如下:switch(表达式)case 常量1:语句1;case 常量2:语句2;case 常量n:语句n;default:语句n+1;任务实施一、一、使用if语句实现二、使用二、使用if嵌套语句实现嵌套语句实现使用使用switch语句实现语句实现拓展提升一、用条件表达式实现简单的选择结构二、在程序中使用条件表达式在程序中使用条件表达式小 结C语言的三种程序结构。选择结构程序设计的思想和方法

27、。if语句实现分支结构的方法。switch语句实现分支结构的方法。C语言分支结构解决实际问题的方法。第1篇 基础篇简单三角函数计算器项目概述简单三角函数计算器项目概述学习目标学习目标熟悉C语言开发集成环境理解将实际问题中的信息抽象为C语言数据类型及变量的方法理解结构化程序设计思想掌握C语言中表示数据的方法掌握C语言程序人机交互的实现方法掌握C语言程序的三种基本结构掌握C语言用户自定义函数的定义、调用方法完成简单三角函数计算器的开发任务分解任务分解任务一 构建开发环境任务二 主菜单的顺序执行任务三 主菜单的选择执行任务四 主菜单的循环执行任务五 利用函数优化源代码任务四任务四 主菜单的循环执行主

28、菜单的循环执行在任务三里,我们完成了项目主菜单的选择执行,接收用户的选择,并执行对应的功能。但是每次运行程序只能选择主菜单中的一项功能,执行完这项功能后直接退出程序。我们希望程序开始运行后,只要不选择“退出”功能,程序就一直运行。具体为,程序运行后,显示主菜单,根据用户选择执行完一项功能后,返回到程序主菜单,等待用户再次选择,直到用户选择“退出”,程序结束。在这个过程中,主菜单的显示是重复性的操作。在C语言中,称为循环执行,可以利用C语言提供的循环语句实现。任务描述本任务中实现项目主菜单的循环执行,即每执行完一项功能后,返回到程序主菜单,等待用户再次选择,直到用户选择“退出”,整个程序运行结束

29、,如图4-1所示。这是典型的循环结构,只要用户不输入“0”,则计算并输出三角函数值(当输入14时)或者提示选择错误(当输入14之外的数值时)后,就再次显示主菜单,等待用户再次选择;直到用户输入“0”,程序才结束。任务分析无论采用哪种循环语句,循环结构必须指定循环条件和循环体。在本任务中,循环条件是:用户输入的选项不为“0”。循环体包括:三角函数的计算及输出、项目主菜单的显示、接收用户输入的选项。即,只要用户不选择“0”,每执行完一项功能,就会显示项目主菜单;如果用户选择了“0”,则退出循环体,不再显示项目主菜单。任务四将用三种方法实现项目主菜单的循环执行。学习目标理解循环结构程序设计的思想和方

30、法掌握while、dowhile和for语句的使用格式和执行过程掌握while、dowhile和for语句实现循环结构的方法掌握break和continue语句的使用方法和区别能运用C语言中的循环语句解决实际问题相关知识一、while语句1.while语句的语法格式while语句的一般形式为:while(表达式)循环体2.while语句的执行过程相关知识3.while语句应用举例语句应用举例相关知识二、dowhile语句1.dowhile语句的语法格式dowhile语句的一般形式为:do循环体 while(表达式);其中,do是C语言的关键字,必须和while联合使用。dowhile语句由do

31、开始,到while结束。注意,在while的表达式后必须有分号,表示该语句的结束。其他同while语句。相关知识2.dowhile语句的执行过程语句的执行过程(1)首先执行循环体语句,然后判断表达式的值为真(非0)还是为假(0)。(2)如果表达式的值为真,则重复步骤(1);如果表达式的值为假,则循环结束,执行while语句之后的语句。相关知识3.dowhile语句应用举例语句应用举例相关知识三、for语句相关知识3.for语句应用举例语句应用举例相关知识四、break语句break语句通常用在循环语句和switch语句中。break在switch语句中的用法在前面已经讲过,这里不再重复。当br

32、eak语句用于while、dowhile和for循环语句中时,可使程序终止break语句所在层的循环,提前退出循环。相关知识五、continue语句相关知识2.continue语句应用举例语句应用举例相关知识3.break和continue语句的区别相关知识六、几种循环的比较六、几种循环的比较13种循环都可以用来处理同一问题,一般情况下它们可以互相代替。2在while循环和dowhile循环中,只在while后面的括号内指定循环条件,因此为了使循环能正常结束,应在循环体中包含使循环趋于结束的语句。for循环可以在“表达式3”中包含使循环趋于结束的操作,甚至可以将循环体中的操作全部放到表达式3中

33、,因此,for语句的功能更强,凡用while循环能完成的,用for循环都能实现。3用while和dowhile循环时,循环变量初始化的操作应在while和dowhile语句之前完成。而for语句可以在表达式1中实现循环变量的初始化。4 while循环、dowhile循环和for循环,都可以用break语句跳出循环,用continue语句结束本次循环。任务实施一、使用while语句实现二、使用dowhile语句实现三、使用for语句实现拓展提升一、循环嵌套二、二、while循环和循环和dowhile循环的比较循环的比较三、循环结构的测试三、循环结构的测试小 结循环结构程序设计的思想和方法whil

34、e、dowhile和for语句的使用格式和执行过程while、dowhile和for语句实现循环结构的方法break和continue语句的使用方法和区别运用C语言中的循环语句解决实际问题第2篇 提高篇学生信息管理系统项目概述学生信息管理系统项目概述采用结构化程序设计思想,综合运用C语言知识,完成学生信息管理系统的开发。该系统主要包括学生信息的录入与浏览、成绩的统计分析、补考名单的输出、学生信息的查询与修改等功能。任务分析任务分析根据系统主要功能,可以将系统划分为录入学生信息、浏览学生信息、成绩统计分析、输出补考名单、查询学生信息、修改学生信息等6个模块。任务分析任务分析(1)录入学生信息。接

35、收用户从键盘输入的学生信息,包括姓名、班级、学号、成绩。(2)浏览学生信息。输出所有学生的信息,包括姓名、班级、学号、成绩。(3)成绩统计分析。输出最高分、最低分、平均分,统计各分数段人数及比例。分数段共有优秀、良好、中等、及格、不及格五个等级,分别对应百分制的90 x100、80 x90、70 x80、60 x70、x60。(4)输出补考名单。查找不及格学生,输出其学号及姓名。(5)查询学生信息。按学号查找并输出指定学生的信息。(6)修改学生信息。按学号查找并修改指定学生的信息,比如班级、姓名、成绩。学习目标学习目标理解将实际问题中的信息抽象为C语言数组、结构体变量的方法理解指针的概念和使用

36、方法掌握数组、结构体表示数据的方法掌握文件读写操作的方法完成学生信息管理系统的开发知识要点知识要点系统开发涉及的知识点主要包括程序的3种基本结构、函数、数组、指针、结构体、文件等内容。其中程序的3种基本结构、函数已经在第一篇进行了介绍。数组、指针、结构体、文件的知识将在本篇详细介绍。任务分解任务分解任务六 学生成绩信息的统计分析利用数组处理学生信息里的数值类数据(成绩)。任务七 学生综合信息的管理利用结构体处理学生综合信息,包括数值型及字符型数据。任务八 学生信息的存储利用磁盘文件保存学生信息。任务六 学生成绩信息的管理本章我们将进行学生成绩统计分析系统的开发。系统功能主要包括:输入学生成绩、

37、浏览学生信息、找出最高分、最低分、计算平均分、统计各分数段人数及比例、输出需补考学号、按学号查询成绩、按学号修改成绩等。任务描述本任务实现学生成绩信息的统计分析。从系统具体功能可知,系统主模块应包含显示主菜单、输入学生成绩、浏览学生成绩、成绩统计分析、输出补考学号、查询学生成绩、修改学生成绩等7项。任务分析采用结构化程序设计思想,每个模块都定义为一个功能相对独立的函数,各模块对应函数如下:(1)显示主菜单。函数为MainMenu()。(2)录入学生成绩。函数为Input()。(3)浏览学生成绩。函数为Display()。(4)成绩统计分析。函数为Analyze()。(5)输出补考名单。函数为O

38、utput()。(6)查询学生成绩。函数为Search()。(7)修改学生成绩。函数为Modify()。学习目标理解利用数组存放信息的思想和方法能将实际问题中的数据信息抽象为数组掌握数组的定义与初始化的操作方法掌握对数组元素输入、输出、查找、修改的操作方法完成学生成绩信息统计分析系统的开发相关知识通常,在程序中参与操作的数可以分为两种形式:一种是单一数据;另一种是批量数据。单一数据是指用于描述一个事物或一个概念且相对独立的数据;而批量数据是指将若干个具有相同性质的数据组织在一起且共同参与某项操作的数据集合。数组是C语言提供的一种专门用来组织批量数据的数据类型,它可以将性质相同且需要共同参与某项

39、操作的多个数据有效地组织起来,是一种应用十分频繁且非常重要的数据类型。相关知识一、一维数组一、一维数组1.一维数组的定义一维数组变量的定义格式如下:元素类型 数组变量名;例如:float score6;相关知识2.一维数组的初始化一维数组的初始化数组初始化的基本格式为元素类型 数组变量名=元素初值1,元素初值2,.,元素初值n;例如,float score6=70,68,82,58,92,89;相关知识3.一维数组元素的引用及基本操作一维数组元素的引用及基本操作对数组元素的引用格式如下数组变量名下标表达式其中,“数组变量名”是一个已经定义的数组变量,“下标表达式”的结果应该是一个介于数组下标取

40、值范围内的整型数值。例如,score0、score1、score5分别表示score数组的各个元素。相关知识(1)数组的赋值数组的赋值有三种方法,一是在定义数组型变量的同时对其进行初始化;二是利用赋值语句为数组赋值;三是调用标准输入函数为数组赋值。当为数组中的某个特定元素赋值时,需要通过数组变量名和下标值指出相应的数组元素。例如:score5=78;scanf(%f,&score2);/程序等待用户通过键盘输入1个实型数值,赋给score数组中下标是2的元素。相关知识当需要为数组中的每个元素赋值时,应该使用循环结构。例如:int i;for(i=0;i6;i+)/给score数组中的每个元素赋

41、值20scorei=20;C语言除了在定义数组时可以为数组整体赋值之外,不能在其他情况对数组进行整体赋值。例如,下面的用法是错误的。int array10;for(i=0;i10;i+)scanf(%d,array);相关知识(2)数组的输出与数组型变量赋值一样,数组的输出是通过输出数组型变量中的每一个元素值实现的。例如:int i;for(i=0;i6;i+)/依次输出score数组中的6个元素printf(%.2f,scorei);相关知识【例6-1】从键盘输入10个整数,找出最大值并输出。相关知识例6-2】从键盘输入10个学生的百分制成绩,计算平均成绩并输出。相关知识【例6-3】从键盘输

42、入某班(每班最多50人)学生的百分制成绩(输入-1时表示该班成绩输入完毕),求平均成绩并输出。相关知识【例6-4】从键盘输入10个学生的百分制成绩,统计各分数段人数及比例。分数段共有优秀、良好、中等、及格、不及格五个等级,分别对应百分制的90 x100、80 x90、70 x80、60 x70、x60。相关知识【例6-5】从键盘输入10个学生的百分制成绩,判断是否有不及格的学生。相关知识【例6-6】从键盘输入10个学生的百分制成绩,查找不及格的学生,输出其在数组中的顺序号及成绩。相关知识【例6-7】计算选手得分。假设有10位评委打分,计算选手最终得分的方法是:首先去掉一个最高分和一个最低分,然

43、后计算剩余8个分数的平均值,所得结果就是选手的最终得分。编程实现该功能。相关知识【例6-8】统计选举结果。假设有5位候选人,编程统计每位候选人的得票数目及选举结果。相关知识二、字符数组二、字符数组前面介绍的数组都是数值型的数组,数组中的每一个元素都是用来存放数值型的数据。数组不仅可以是数值型的,也可以是字符型的或其他类型的(比如指针类型、结构体类型)。用来存放字符数据的数组是字符数组。字符数组中的一个元素存放一个字符。相关知识1.字符数组的定义及初始化字符数组的定义及初始化(1)先定义数组再逐个赋值相关知识(2)定义字符数组时对各元素赋值,即初始化。char str10=I,a,m,L,i,l

44、,y,.;char str10=L,i,l,y;相关知识2.字符串字符串字符串是一种常用的数据形式,是指一个有限长度的字符序列。在C语言中,并没有直接提供字符串数据类型,而是借助于字符型数组实现字符串的组织。在C语言中,字符串常量用一对双引号括起来。例如,“Lily Xu”、“张三”、“山东职业学院”、“男”都是字符串常量。相关知识在C语言中,字符串用字符型数组存储,并且以0作为结束标志。例如char s11=I am Lily.;相关知识3.字符数组的输入输出字符数组的输入输出有两种方法。一种是逐个字符输入输出;另一种是整个字符串输入输出。相关知识(1)逐个字符输入输出。用字符输入输出函数g

45、etchar()和putchar(),或者用格式化输入输出函数scanf()和printf()的格式符“%c”,结合循环实现逐个字符输入或输出。例如,char name10;for(i=0;i10;i+)scanf(%c,&namei);/或者 namei=getchar();for(i=0;i10;i+)printf(%c,namei);/或者 putchar(namei);相关知识(2)整个字符串输入输出用格式化输入输出函数scanf()和printf()的格式符“%s”将整个字符串一次输入或输出。char name10;scanf(%s,name);printf(%s,name);用ge

46、ts()和puts()函数实现整个字符串的输入输出。相关知识三、字符串标准函数三、字符串标准函数相关知识四、数组作函数参数四、数组作函数参数1.数组元素作函数参数数组元素作函数参数数组元素作函数的实参,与普通变量作实参一样,传递方式是单向值传递方式。相关知识2.数组名作为函数参数在C语言程序中,有时需要把数组的全部元素传递到另一个函数中去处理,此时可以用数组名作为函数参数。任务实施一、搭建系统整体框架一、搭建系统整体框架二、具体函数的实现二、具体函数的实现(1)录入学生成绩函数(2)浏览学生成绩函数(3)成绩统计分析函数(4)输出补考名单函数(5)查询学生成绩函数(6)修改学生成绩函数拓展提升

47、一、二维数组1.二维数组的定义定义二维数组的一般形式为:类型名 数组名常量表达式1常量表达式2;拓展提升2.二维数组的初始化二维数组的初始化形式有以下几种。(1)对每个元素进行初始化int a34=12,11,10,9,8,7,6,5,4,3,2,1;int a34=12,11,10,9,8,7,6,5,4,3,2,1;int a4=12,11,10,9,8,7,6,5,4,3,2,1;拓展提升(2)只对二维数组中的部分元素初始化。int array134=,1,2,3,4,5,6;int array234=1,2,3,4,5,6;拓展提升3.二维数组元素的引用二维数组元素的引用定义二维数组型

48、变量之后,就可以通过引用二维数组的每个元素对其实现各类操作。由于每个二维数组元素需要由两个下标才能够惟一确定,因此引用二维数组元素的格式为:数组名下标1下标2拓展提升二、排序二、排序排序就是将一组无序的数列重新排列成非递减或非递增的顺序。拓展提升1.选择排序选择排序选择排序是一种最简单的排序方法。假设有n个数据要排序,其基本思路是:首先从n个数据中选择一个最小的数据,并将它交换到第1个位置;然后再从后面n-1个数据中选择一个最小的数据,并将它交换到第2个位置;以此类推,直至最后从两个数据中选择一个最小的数据,并将它交换到第n-1个位置为止,整个排序操作结束。拓展提升2.冒泡排序冒泡排序冒泡排序

49、的基本思路是:先将第1个数和第2个数比较,如果第1个数比第2个数大,就将两个数互换,这样,第2个数就是2个数中最大的了;然后再将第2个数和第3个数比较,如果第2个数比第3个数大,就将两个数互换,这样,第3个数就是3个数中最大的了;依此规律,将相邻两个数比较,将大的调到后头。最终实现将所有的数据按照非递减的顺序重新排列。拓展提升三、二分查找三、二分查找查找是指根据某个给定的条件,在一组数据中搜索是否存在满足该条件的数据的过程。如果存在,则表示查找成功,给出成功的标志;否则表示查找不成功,给出失败的标志。顺序查找是按照从前往后的顺序依次查看每个数据,如果找到,则终止查找;如果所有数据都查看完毕,仍

50、没有找到符合条件的数据,说明该数据不存在。拓展提升如果参加查找操作的所有数据已经是排好顺序的(称为有序数列),可以充分利用它的有序性,采用更快捷的二分查找法。二分查找法是指每次将要查找的数(以下用key代替)与位于查找区间中央位置的元素进行比较,比较结果将会产生下面3种情形之一(以非递减有序数列为例)。(1)如果相等,说明查找成功。(2)如果key小于中央位置的元素,说明如果存在这样的元素,应该位于查找区间的前半部分。此时可以将查找区间缩减为原来的一半,并在这一半的区间中继续用相同的方式查找。(3)如果key大于中央位置的元素,说明如果存在这样的元素,应该位于查找区间的后半部分。此时可以将查找

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作计划

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁