语言程序设计基础第5章(算法与C程序设计)课件.ppt

语言程序设计基础第5章(算法与C程序设计)课件.ppt

ID:57066752

大小:93.50 KB

页数:23页

时间:2020-07-30

语言程序设计基础第5章(算法与C程序设计)课件.ppt_第1页
语言程序设计基础第5章(算法与C程序设计)课件.ppt_第2页
语言程序设计基础第5章(算法与C程序设计)课件.ppt_第3页
语言程序设计基础第5章(算法与C程序设计)课件.ppt_第4页
语言程序设计基础第5章(算法与C程序设计)课件.ppt_第5页
资源描述:

《语言程序设计基础第5章(算法与C程序设计)课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Chap3算法与c程序设计算法C语句概述C程序的基本结构算法程序用编程语言编写,完成特定功能的语句的集合。编程步骤:1.明确问题2.问题若干具体步骤(算法)3.算法程序4.上机调试运行算法解题方法或解题步骤的精确描述算法表示:文字描述、流程图和N-S流程图算法与程序程序=算法+数据结构+结构化程序设计方法+语言工具和环境例3-1从键盘中输入100个整数,对其中的正整数进行累加,最后输出结果。算法描述(自然语言)⑴输入一个数;⑵如果该数>0,累加它;⑶如果100个数没有输入完,转步骤(1);⑷输入完

2、100个数后,输出累加和。例3-1算法描述(流程图)开始输入一个数该数>0累加输入完100个数输出累加和结束起止框处理框判断框流向线YYNN例3-1算法描述(N-S流程图)处理判断重复算法的C语句实现voidmain(){intx;/*存放输入数的单元*/intcount;/*存放输入个数的单元*/intsum;/*存放累加和的单元*/count=0;sum=0;/*工作单元初值*/do{scanf(“%d”,&x);/*输入一个数*/count++;/*每输入一个数,记一下数*/if(x>0)/

3、*判断输入数〉0否*/sum=sum+x;/*是〉0,则加到累加和中*/}while(count<100);/*未输入完100个数,则重复*/printf(“%d”,sum);/*输出累加和*/}准备工作算法步骤C语句概述C语言的五类语句1函数调用语句2表达式语句3空语句4复合语句5程序结构控制语句C语言的所有语句必须以分号;结束C语句概述1函数调用语句scanf(”%d%d”,&a,&b);printf("%d",x);2表达式语句x=3;i++;3空语句;C语句概述4复合语句{statemen

4、t1;statement2;……statementn;}5程序结构控制语句条件控制(第四章)循环控制(第五章)C程序的基本结构顺序结构选择结构循环结构C程序的基本结构顺序结构语句1;语句2;语句3;……..语句1;语句2;冯.若依曼机工作原理——顺序执行例3-4交换变量的值对两个变量先输入两个值,然后交换这两个变量的值。xtempy步骤:1x->temp例3-4交换变量的值例对两个变量先输入两个值,然后交换这两个变量的值。xtempy步骤:1x->temp2x<-y例3-4交换变量的值例对两个变量

5、先输入两个值,然后交换这两个变量的值。xtempy步骤:1x->temp2x<-y3temp->y例3-4交换变量的值例对两个变量先输入两个值,然后交换这两个变量的值。xtempy步骤:1x->temp2x<-y3temp->y例3-4交换变量的值对两个变量先输入两个值,然后交换这两个变量的值。main(){intx,y,temp;scanf(“%d%d”,&x,&y);temp=x;x=y;y=temp;printf(“first=%d,second=%d”,x,y);}C程序的基本结构顺序结构

6、选择结构语句1;语句2;条件?满足不满足条件满足不满足语句1语句2选择结构例输入变量x,计算y值。1当x>=0y=-1当x<0main(){intx,y;scanf(“%d”,&x);if(x>0)y=1;elsey=-1;printf(“x=%d,y=%d”,x,y);}x>0满足不满足y=1y=-1C程序的基本结构顺序结构选择结构循环结构不满足满足重复执行的语句;后一语句;条件?循环结构voidmain(){inti,max,x;i=9;scanf("%d",&x)max=x;while(i>

7、0){scanf(“%d”,&x);if(x>max)max=x;i--;}printf("maxnumberis%d",max);}重复步骤C程序的基本结构结构化程序设计基本要求:自顶向下,模块化设计;使用三种基本结构构造程序;程序书写规范,切勿随心所欲;清晰第一,效率第二。思路清晰书写清晰(变量名、函数名、注解等)书写使用阶梯形intmerge(inta1[],intn1,inta2[],intn2)/*把2个排好序的数组a1、a2归并到a2上*/{inti,j=0,k=0,b[10];if(

8、n2==0)for(;j0){for(i=0;ib[j]){a2[k]=b[j];j++;}else{a2[k]=a1[i];if(a1[i]==b[j])j++;i++;}k++;}if(i

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。