chapter1程序设计概述_第1页
chapter1程序设计概述_第2页
chapter1程序设计概述_第3页
chapter1程序设计概述_第4页
chapter1程序设计概述_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

程序设计概算本章目标命令、程序以及软件之间的关系了解C语言的发展解释何时以及为何使用C

语言讨论C

语言的程序结构讨论算法描述算法的两种方式:伪代码绘制流程图计算机的组成部分计算机的工作过程输入数据 处理 输出结果(信息)硬件软件(分为系统软件和应用软件)示例:奶昔制作牛奶草莓搅拌器1.牛奶倒入搅拌器2.掺一些草莓汁3.盖上盖子4.打开开关,开始搅拌5.完全混合后停止搅拌6.倒入碗中,放入冰箱7.隔一段时间取出比如我现在想制作一杯奶昔,我会按照下列步骤:如果我把这个过程详细的告诉你,你也会做出同样的奶昔,那如果我需要计算机做一件事情,我应该怎么告诉它?指令要让计算机按照我们的要求进行工作,应该怎么办?给计算机下达详细的指令并且要求给出的指令要:连续准确步骤有限一组符合要求的完整的具有逻辑顺序的计算机语言指令集合就构成了程序。例如:计算两个数的和程序步骤:取得第一个数,并记住它取得第二个数,并记住它对这两个数执行加法运算,并记住结果显示结果把这些步骤转换成计算机指令即转换成了计算机程序。但是开发一套软件时,我们要让计算机做的事情非常多,是不是把所有要做的事情都写在一个程序中呢?软件、程序以及命令软件程序2程序1命令命令命令每个程序由一组指令组成软件是将一组程序和相关的资源文件组织起来计算机语言要发送指令给计算机,我们所书写的指令必须是计算机所能直接识别或间接识别的。我们使用计算机语言来描述我们需要做的事情的过程,即编写程序的过程。目前比较常用的语言:汇编、C、C++、Java、.net等等这里我们介绍国际上广泛流行的C语言。C

语言的发展1、1978年由美国电话电报公司(AT&T)贝尔实验室正式发表C语言。2、后来由美国国家标准协会(AmericanNationalStandardsInstitute)在此基础上制定了C语言标准,于1983年发表,成为ANSICC

语言的应用领域

C

语言最初用于系统程序设计C语言在编写系统程序和与硬件相关的软件方面有明显的优势。操作系统、解释器、编辑器以及汇编器通常称为系统程序最初的UNIX是用汇编语言写的,后来unix的90%以上改为用C写的。目前有许多种C

编译器,都是以ANSIC为基础的,可以满足几乎所有类型PC

的需要,例如:MircrosoftC,TurboC,QuickC等。中级语言高级语言汇编语言CC语言特点:语言简洁、紧凑,使用方便、灵活运算符丰富多种数据类型具有结构化的控制语句允许直接访问物理地址,能进行位操作生成目标代码质量高,执行效率高用C写的程序可移植性好C是结构化语言

C语言允许分割代码和数据可以使用函数或代码块来实现这种特性代码块是逻辑上连接在一起的一组程序语句,可以当作一个单元来使用将一系列语句放在一对大括号内,就形成了一个代码块。do{i=i+1;...}while(i<40);C语言编程的一些规则:

C语言有32个关键字这些关键字结合惯用语法构成了C

程序设计语言所有用C语言编写的程序必须遵守的规则所有关键字使用小写形式C语言是区分大小写的,dowhile

和DOWHILE

不同关键字不能用作变量名或函数名程序执行总是先调用main()函数C

程序结构4-1#include“头文件”voidmain(){/*这是一个示例程序*/inti=0;i=i+1;…}C程序被分割成一个个的函数程序执行时先将控制权传递给main()函数函数名后总有圆括号圆括号内的参数有无都可以C程序结构4-2#include“头文件”voidmain(){/*这是一个示例程序*/inti=0;i=i+1;…}函数定义后面接一个大括号{}叫分隔符{代表代码块开始,}代表结束循环语句、判断语句也可以使用大括号C

程序结构4-3#include“头文件”voidmain(){/*这是一个示例程序*/inti=0;i=i+1;…}C语言使用分号;表示语句结束不识别回车、空格或制表符作结束符C程序结构4-4#include“头文件”voidmain(){/*这是一个示例程序*/inti=0;i=i+1;…}注释用于描述特定的命令、函数或程序多行注释用/*开始,用*/结束一行注释用//标出C

语言的库

#include“头文件”C

