首页 计算机知识

计算机知识

举报
开通vip

计算机知识null第六章 第六章 null§6.1 概述 前面已介绍了顺序结构,选择结构,本章介绍循环结构。如: sum=1+2+3+…+100;实际问题: 一组重复执行的语句。则用循环结构解决。nullC语言用四种形式循环2. while 语句3. do …while 语句4. for语句1.if语句与goto语句null§6.2 while语句1. 形式: while (表达式)语句2. 执行过程: 先判断表达式的值。若0.则执行其后面的语句,否则while执行完毕。专门的当型循环语句––wh...

计算机知识
null第六章 第六章 null§6.1 概述 前面已介绍了顺序结构,选择结构,本章介绍循环结构。如: sum=1+2+3+…+100;实际问 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 : 一组重复执行的语句。则用循环结构解决。nullC语言用四种形式循环2. while 语句3. do …while 语句4. for语句1.if语句与goto语句null§6.2 while语句1. 形式: while ( 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 达式)语句2. 执行过程: 先判断表达式的值。若0.则执行其后面的语句,否则while执行完毕。专门的当型循环语句––while语句null3. 流程 快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计 图:null 语句中应有使表达式=0的语句。 否则会出现无限循环–––"死"循环。注:  while后面的语句一般为复合语句, 即:加{ }null§6.3 do …while语句 一种专门的“ 直到型” 循环语句。2. 执行过程: 先执行语句,再判表达式的值,若0,再执行语句,否则结束循环3. 流程:1. 形式: do语句while(表达式);null void main ( ) { int i, sum=0; i=1; do {sum=sum+i; i++; } while (i<=100); printf("%d",sum); }程序如下:null while语句与do…while语句的区别: 当第一次执行时,若表达式=0时,则while语句与do while有所不同,do while 执行一次后面的语句,而while不执行。书上P69页例题。null§6.4 for语句1. 形式 首先计算表达式1,接着执行表达式2,若表达式2的值0,则执行语句,接着计算表达式3,再判断表达式2的值.依此重复下去,直到表达式2的值=0(假)。2.执行过程for(表达式1; 表达式2; 表达式3) 语句null3. 流程:计算表达式1求表达式2值语句计算表达式3结束for语句=0(假)0(真)null用for语句写出上述例子for用while代替的流程 表达式1; while(表达式2) { 语句 表达式3; }for ( i=1; i<=100; i++) sum+=i;for语句完全可以用while代替,但for直观、简单、方便null4. for语句的几种特例例: 任意输入两个整数a, b,求void main ( ) { int i, j, a, b, sum; printf ("please input two number!\n") scanf ("a=%d, b=%d", &a, &b); i=a; j=b; 可以省略表达式1, 但须保留分号;这时在for之前就得赋值给循环变量。nullif (a>b) {i=b; j=a;} for (; i<=j; i++) sum=sum+i; printf (" \n sum=%d", sum); } null 表达式2一般不可省略,否则为无限循环相当于: while (1) { sum=sum+i; i++; }例: for (i=1; ; i++) sum=sum+i;相当于条件永真、永不为0,若用while表示null 表达式3亦可省略,但在循环体中须有语句修改循环变量;以使表达式2在某一时刻为0而正常结束循环。例: for (sum=0,i=1;i<=100;) { sum=sum+i; i++; }null 若同时省略表达式1,表达式3,则相当于while(表达式2)语句。相当于 while (i<=100) {sum+=i; i++; }例: for (; i<=100;) {sum+=i; i++;}null 三个表达式均省略 即for(;;)语句则相当于while(1)语句.表达式1、表达式3可以是逗号表达式, 可以对其它变量赋值。如 for (sum=0, i=1; i<=100; i++, i++)  sum=0; for (i=1; i<=100; i=i+2)null 表达式2可以是关系表达式,也可以是数值表达式或字符表达式。只要值0.即执行循环体.例: for (i=0; (c=getchar( ))!='\n'; i+=c);null§6.5 循环的嵌套 与其它语言一样,当循环体中又包含了另一个完整的循环语句时–––嵌套。C有三种循环语句,均可以相互嵌套: while ( ) {… while ( ) …{ } }nullfor (; ;) {… while ( ) { } do { } while ( ); … }null均为正确的嵌套,while ( ) { … while ( ) { }… }for (; ; ) { for (; ; ) {… } } 但要注意语句的包含关系。null§6.6 几种循环的比较1. 对于同一问题, 四种循环可相互替代。但不提倡用goto.2. for循环功能强于while, do…while.但若不是明显地给出循环变量初终值(或修改条件),则应用while 或do …while.以增强程序的结构化和可读性。null3. 要防止无限循环––死循环。4. 循环过程中,为了结束本次循环或跳出整个循环。分别要用到continue和break语句。null§6.7 break语句和contiune语句 问题: 计算圆的面积r2, 半径取1, 2, …10,当面积>100时结束。for(r=1; r<=10; r++) { area=pirr; if (area>100) break; } printf ("%f", area);6.7.1 break语句null 从结构化程序要求出发,用break,退出循环,进入for语句的下一条语句。 注: break只能用于循环语句和switch语句。null6.7.2 continuce语句 void main( ) { int n; for (n=100; n<200; n++) if (n%3!=0) printf("%d", n); }问题: 编写程序,打印100~200中不能被3整除的数。null换一种方式: void main ( ) { int n; for (n=100; n<=200; n++) {if (n%3= =0) continue; printf ("%d", n); } }continue语句起了结束本次循环的作用。null§6.8 程序举例例1: 求Fibonacci数例: 1, 1, 2, 3, 5, 8, …前40个数。规律: F1=1, F2=1 Fn=Fn – 1 + Fn – 2 (n>2)null程序要点: 每输出4个数时换行。 f1=f1+f2; f2=f1+f2; 交替的结果正好为一序列null程序如下: void main ( ) { long int f1, f2; int i; f1=1; f2=1; for (i=1; i<=20; i++) { printf(%12ld %12ld ", f1, f2);null if (i%2= =0) printf("\n "); f1=f1+f2; f2=f2+f1; } }图5.13null运行结果为:1 5 34 233 1597 10946 75025 514229 3524578 241578171 8 55 377 2584 17711 1211393 832040 5702887 390881692 13 89 610 4181 28657 196418 1346269 9227465 632459863 21 144 987 6765 46368 317811 2178309 14930352 102334155null 判一个数m是否为素数的方法: 每打印10个数,换一次行。当用2, 3, …的整数去除它时均不能除尽, 则为素数。程序如下:例2. 求100~200的素数.null#include #include void main ( ) { int m, k, i, n=0; for (m=101; m<=200; m=m+2) { if ( n%10= =0) printf("\n"); k=sqrt(m); for (i=2; i<=k;i++) if (m%i= =0) break; if (i>=k+1) {printf("%d ",m); n=n+1;} } }null 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199运行结果如下:
本文档为【计算机知识】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_419593
暂无简介~
格式:ppt
大小:311KB
软件:PowerPoint
页数:0
分类:
上传时间:2009-03-16
浏览量:13