资源预览内容
第1页 / 共57页
第2页 / 共57页
第3页 / 共57页
第4页 / 共57页
第5页 / 共57页
第6页 / 共57页
第7页 / 共57页
第8页 / 共57页
第9页 / 共57页
第10页 / 共57页
亲,该文档总共57页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第五章 循环结构 程序设计第一部分 循环语句的实现砰 篮 毯 预 泽 讶 差 裸 魂 辽 慢 尊 盔 油 尾 喷 缺 床 纸 绪 眨 汝 韦 姿 娱 帚 鬼 刚 弦 雨 旧 讳 循 环 语 句 及 应 用 循 环 语 句 及 应 用 累加和累乘 利用循环结构可以在程序中实现累加 和累乘。累加和累乘是程序设计最常用 的基本问题:统计人数、统计总分、求 平均分等。 其基本思想是:利用变量赋值语句,不 断改变变量中的值。 累加:k=k+1, sum=sum+k, 累乘:k=1;mult=1; mult=mult*k; k=k+1;第五章 循环结构程序设计循 环循环降 戎 祖 剂 困 邵 毒 仲 镍 盈 缮 赫 能 侣 划 糖 稼 亥 轰 信 藻 爽 被 庙 戎 左 厌 甚 枝 猜 见 埠 循 环 语 句 及 应 用 循 环 语 句 及 应 用 用 goto语句和 if语句实现循环 goto语句的一般形式: 第五章 循环结构程序设计goto 语句标号(标识符)聂 态 练 纷 祟 澳 任 反 婴 鲤 东 掇 赔 鸭 豫 驾 赂 铬 籍 匙 约 缠 花 硅 嚎 延 麦 疗 庭 清 旷 受 循 环 语 句 及 应 用 循 环 语 句 及 应 用 #include main( ) int n,sum=0; n=1; loop: if(n main() int count=0,num,total=0; while(count main( ) unsigned int number; printf(“Input the number:“); scanf(“%d“, do printf(“%d“,number%10);/* 输出最低位数 字 */ number /=10; /* 甩掉原来的最 低位数字 */ while(number !=0); printf(“n“); 例3:输入一个正整数,要求以相反的顺序输出该数。幼 餐 脯 芒 虑 包 样 粥 适 奖 慧 却 函 恰 体 棺 蛾 锦 跌 誉 吮 却 慑 言 商 恍 程 坦 竹 抚 磐 荤 循 环 语 句 及 应 用 循 环 语 句 及 应 用从初值到终值A 1.循环结构:计数型循环 2.C语言表达式注:循环体中若有多个语句,则需用复合语句。for(表达式1; 表达式2; 表达式3)语句初值终值增量循环体酶 蔽 鳞 舰 还 融 逞 依 立 贤 拓 肝 冕 摸 小 菊 诸 经 外 纶 壬 赊 翔 寂 侄 傀 扭 栗 闭 足 戳 富 循 环 语 句 及 应 用 循 环 语 句 及 应 用 1) 先求表达式1 2)求表达式2,若为非 0, 执行循环体;否则出 循环 3)执行循环体后求 解表达式3 4)转2)3. 执行过程表达式1表达式3语句表达式 20非0度 笑 颧 其 帕 毛 扒 怯 迹 抗 羚 免 波 蘸 填 碌 域 贝 蚤 照 宰 昼 字 赫 秽 窝 常 记 斋 紫 祷 奏 循 环 语 句 及 应 用 循 环 语 句 及 应 用 #include main( ) int t=1,n,j=2; scanf(“%d”, for(;j main( ) char c; for(;(c=getchar()!=n;)printf(“%c”,c); 输入:Computer 输出:Computer 例5. 输出键盘输入的字符鸳 筛 朵 清 撇 医 终 虽 精 敝 嚷 傍 捞 吵 蹄 煤 噶 弯 揣 垢 蛇 谅 丢 胀 一 竣 驾 试 蹭 砚 扰 瘪 循 环 语 句 及 应 用 循 环 语 句 及 应 用 例6:求解2的n(09)次幂。其中,for循环 体又套了一个for语句。多重循环掂 祭 装 即 炙 味 角 饮 品 零 聚 福 比 瘴 郡 铺 遍 郡 考 狸 跟 辟 揖 臃 庶 博 蚊 紫 陆 蛔 癸 绪 循 环 语 句 及 应 用 循 环 语 句 及 应 用 #include /* cenfang.c */ main() int m,k,c,i; for(m=2,k=0;k main() int m,k,c,i; for(m=2,k=0;kk)printf(“%d is a prime numbern”,n); 例7 求100200中的素数注意: break和continue不同用法 飞 债 干 铃 噪 拢 弥 杠 铝 扭 娃 贬 逼 旷 贤 匠 组 导 河 霸 暑 家 黍 焙 汉 拷 宴 桃 糠 搭 庇 账 循 环 语 句 及 应 用 循 环 语 句 及 应 用例8阅读程序,写出程序的输 出结果#include main() int x=1,j=1;for(;x10) break;if(x2!=0) x+=3;continue;x-=1;printf(“x=%d,j=%dn“,x,j); X=12,j=10衰 陷 回 械 膀 蜀 追 痉 膝 孰 韦 缘 秒 抬 惧 潘 骨 贺 帐 勺 弹 淤 后 浑 兜 唱 丰 攒 抵 断 益 押 循 环 语 句 及 应 用 循 环 语 句 及 应 用 算法概念 做任何事情都有一定的步骤。为解决一 个问题而采取的方法和步骤,称为算法 (Algorithm)第二部分 程序设计应用的常用算法踊 弓 久 扔 愁 抉 湘 烫 衙 抓 铲 答 戚 喉 先 淋 歉 意 粳 个 驳 梁 颂 瘸 坑 髓 机 甥 赌 卿 挫 芜 循 环 语 句 及 应 用 循 环 语 句 及 应 用一、递推法利用前项和后项的相互关系求新项的过程称为“递推”。夸 挥 樱 炽 定 醉 鸟 订 哀 练 瓦 桔 若 毗 盼 泄 麻 寅 法 济 慢 浅 株 两 赶 摔 狙 真 哭 政 锚 多 循 环 语 句 及 应 用 循 环 语 句 及 应 用 分析: 初始条件: F1=1n=1 F2=1n=2 递推条件: Fn=Fn-1+Fn-2 n3 例1 求Fibonacci数列, 1,1,2,3,5,8,13的前40个数。f1=1,f2=1for k=1,to 20输出f1,f2f1=f1+f2f2=f2+f1流程图 :利用前项和后项的相互关系求新项的过程称为“递推”。诲 梨 状 赠 桅 湘 伯 暑 练 膝 翔 峪 循 且 到 勇 绪 远 裤 件 氰 壕 统 硕 转 品 辑 友 淹 责 赡 纤 循 环 语 句 及 应 用 循 环 语 句 及 应 用 #include main( ) long int f1,f2; int k; f1=1;f2=1; for(k=1;k/* li5_2.c */ main() int k,m; float x,s,t; printf(“input m scanf(“df“, s=0; t=1; for(k=1;k main() int x,y,z; for (x=1;x main( ) int m,n,t,r; scanf(“ %d,%d”, if(mmax?F Tscoremaxnumbermaxnum输出maxnum,max揣 吼 坯 汁 削 尹 拱 墟 乍 哗 男 窟 祝 拨 躬 巍 占 棚 虎 曳 卿 饭 肠 坝 蚤 祭 竭 口 速 蜒 阴 葬 循 环 语 句 及 应 用 循 环 语 句 及 应 用五、数值计算1、用牛顿迭代法解高次方程的 根条件: 设函数在某一区间内为单调函 数,而且有一个实根。瘤 伴 乡 私 豢 三 募 校 瘦 摄 呆 晦 源 土 灭 客 快 事 茶 畴 巾 闺 驭 味 叙 嘲 譬 诱 擅 易 傲 猩 循 环 语 句 及 应 用 循 环 语 句 及 应 用1、用牛顿迭代法解高次方程 的根方法: (1) 选一个接近x的真 实根x1 (2)由x1求出f(x1) (3)在f(x1)点作f(x) 的 切线,交x轴于x2(4)通过x2求f(x2) (5)再过f(x2)点作f(x) 的切线,交x轴于x3(6)一直求下去,当两次求出的根之差小于给定的数时,就 认为Xn+1足够接近真实的根。窄 卿 伤 瞩 起 烤 饰 宛 列 呸 蔚 越 摘 题 有 淆 办 议 娄 敲 也 茹 讨 援 龋 笛 挟 输 讣 嫌 秃 哎 循 环 语 句 及 应 用 循 环 语 句 及 应 用牛顿迭代公式牛顿迭代公式 由牛顿迭代公式可以不断地求出x1,x2.,xn 。实际设计时,只需用两个变量x1和x通过循 环不断求出新的数据即x2,x3,x4.,xn才 火 升 颗 员 现 却 锹 纷 瞅 竞 厄 淡 虐 骇 少 氛 删 害 能 社 溶 惊 储 躺 蒋 樊 穗 干 滔 炼 达 循 环 语 句 及 应 用 循 环 语 句 及 应 用 X代表初始值,x1代表新求出的值,f代表 ,f1代表例6用牛顿迭代法求下列方程 的根挪 喀 坪 抄 菜 观 视 模 庇 嘛 涛 坤 玉 筹 舰 非 砷 幢 胎 律 降 虫 驭 滇 葬 迈 渭 处 瘟 枫 犯 膝 循 环 语 句 及 应 用 循 环 语 句 及 应 用 #inlcude/* newton4.c */ #include main() float x1,x,f,f1; scanf(“%f“, do x1=x; f=2.0*x*x*x-4.0*x*x+3*x-6; f1=6.0*x*x-8.0*x+3; x=x1-f/f1; while(fabs(x-x1)=1e-5); printf(”2x3-4x2+3x-6=0,Its root is%fn“,x); 喉 尊 量 箭 常 眯 窟 搭 腿 赞 萍 衫 丧 烂 溢 酣 隶 锚 捕 关 就 焰 馅 湿 孤 卒 江 铭 掇 号 扎 纯 循 环 语 句 及 应 用 循 环 语 句 及 应 用2.用二分法求高次方程的根 条件: 设函数在某一区 间内为单调函数 ,而且有一个实 根。若f(x1)f(x2)eps) x=(x1+x2)/2; f0=2.0*x*x*x-4.0*x*x+3*x-6; if(f1*f0 #include main() double x,d; scanf(“%lf”, 1 ); dod=(x*(x(2*x-4)+3)-6)/(6*x*x-8*x+3); x= 2 ; while( 3 1e-6); printf(“%10.4lf”,x);习题(1) (1) ok=1;j=2;scanf(“%d”, n=sqrt(f); while(ok else ok=(4); if(ok)printf(5); else printf(“no”);2.判f是否素数.是,输出yes;否则输 出no(5)“yes”(4)0(2)j=n(3)j+1(1) int ok;嘻 迭 亿 俞 登 政 驳 彰 尾 床 颁 占 十 冕 收 峦 伤 坪 否 吭 敝 被 拎 准 腻 陌 嗅 芝 帮 间 创 必 循 环 语 句 及 应 用 循 环 语 句 及 应 用 P120 6.8,6.9,6.14编程题炙 举 赊 恩 兄 渡 诉 引 恫 拂 被 戍 靡 郝 胚 令 潘 箭 寄 署 瀑 痉 叛 韭 拙 气 矮 凄 锨 船 漓 井 循 环 语 句 及 应 用 循 环 语 句 及 应 用
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号