编译器都提供有标准函数库要使用标准函数库中的函数,必须把相应的头文件包含进来。例如:要使用数学函数,需要包含“math.h”要使用字符串函数,要包含“string.h”要使用输入输出函数,要包含“stdio.h”程序员编写的函数可以放在库中,然后在需要时使用程序的编译和运行#include文件库文件源文件#编译器目标文件obj链接器可执行文件exe其他用户生成的目标文件程序文本用户可以阅读将扩展的源代码转换成机器语言将目标代码与函数链接成可执行代码把现实问题转换成程序:首先自己能解决问题把解决问题的步骤详细的列出来然后转换成计算机语言的程序解决问题的步骤:教室离开教室向楼梯走去向自助餐厅走去自助餐厅按照这些步骤,学员可以从教室到达自助餐厅例如:要从教室走到位于地下室的自助餐厅算法:我们把解决问题而执行的一系列有限的步骤称之为算法。一个算法应该具有以下五个重要特征:有穷性确切性输入输出可行性有两种表示算法的方法:伪代码和流程图伪代码(1)伪代码不是真实的代码。它是一种使用一组标准的单词编写算法的方法,看起来与代码类似。例如:要输出显示一句话“HelloWorld”伪代码以BEGIN开始为了显示某些值,使用了单词DISPLAY

伪代码以END

结束

BEGIN Display“HelloWorld!”END伪代码(2)例如:要计算两个数之和伪代码:BEGININPUTA,BDISPLAYA+BEND或者:BEGININPUTA,BC=A+BDISPLAYCEND流程图是算法的一种图形化表示方式,将一个流程绘制成图,并使用符号表示其中的每个活动。START

DISPLAY'HelloWorld!'STOP

流程图符号符号说明程序的开始或结束计算步骤输入/输出指令判断和分支连接符流程线两数相加的流程图StartINPUTA,BC=A+BDISPLAYCStop起止框:这里是程序的开始输入输出框:这里用来输入两个数处理框:这里用来两个数相加输入输出框:这里用来显示和起止框:这里是程序的结束算法的基本流程结构算法的基本流程结构有三种:顺序结构分支循环分支结构(判断一个数是否是偶数)BEGININPUTnumR=numMOD2IfR=0Display“numberiseven“ENDIFENDSTARTINPUTnumR=numMOD2R=0DISPLAY“Numberisven”STOPYESNO那如果我想改为:是奇数就显示“numberisodd”是偶数就显示:“numberiseven”该怎么写算法?IF-ELSE

结构(如果…否则…)BEGININPUTnumr=numMOD2IFr=0DISPLAY"

NumberisEven

"ELSEDISPLAY"

Numberisodd

"ENDIFEND

STOPDISPLAY“Numberisodd”STARTINPUTnumr=numMOD2r=0DISPLAY“NumberisEven”YESNO使用AND/OR(并且/或者)连接多个条件BEGININPUTyearsWithUsInputbizDoneIFyearsWithUs>=10ANDbizDone>=5000000 DISPLAY“ClassifiedasanMVS"ELSE DISPLAY"Alittlemoreeffortrequired!"ENDIFEND在现实生活中有大量的需要检查判断的情况,可以用AND/OR运算符可以很方便的将这些条件连接起来。例如:若供应商的合作年数够10年,并且交易额够5000000,就授予MVS殊荣嵌套IF结构2-1(流程图表示)STARTINPUTyearsWithUsyearsWithUs>=10STOPINPUTbizDoneDISPLAY"class.."DISPLAYAlittle…bzDone>5000000DISPLAY“Alittle"是是否否嵌套IF结构2-2(伪代码表示)BEGININPUTyearsWithUsINPUTbizDoneIFyearsWithUs>=10IFbizDone>=5000000 DISPLAY"ClassifiedasanMVS"ELSEDISPLAY"Alittlemoreeffortrequired!"ENDIFELSE DISPLAY"Alittlemoreeffortrequired!"ENDIFEND

嵌套IF结构是指一个IF

语句中包含另一个IF语句,虽然没有AND,但功能一样练习1:若想根据学员的考试成绩判断相应的等级,应该怎么写算法?低于60分,显示不合格;60—80(不包括80),显示合格;80—100,显示优秀练习1:流程图怎么表示?STARTINPUTscoreScore<60STOPDISPLAY“合格"DISPLAY“不合格”Score<80DISPLAY“优秀"noyesyesno练习1:(伪代码怎么表示?)BEGININPUTscoreIfscore<60Display“不合格“Else ifscore<80 display“合格”

else display“优秀”EndifEND循环结构BEGINcnt=0WHILE(cnt<1000)DO DISPLAY"School" cnt=cnt+1ENDDOENDSTOPSTARTcnt=0cnt<1000DISPLAY“School”是否cnt=cnt+1当我想显示一个单词1000次,我应该怎么表示算法?Doloop1000timesDISPLAY“School”ENDloop练习2:若现在需要输入10个数,并计算总和和平均值,应该怎么做?STOPSTARTcnt=0,SUM=0cnt<10INPUTNUM是否cnt=cnt+1SUM=SUM+NUMAVG=SUM/10DisplaySUM,AVG总结本课讲述了以下内容:命令、程序以及软件之间的关系C

语言发展C语言特点C

语言的程序结构算法伪代码书写的算法流程图以及流程图中使用的符号程序的三种结构:顺序、分支、循环作业:思考题: 要计算10个数之和及平均值、最大值、最小值,应该怎么做?写出伪代码

温馨提示

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

评论

0/150

提交评论