浙江大学C颜晖原版课件C3.ppt

上传人:peixunshi 文档编号:13420986 上传时间:2021-12-25 格式:PPT 页数:23 大小:143.50KB
返回 下载 相关 举报
浙江大学C颜晖原版课件C3.ppt_第1页
第1页 / 共23页
浙江大学C颜晖原版课件C3.ppt_第2页
第2页 / 共23页
浙江大学C颜晖原版课件C3.ppt_第3页
第3页 / 共23页
浙江大学C颜晖原版课件C3.ppt_第4页
第4页 / 共23页
浙江大学C颜晖原版课件C3.ppt_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《浙江大学C颜晖原版课件C3.ppt》由会员分享,可在线阅读,更多相关《浙江大学C颜晖原版课件C3.ppt(23页珍藏版)》请在三一文库上搜索。

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

2、数,该数0,累加,输入完100个数,输出累加和,结束,起止框,处理框,判断框,流向线,Y,Y,N,N,例3-1 算法描述(N-S流程图),处理,判断,重复,算法的C语句实现,void main( ) int x; /* 存放输入数的单元 */ int count; /* 存放输入个数的单元 */ int sum; /* 存放累加和的单元 */ count = 0; sum = 0; /* 工作单元初值 */ do scanf (“%d” , /* 输出累加和 */,准备工作,算法步骤,语句概述,语言的五类语句1 函数调用语句2 表达式语句3 空语句 4 复合语句5 程序结构控制语句 语言的所有

3、语句必须以分号 ; 结束,语句概述,1 函数调用语句scanf( ”%d%d”, ,语句概述,4复合语句 statement 1; statement 2; statement n;,5 程序结构控制语句条件控制(第四章)循环控制(第五章),C 程序的基本结构,顺序结构 选择结构 循环结构,C 程序的基本结构,顺序结构 语句1 ; 语句2 ; 语句3 ; .,语句1;,语句2;,冯.若依曼机工作原理 顺序执行,例34 交换变量的值,对两个变量先输入两个值,然后交换这两个变量的值。x temp y步骤: 1 x - temp,例34 交换变量的值,例 对两个变量先输入两个值,然后交换这两个变量的

4、值。x temp y步骤: 1 x - temp 2 x - y,例34 交换变量的值,例 对两个变量先输入两个值,然后交换这两个变量的值。x temp y步骤: 1 x - temp 2 x y,例34 交换变量的值,例 对两个变量先输入两个值,然后交换这两个变量的值。x temp y步骤: 1 x - temp 2 x y,例34 交换变量的值,对两个变量先输入两个值,然后交换这两个变量的值。main() int x, y, temp; scanf(“%d%d”, ,C 程序的基本结构,顺序结构选择结构,语句1 ;,语句2 ;,条件?,满足,不满足,条件满足不满足,语句1 语句2,选择结构

5、,例 输入变量x,计算y值。 1 当 x=0 y = -1 当 x0) y = 1; else y = -1; printf(“x=%d, y=%d”, x, y);,C 程序的基本结构,顺序结构选择结构循环结构 不满足 满足,重复执行的语句;,后一语句;,条件?,循环结构,void main( )int i, max, x;i=9;scanf(%d, ,重复步骤,C 程序的基本结构,结构化程序设计基本要求:自顶向下,模块化设计;使用三种基本结构构造程序;程序书写规范,切勿随心所欲; 清晰第一,效率第二。思路清晰书写清晰(变量名、函数名、注解等)书写使用阶梯形,int merge(int a1 , int n1, int a2 , int n2) /* 把2个排好序的数组a1、a2归并到a2上 */ int i,j=0,k=0, b10; if (n2=0) for ( ; j0) for (i=0; ibj) a2k=bj; j+; else a2k=a1i; if (a1i=bj) j+; i+; k+; if ( in1 ) for ( ; in1; i+,k+) a2k=a1i; if ( jn2 ) for ( ; jn2; j+,k+) a2k=bj; return(k); ,(请注意书写格式),

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1