c语言课件第三章(颜辉)

上传人:tian****1990 文档编号:75744706 上传时间:2019-02-01 格式:PPT 页数:23 大小:336.31KB
返回 下载 相关 举报
c语言课件第三章(颜辉)_第1页
第1页 / 共23页
c语言课件第三章(颜辉)_第2页
第2页 / 共23页
c语言课件第三章(颜辉)_第3页
第3页 / 共23页
c语言课件第三章(颜辉)_第4页
第4页 / 共23页
c语言课件第三章(颜辉)_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《c语言课件第三章(颜辉)》由会员分享,可在线阅读,更多相关《c语言课件第三章(颜辉)(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 复合语句

3、 5 程序结构控制语句 语言的所有语句必须以分号 ; 结束,语句概述,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 ;,条

5、件?,满足,不满足,条件 满足 不满足,语句1 语句2,选择结构,例 输入变量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 程序的基本结构,结构化程序设计基本要求: 自顶向下,模块化设计; 使用三种基本结构构造程序; 程序书写规范,切勿随心所欲; 清晰第一,效率第二。 思

6、路清晰 书写清晰(变量名、函数名、注解等) 书写使用阶梯形,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备13022795号 | 川公网安备 51140202000112号