【文档说明】C语言课件(第2章)_2.ppt,共(33)页,614.501 KB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-44581.html
以下为本文档部分文字说明:
CProgrammingLanguageC语言与程序设计第二章算法algorithm所有的学习都是一个自学的过程。学生学习知识时主要是靠自己勤奋刻苦。老师最大的任务就是教他们怎样去学。----OrisonS.Marden(美)本课程的基本要求具有计算机的基本知识掌握C语言的基本概
念掌握C语言的基本数据结构和常用算法、基本语句,熟悉算法描述工具基本掌握用C语言程序设计的方法、调试程序的方法及技巧2.1程序与程序设计一、程序(Program)为使计算机完成一个预定的任务而设计的一系列语句或指令main(){inta,b,c;a=100;b=200;c=a+b;pr
intf(“sum=%d\n”,c);}stud.c一个程序应包括两方面的内容数据结构(Datastructure)数据类型(Datatypes)数据结构+算法=程序1、对数据的描述算法(algorithm)
2、对操作的描述+设计方法main(){inta,b,c;a=100;b=200;c=a+b;printf(“sum=%d\n”,c);}对数据的描述对操作的描述二、程序设计(Programming)设计、书写及检查调试程序的过程。数据结构确定算法编写代码调试运行整
理结果并攥写文档程序=数据结构+算法+程序设计方法+文档EXAMPLE[2-1]:T7-C-4班学生成绩表单姓名英语高数总分春风8867夏天8079秋雨9283冬雪7690请计算下列给出的成绩表单中“春风”的总成
绩姓名英语高数总分春风8867夏天8079秋雨9283冬雪7690英语和高数成绩均用整型数据表示:intscore1,score2,sum;数据结构确定算法sum=score1+score2score1=88score
2=67Beginsum=0score1=88Score2=67sum=score1+score2输出sumEnd姓名英语高数总分春风8867夏天8079秋雨9283冬雪7690数据结构确定算法编写代码main(){intscore1,sc
ore2,sum=0;score1=88;score2=67;sum=score1+score2;printf(“sum=%d\n”,sum);}Beginsum=0score1=88Score2=67sum=s
core1+score2输出sumEnd姓名英语高数总分春风8867夏天8079秋雨9283冬雪7690数据结构确定算法编写代码main(){intscore1,score2,sum=0;score1=88;sc
ore2=67;sum=score1+score2;printf(“sum=%d\n”,sum);}调试运行整理结果并攥写文档程序名称:sum.c程序员:李晓程序功能:计算学生成绩代码编写日期:2009年2月25日该程序算法用下列程序流程图描述:……155三、源程序与目标程序(Ob
ject)sourceprogram……complierobjectprogramotherobjectfiles/librarieslinkerexecutablefile………………FIGURE1-1Thecompliationprocess2.2
算法与算法的描述一、算法所谓“算法”,是指为解决一个问题所采取的方法和步骤。1001+2+3+……+100,即nn=11+2+3+4+5+……+100100+(99+1)+(98+2)+……+(51+49)+50=100+50+49X100=5050(1+3+5+……+99)+(2+4+6+……
+100)=50501+2+3+4+5+……+100=5050(1+100)+(2+99)+(3+98)+……+(49+52)+(50+51)=101X50=5050完成一项工作设计算法实现算法二、算法的描述工具描述工具程序流程图N-S图PAD图伪代码……X1起止端点输入/输出一般
处理预定义处理条件判断循环上界循环下界流程线Beginsum=0score1=88Score2=67sum=score1+score2输出sumEnd请用程序流程图描述求解下列问题的算法姓名英语高数总分春风8867EXAMPLE[2-2]:用程序流程图表示的三种基本结构ABC顺序结构Aexp
T选择结构ABexpTFF……caseexpcase1casencase2选择结构AexpTF循环结构expTAF设:a=100b=200现将a与b中的值互换。请用程序流程图描述其互换过程EXAMPLE[2-3]:ab100200t100200100Begina=100b=20
0t=aa=bb=t输出a,bEnd现代社会是竞争时代,可以说是机遇与危机并存,只要我们思路开阔,头脑灵活,就能够在生活中把握机遇,铸造辉煌的人生。----OgMandino(美)健康、青春和自由可以说是人生的三大财宝,但当我们拥有它时,却毫无所觉,一旦丧失后,才意识到它们的可
贵。----ArthurSchopenhauer(德)输入a与b两个值,若a>b则输出a。请用程序流程图描述其执行过程。EXAMPLE[2-4]:BeginTF输入a,ba>b输出aEnd输入a与b两个值,若a>b则输出a,否则输出b。请用程
序流程图描述其执行过程。EXAMPLE[2-5]:Begin输入a,ba>bTm=aFm=b输入a,bEndBeginEnd输入a,b,c三个值,请输出三个值中最大的一个。请用程序流程图描述其执行过程。输出m输入a,b,ca>bTm=am=bFm>cm=cFTEXERCISES[2-
1]:输入a,b,c三个值,请按其值从大到小排序并输出。要求用程序流程图描述其排序过程。EXERCISES[2-2]:BeginEnd输出a,b,c输入a,b,cTt=aa=bb=tFa>cFTt=aa=cc=tb>cFt=bb=cc=tTa>bBeginsum=0i=1sum=sum+i输出
sumEnd请用程序流程图描述:sum=1+2+3+4+……+100的计算步骤。设:i计数器:i=i+1sum为累加器:sum=sum+ii=i+1Ti>100FEXAMPLE[2-6]:顺序结构1973年由美国学者I.Nass
i、B.ShneidermanABTFexpABexpA选择结构循环结构描述计算:sum=1+2+3+4+……+100sum=0,i=1i100sum=sum+ii=i+1输出sumEXAMPLE[2-7]:一个人要想成大事,必须要依靠自己的能量把
自己变成坚韧者,因为人生本来就不会很轻松很温柔、很舒适的。----GeorgeWilman(美)