1. 1、本文档共53页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
清华大学 黄维通 设计制作 第3章 C语言程序基本控制结构及其应用 清华大学 黄维通 设计制作 3.4.1 while语句 语法: while (条件表达式) { 程序段 ; } 可以是复合语句,其中必须含有改变条件表达式值的语句 【例】用while循环求两个正整数的最小公倍数。 #include stdio.h void main() {int m,n,result; scanf(%d%d,m,n); result = mn? n : m; while(!(result%m==0result%n==0)) result++; printf(“result=%d\n,result); } 语法: do { 程序段; }while (条件表达式); 3.4.2 do–while语句 其中必须含有改变条件表达式值的语句 【例】使用do–while循环求两个正整数的最小公倍数。 #include stdio.h void main() {int m,n,result; scanf(%d%d,m,n); result=mn?m:n; result--; do{ result++; }while(result%m!=0||result%n!=0); printf(result=%d\n,result); } 语法: for(语句S1;条件表达式C;语句S2) { 程序段; } 3.4.3 for语句 循环前先求解 非0时执行循环体 每次执行完循环体后求解 【例】用for循环求12+22+32+42+…1002 #include stdio.h void main( ) {int k; long result=0; for(k=1;k=100;k++) result+=k*k; printf(result=%ld\n,result); } 用int,会出现什么问题? #include “stdio.h” main() {int i; for (i=0;i8;i++) printf ( “%d,”,++i); printf ( “%d,”,i++); } 输出结果? 1,3,5,7,8, for 语句注意事项 表达式1可以省略 如 for( ;i=10;i++) s=s+i; 2.表达式2一般不能省略,否则 无法使循环停止 3.表达式3也可以省略,但对于 for(i=1;i=100;i++) 如果i++省略,则循环体内一定有i++,否则循环无法结束 * 第3章 C语言程序基本控制结构及其应用 本章主要内容 算法及结构化程序设计 顺序结构程序设计 分支结构程序设计 循环结构程序设计 结构化程序应用举例 3.1 算法及结构化程序设计 3.1.1 算法及其特征 软件开发步入工程化阶段 大型软件开发一般要经历“规划”、“需求分析”、“设计”、“编码”、“测试”和“运行维护”等阶段 正确的“需求分析”对程序设计是至关重要的 “编码”是对需求的实现。在“编码”过程中,算法很重要,良好的算法决定了程序的质量和性能 软件的开发不仅需要处理大量的关系复杂的数据,这些数据通常都具有一定的结构性。因此,软件设计的实质就是设计合适的数据结构和基于这个数据结构的算法。于是N.沃恩提出了著名公式: 程序 = 数据结构 + 算法 程序设计=程序+程序设计方法学 模块化 将复杂的算法(或程序)分解成若干个相对独立、功能单一的模块,利用这些模块组合成全局算法(或)程序。 自顶向下结构设计方法 从总体出发,居高临下,逐层分解和逐步细化。 结构化程序设计方法: 逐步求精结构设计方法 实质上也是一种自顶向下的设计方法。 首先抛开细节设计出抽象算法,然后把抽象数据和操作逐步具体化,直到可以由计算机具体实现为止。 算法特征: 有穷性:合理算法应在执行有限步后结束 如:N!=1*2*3*…*(N-1)*N 而式子:sum=1+2+3+…+N+… 不能称为算法,因为它执行有限步后仍不能结束 确定性:算法的每一步执行,其顺序和内容都必须有确切的规定,不能模棱两可 可执行性:即算法的所有操作都是能通过计算机程序代码实现,即可操作性 0个或多个输入;1个或多个输出 【例】求 解一元二次方程的算法 方程a*x*x+b*x+c=0,其中a、b和c是不等于0的实数。具体参考步骤如下: p=b*b–4*a*c p≥0? 计算实根 计算复根 输出 Y N 结构化算法的属性: 1.仅有一个入口 2.仅有一个出口 3.无死块 4.无死循环块

文档评论(0)

考试教学资料 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档